1.什么是输入和输出
输入和输出是计算机系统中的主机与外部进行通信的系统。它由外围设备和输入输出控制系统两部分组成,我们在shell中键入指令,然后送入CPU中运算产生结果,再将结果送到字符设备中显示。简单点来说输入输出就是通过我们的键盘、鼠标和其他硬件在系统中录入字符,在经过cpu处理后的反馈给我们的字符。
输入和输出有两种结果:正确和错误 ,分别用1和2表示。
2 管理输入输出的符号
> | 重定向正确输出 |
---|---|
2> | 重定向错误输出 |
&> | 重定向所有输出 |
注意:重定向会覆盖原来的内容
示例:
注意: 以下实验必须在student用户下完成
find /etc/ -name passwd > file ##定向正确输出到file
find /etc/ -name passwd 2> file.err ##定向错误输出到file
find /etc/ -name passwd &> file.all ##定向所有输出到file
> file ##清空file
##输出追加
> > | 追加正确输出到文件最后 |
---|---|
2>> | 追加错误输出到文件最后 |
&>> | 追加所有输出到文件最后 |
== 注意: 追加不会覆盖源文件内容==
示例:find /etc/ -name passwd >> file ##追加正确输出到file
find /etc/ -name passwd 2>> file.err ##追加错误输出到file
find /etc/ -name passwd &>> file.all ##追加所有输出到file1
示例:
3.管道的应用
1.管道的作用
“|” 管道的作用是把前一条命令的输出变成后一条命令的输入
注意:1 管道只允许正确输出通过
2 通过管道的输出将会变成第二条命令的输入,如果需要保存输出内容,那么需要用命令“tee”复制一份输出
此实验在普通用户下操作:
find /etc/ -name passwd | wc -l ##会看到的结果为2,因为错误输出不能通过管道
find /etc -name passwd 2>&1|wc -l ##会看到22,
find /etc -name passwd 2>&1|tee file |wc -l ##保存一份输出到file再统计行数
示例: