STDBUF(1)
๐ STDBUF(1) โ like, the manual page but make it slay ๐
okay bestie, gather round, because this one is genuinely iconic. it's stdbuf, a User Command, and it's about to fix your buffering problems. yes, buffering. stay with me. ๐ฆ
โจ NAME โจ
stdbuf โ run COMMAND, with modified buffering operations for its standard streams. no cap, that's the whole gig. ๐
๐ธ SYNOPSIS ๐ธ
stdbuf OPTION... COMMAND
๐ DESCRIPTION ๐
so basically: you run COMMAND, except its standard streams get their buffering ops modified. that's it. that's the tea. โ
mandatory arguments to long options are mandatory for short options too โ yeah, the rules apply both ways, fr fr.
-i,--input=MODEโ adjust standard input stream buffering ๐ซถ-o,--output=MODEโ adjust standard output stream buffering โจ-e,--error=MODEโ adjust standard error stream buffering ๐ญ--helpโ display this help and exit. short king behavior. ๐--versionโ output version information and exit. ๐ซ
๐ what even is MODE ๐
okay this is the part everyone skips and then gets confused, so like, don't skip it bestie.
- if MODE is
'L', the corresponding stream will be line buffered. ๐ง but โ and this is important โ this option is invalid with standard input. not allowed. don't try it. - if MODE is
'0', the corresponding stream will be unbuffered. zero thoughts, just output. ๐ - otherwise, MODE is a number, and it may be followed by one of these little suffix cuties:
KB= 1000K= 1024MB= 1000*1000M= 1024*1024- and so on for
G,T,P,E,Z,Y,R,Q.
binary prefixes can be used too: KiB=K, MiB=M, and so on. ๐ 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 (teedoes, for example) then that will override corresponding changes bystdbuf. also some filters (likeddandcatetc.) don't use streams for I/O, and are thus unaffected bystdbufsettings. so if it's not working, it might lowkey be their fault, not yours. ๐
๐ซถ Exit status: ๐ซถ
125โ if thestdbufcommand itself fails ๐ญ126โ if COMMAND is found but cannot be invoked ๐127โ if COMMAND cannot be found ๐ต๏ธ-โ the exit status of COMMAND otherwise โจ
๐ EXAMPLES ๐
tail -f access.log | stdbuf -oL cut -d ' ' -f1 | uniq
this will immediately display unique entries from access.log. iconic pipeline behavior, honestly. this is the one you came here for. ๐ฅ
๐ BUGS ๐
on GLIBC platforms, specifying a buffer size โ i.e., using fully buffered mode โ will result in undefined operation. not "maybe weird", not "probably fine". undefined. so like, be careful bestie, that's genuinely not a vibe. ๐ญ
๐ธ AUTHOR ๐ธ
written by Padraig Brady. king behavior. ๐
๐ REPORTING BUGS ๐
- report bugs to:
<bug-coreutils@gnu.org>๐ฎ - report any translation bugs to:
<https://translationproject.org/team/>๐ - GNU coreutils home page:
<https://www.gnu.org/software/coreutils/>๐ - general help using GNU software:
<https://www.gnu.org/gethelp/>๐
๐ COPYRIGHT ๐
copyright ยฉ 2026 Free Software Foundation, Inc. license GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
this is free software: you are free to change and redistribute it. there is NO WARRANTY, to the extent permitted by law. (yes the all-caps is theirs, it's giving legal drama and honestly? deserved.) ๐
๐ฆ SEE ALSO ๐ฆ
- full documentation
<https://www.gnu.org/software/coreutils/stdbuf> - or available locally via:
info '(coreutils) stdbuf invocation'๐
so yeah, that's the whole page. this is <strong>GNU coreutils 9.12</strong>, dated <strong>September 2026</strong> โ the era-defining release, if you will. go forth and unbuffer your streams, bestie. you ate. periodt. ๐โจ๐
๐ฆ where this page comes from
- arch rolling: coreutils 9.12-2 ยท GPL-3.0-or-later AND GFDL-1.3-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms