stdbuf
stdbuf [OPTION]... COMMAND
Run COMMAND
, with modified buffering operations for its standard streams.
Mandatory arguments to long options are mandatory for short options too.
Options
--input=<MODE>
,-i <MODE>
-
adjust standard input stream buffering
--output=<MODE>
,-o <MODE>
-
adjust standard output stream buffering
--error=<MODE>
,-e <MODE>
-
adjust standard error stream buffering
If MODE
is 'L' the corresponding stream will be line buffered.
This option is invalid with standard input.
If MODE
is '0' the corresponding stream will be unbuffered.
Otherwise, MODE
is a number which may be followed by one of the following:
KB 1000, K 1024, MB 10001000, M 10241024, and so on for G, T, P, E, Z, Y.
In this case the corresponding stream will be fully buffered with the buffer size set to MODE
bytes.
NOTE: If COMMAND
adjusts the buffering of its standard streams (tee
does for e.g.) then that will override corresponding settings changed by stdbuf
.
Also some filters (like dd
and cat
etc.) don't use streams for I/O, and are thus unaffected by stdbuf
settings.
Examples
Change stdin
buffer size to 512 KiB:
stdbuf --input=512K {{command}}
Change stdout
buffer to line-buffered:
stdbuf --output=L {{command}}
Change stderr
buffer to unbuffered:
stdbuf --error=0 {{command}}
The examples are provided by the tldr-pages project under the CC BY 4.0 License.
Please note that, as uutils is a work in progress, some examples might fail.