**系统中输入输出的理解:
通俗易懂的理解的话,鼠标及键盘即是输入设备,屏幕则是输出设备。
在程序里,命令是输入,Enter后回显的则是输出。**
管理输入输出的符号
1#输出重定向:
Attention: 重定向会覆盖原文件内容
> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
例子
find /etc -name passwd
find/etc -name passwd >file 定向正确输出到file
find/etc -name passwd 2> file.err 定向错误输出到file.err
find/etc -name passwd &> file.all 定向所有输出到file.all
> file 清空file
2#输出追加
Attention:追加不会覆盖原文件内容
>> 追加正确的输出到文件最后
2>> 追加错误的输出到文件最后
&>> 追加所有输出到文件最后
例子
find /etc -name passwd >> file 追加正确输出到file
find /etc -name passwd 2>>file.err 追加错误输出到file.err
find /etc -name passwd &>> file.all 追加所有输出到file.all
3#管道的应用
1管道的作用
“|” 管道的作用就是把前一条命令的输出变成后一条命令的输入
Attention:
管道只允许正确输出通过
通过管道的输出将会变成输入,而变成输入的这些输出是会被第二条命令
处理的
如果需要保存输出内容。那么需要复制一份输出,用到的命令是“tee”
实验:
student用户下
find /etc -name passwd | wc -l 会看到结果为2(正确的行数),
因为错误的不能通过管道
find /etc -name passwd 2>&1 | wc -l 会看到结果为19也就是本身全部行数,
因为编号为2的错误输出被“2>&1”转换为编号1
find /etc -name passwd 2>&1|tee file |wc -l 保存一份输出到file再统计行数