理解输入输出
字符设备:是显示字符到屏幕上的设备文件。一般是pts/0。
Stdin: 标准输入,编号为0。如:键盘 鼠标 打字机
Stdout:标准正确输出,编号为1。
Stderr:标准错误输出,编号为2。
管理输入
输入就是外界传递到程序中的信息。
- 输入重定向 '<' ——常用于写脚本
tr ‘a-z’ ‘A-Z’ < test ##把test文件中的内容定向到tr程序中 ### tr 不能显示文件内容,只能转换大小写
- 多行录入'<<' ——常用于写脚本
tr ‘a-z’ ‘A-Z’ << EOF (字符任意) test ##此处的test不能表示为文件名称只表示test字符 test1 EOF ## 当首字母再次出现表示录入结束
管理系统输出
- 输出重定向'> ' '2>' '&>'
find /etc -name passwd > westos.out ##重定向正确输出 find /etc -name passwd 2> westos.err ##重定向错误输出 find /etc -name passwd &> westos.all ##重定向所有输出
注:重定向管理输出后,会覆盖原文件内容。
file中原本的内容是‘hello world’,重定向命令之后,file中的内容被修改。
- 追加'>>' '2>>' '&>>'
find /etc -name passwd >> westos.out ##追加正确输出 find /etc -name passwd 2>> westos.err ##追加错误输出 find /etc -name passwd &>> westos.all ##追加所有输出
注:追加和重定向功能类似,但不会覆盖原文件内容。
- 管道 '|'
把前一条命令的输出变成输入传递到下一条命令进行操作。
find /etc/-name passwd 2>&1 | wc -l
注:管道只处理正确输出;
管道在一条命令中可以使用多次;
2>&1 ##把编号为2的输入转换到编号为1的输出中;
------如果需要管道符处理所有输出,则需要用2>&1 将错误输出编号转换为正确编号,再处理。