Linux:文件输入输出的管理
一.输入输出的定义
1输入:就是我们的键盘,鼠标和我们用这些在系统中录入的字符
2输出:就是系统接收到我们想要实现的功能字符后,经过进程的处理生产字符。输入会有两种出现:编号为1 是正确输出,编号为2 是错误输出,默认着两种输出都会被系统定向到字符设备中
二.如何管理输出
1.非交互式多行录入
vim C_pass.sh
passwd
sh C_pass.sh
是不能自动运行的
passwd <<EOF
chcshidewu
dhwjefffe
EOF
sh C_pass.sh
可以自动运行避免交互
2.如何管理输出重定向
> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
2>&1 把错误输出的编号由2转换为1
要用student用户做以下实验
find /etc/ -name passwd > file.out
find /etc/ -name passwd 2> file.out
find /etc/ -name passwd &> file.all
find /etc/ -name passwd > file 2>&1
"注意:从定向是会覆盖原文件内容的!!!"
vim westos
hello westos
find /etc/ -name passwd > westos
cat westos 原文件内容不见了
3.追加:保持原文件内容不变的情况下把输出追加到文件之后
>> 追加向正确输出
2>> 追加向错误输出
&>> 追加向所有输出
find /etc/ -name passwd >> westos
find /etc -name passwd 2>> westos
find /etc -name passwd &>> westos
4.管道:把输出变成下一个程序的输入管道是用来组合多条命令的是用的
ls /bin | wc -l
"注意:通过管道后输出会变成输入,那么是无法保存在文件中的"
tee ##复制输出到指定位置
ls /bin | tee file | wc -l
cat file ##file中已经保存了输出