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