STDBUF(1) |
FreeBSD General Commands Manual |
STDBUF(1) |
名称
stdbuf —
標準ストリームの最初バッファを変更する
書式
stdbuf |
[ -e bufdef][ -i bufdef][ -o bufdef][ command [ ...]] |
解説
stdbuf は、
command のための標準入力、標準出力および/または標準エラーのストリームの最初のバッファを変更するために使用されます。それは、環境変数を通して
stdbuf によってロードされ、設定される
libstdbuf(3) に依存します。
オプションは、次の通りです:
-
-e
bufdef
-
bufdef によって定義される
command のための標準エラーのストリームの最初のバッファを設定します (
「バッファ定義」参照)。
-
-i
bufdef
-
bufdef によって定義される
command のための標準入力のストリームの最初のバッファを設定します (
「バッファ定義」参照)。
-
-o
bufdef
-
bufdef によって定義される
command のための標準出力のストリームの最初のバッファを設定します (
「バッファ定義」参照)。
バッファ定義
バッファ定義は、次の
libstdbuf(3) と同じです:
-
“0”
-
バッファリングされません
-
“L”
-
行単位のバッファリング
-
“B”
-
デフォルトのバッファのサイズで完全にバッファリングされます
-
size
-
size バイト (接尾辞 'k', 'M' and 'G' が受け付けられます) のバッファで完全にバッファリングされます
使用例
次の例で、
awk(1) コマンドの stdout ストリームは、端末を参照しないので、デフォルトで完全にバッファリングされます。
stdbuf は、行単位でバッファリングされるように強制して使用されるので、
vmstat(8) の出力は、十分にバッファが満たされないなら、ストールしません。
# vmstat 1 | stdbuf -o L awk '$2 > 1 || $3 > 1' | cat -n
歴史
stdbuf ユーティリティは、
FreeBSD 8.4 ではじめて登場しました。
作者
stdbuf コマンドのオリジナルの考えは、GNU coreutils で、それを実装した
Padraig Brady に由来します。
Jeremie Le Hen は、
FreeBSD でそれを実装しました。