本文共 634 字,大约阅读时间需要 2 分钟。
字符设备是显示字符到屏幕上的设备文件。标准输入(stdin)编号为0,常见设备包括键盘、鼠标、打字机等。标准输出(stdout)编号为1,标准错误输出(stderr)编号为2。输出通常会被重定向到字符设备,正确输出位于/proc/进程ID/fd/1
,错误输出位于/proc/进程ID/fd/0
。
输入是程序从外界获取的信息。通过输入重定向,可以将数据传递给程序。例如,tr 'a-z' 'A-Z' < test
命令会将test文件中的内容定向到tr程序中。文件可以包括多行内容,但结束条件是遇到EOF(空格哥_tot认为)。
输出重定向是将程序的输出写入指定文件。例如,find /etc -name passwd > westos.out
将正确输出写入westos.out文件。添加2>
会将错误输出也重定向到同一文件。
追加操作允许数据被添加到已存在的文件中,而不会覆盖内容。例如,find /etc -name passwd >> westos.out
会将所有输出追加到文件中。如果使用2>>
,便会追加错误输出。
管道(|
)将前一命令的正确输出作为下一命令的输入。例如,ls | wc > output.txt
会将ls命令的结果传给wc,wc的结果再传给output.txt。管道处理的是正确输出,不能用于错误输出。
通过合理使用输入输出重定向和管道,可以有效管理程序的数据流,可创造更高效的工作流程。
转载地址:http://qtewk.baihongyu.com/