文件输入输出的管理
1.输入输出的定义
输出:就是系统接收到我们想要实现的功能字符后,经过进程的处理产生字符
输入会有两种出现
编号 1为正确输出编号 2为错误输出
默认着两种输出都会被系统定向到字符设备中
&解释一下Linux系统为什么用英文字母和简单数字写代码,而不用汉字。这也是我初学时疑惑的问题,请教了之后才知道。原来汉字写的东西最后应用起来所占内存比较大,而字母和数字所写的东西最后应用起来所占内存较小。理解了吧。
对输入进行管理
交互式录入:你所做的操作时刻在与系统进行交流,这样难免会有些麻烦,尤其是对处女座的人来说,哈哈。这时候就出现了非交互式多行录入。
1.非交互式多行录入
非交互式就是你给它一个指令,正确就执行,错误就不执行,而且它也不会将错误反馈给你
vim C_pass.shpasswd
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
"注意:从定向是会覆盖原文件内容的!!! "
vim westos
hello westos
find /etc/ -name passwd > westos
cat westos ## 原文件内容不见了
追加
保持原文件内容不变的情况下把输出追加到文件之后
>> ##追加正确输出
2>> ##追加错误输出
&>> ##追加所有输出
find /etc/ -name passwd >> westos
find /etc -name passwd 2>> westos
find /etc -name passwd &>> westos
管道
#把输出变成下一个程序的输入
#管道是用来组合多条命令的使用的
ls /bin | wc -l
"注意:通过管道后输出会变成输入,那么是无法保存在文件中的 "
tee ##复制输出到指定位置
ls /bin | tee file | wc -l
cat file #file中已经保存了输出