stdbuf

v0.0.26
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.