STDBUF(1)

名称
stdbuf - 运行给定的命令，同时改变该命令对应标准输入输出流的缓冲操作配置。

概述
stdbuf 选项... 命令

描述

运行给定的命令，同时改变该命令对应标准输入输出流的缓冲操作配置。

必选参数对长短选项同时适用。

-i, --input=模式
    调整标准输入流缓冲区

-o, --output=模式
    调整标准输出流缓冲区

-e, --error=模式
    调整标准错误流缓冲区

--help
    显示此帮助信息并退出

--version
    显示版本信息并退出

若模式是 "L"，则相应的流将是行缓冲模式。标准输入流下此选项无效。

若模式是 "0"，则相应的流将不缓冲。

否则模式应当是一个数字，后面可以加上以下单位之一：KB 1000、K 1024、MB 1000*1000、M 1024*1024，G、T、P、E、Z、Y 以此类推。也可以使用二进制前缀：KiB=K、MiB=M，以此类推。在此情况下，相应的流将使用完全缓冲模式，缓冲区大小为指定模式个字节。

注意：若指定的命令调整了其自身的标准流缓冲区（例如 tee 命令），则此操作会覆盖由 "stdbuf" 工具所做出的相应设置。还有某些过滤器程序（如 "dd" 和 "cat" 之类）不使用输入输出流，因此不受 "stdbuf" 设置的影响。

范例
tail -f access.log | stdbuf -oL cut -d ' ' -f1 | uniq
这样会立刻显示 access.log 中独特的条目。

BUGS
在基于 GLIBC 的平台上，指定缓冲大小（即使用全缓冲模式）通常会导致未定义的操作。

作者
由 Padraig Brady 编写。

报告错误
GNU coreutils 的在线帮助： <https://www.gnu.org/software/coreutils/>
请向 <https://translationproject.org/team/zh_CN.html> 报告翻译错误。

版权
Copyright © 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
本软件是自由软件：您可以自由修改和重新发布它。在法律允许的范围内，不提供任何保证。

参见
完整文档请见： <https://www.gnu.org/software/coreutils/stdbuf>
或者在本地使用： info '(coreutils) stdbuf invocation'