【busybox记录】【shell指令】stdbuf
目录
内容来源:
【GUN】【stdbuf】指令介绍
【busybox】【stdbuf】指令介绍
【linux】【stdbuf】指令介绍
使用示例:
常用组合指令:
指令不常用/组合用法还需继续挖掘:
内容来源:
GUN : Coreutils - GNU core utilities
busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客
【GUN】【stdbuf】指令介绍
stdbuf: 运行修改I/O流缓冲的命令
stdbuf 允许修改与程序相关的三个标准I/O流的缓冲操作。
简介:
stdbuf option... command
命令必须以程序的名称开头
1. 使用ISO C文件流进行输入/输出,并且
2. 不调整其标准流的缓冲。
并不是每个命令都以这种方式操作。例如,dd不使用FILE流,tee调整其流的缓冲。
任何附加参数都作为附加参数传递给命令。
程序接受以下选项。请参见第2章[常用选项],第2页。
‘-i mode’
‘--input=mode’
调整标准输入流缓冲。
‘-o mode’
‘--output=mode’
调整标准输出流缓冲。
‘-e mode’
‘--error=mode’
调整标准错误流缓冲。
模式可设置如下:
‘L’ 将流设置为行缓冲模式。
在这种模式下,数据被合并,直到输出换行符或从连接到终端设备的任何流中读取输入。
该选项对于标准输入无效。
‘0’ 禁用所选流的缓冲。
在这种模式下,数据立即输出,只从输入中读取请求的数据量。
禁用输入缓冲并不一定会影响流输入函数的响应性或阻塞行为。
例如,即使底层读取返回的数据少于请求的数据,读取仍然会阻塞,直到EOF或错误或请求的读取量被读取。
‘size’ 指定在全缓冲模式下使用的缓冲区大小。
size可以是,也可以是一个可选的整数,后跟下列相乘后缀之一:
' KB ' => 1000(千字节)
' K ' => 1024 (KibiBytes)
' MB ' => 1000*1000 (MB)
' M ' => 1024*1024 (MebiBytes)
' GB ' => 1000*1000*1000 (GB)
' G ' => 1024*1024*1024 (GibiBytes)
等等' T ', ' P ', ' E ', ' Z ', ' Y ',‘R’,‘Q’。二进制前缀也可以使用:
' KiB ' = ' K ', ' MiB ' = ' M ',以此类推。
stdbuf仅安装在使用可执行和可链接格式(Executable and Linkable Format, ELF)并支持构造函数属性的平台上,因此可移植脚本不应该依赖于它的存在。
退出状态:
125 如果stdbuf本身失败
126 如果找到命令但无法调用
127 如果找不到命令
命令的退出状态
【busybox】【stdbuf】指令介绍
NA
【linux】【stdbuf】指令介绍
[root@localhost bin]# stdbuf --help
用法:stdbuf [选项]... 命令
运行给定的命令,同时改变该命令对应标准输入输出流的缓冲操作配置。
必选参数对长短选项同时适用。
-i, --input=MODE 调整标准输入流缓冲区
-o, --output=MODE 调整标准输出流缓冲区
-e, --error=MODE 调整标准错误流缓冲区
--help 显示此帮助信息并退出
--version 显示版本信息并退出
若 MODE 是 "L",则相应的流将是行缓冲模式。
标准输入流下此选项无效。
若 MODE 是 "0",则相应的流将不缓冲。
否则 MODE 就应该是以下数字单位中的一个:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,以及 G、T、P、E、Z、Y。
在此情况下,相应的流将缓冲由 MODE 指定大小的缓冲字节。
注意:若指定的命令调整了其自身的标准流缓冲区(例如 tee 命令),
则此操作会覆盖由 "stdbuf" 工具所做出的相应设置。
还有某些过滤器程序(如 "dd" 和 "cat" 之类)不使用输入输出流,
因此不受 "stdbuf" 设置的影响。
GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 stdbuf 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/stdbuf>
或者在本地使用:info '(coreutils) stdbuf invocation'
使用示例:
NA
常用组合指令:
NA
指令不常用/组合用法还需继续挖掘:
NA