linux——文件输入输出管理

####一、输入输出的定义####

1.输入:就是我们的键盘,鼠标和我们用这些硬件在系统中录入的字符

2.输出:就是系统接收到我们想要实现的功能字后,经过进程的处理产生字符。输出会有两种

编号1为正确输出

编号2为错误输出

默认着两种输出都会被系统定向到字符设备中

####二、如何管理输出####

1.非交互式多行录入

vim pass.sh

passwd

sh pass.sh

以上这种方式是不能自动运行的

passwd << EOF

tutu

tutu

EOF

sh pass.sh

此种方法可以自动运行避免交互

linux——文件输入输出管理

2.如何管理输出

2-1.重定向

> #重定向正确输出

2> #重定向错误输出

&> #重定向所有输出

2>&1 #把错误输出的编号由2转换为1

**注意:重定向是会覆盖原文件内容的!!

vim tutu

i like tutu

find /etc/ -name passwd > tutu

cat tutu ##原文件内容被覆盖不见了

linux——文件输入输出管理

linux——文件输入输出管理

linux——文件输入输出管理

2-2.追加

#保持原文件内容不变的情况下,把输出追加到文件之后

#1.  >> #追加正确输出

#2.  2>> #追加错误输出

#3.  &>> #追加所有输出

linux——文件输入输出管理

linux——文件输入输出管理

linux——文件输入输出管理

linux——文件输入输出管理

3.管道

#1.可把输入变成下一个程序的输入

#2.管道是用来组合多条命令的使用的

ls /bin | wc -l

**注意:通过管道后输出会变成输入,那么是无法保存在文件中的

ls /etc | tee test |wc -l

cat test ##test中已经保存了输出

#tee ##复制输出到指定位置

linux——文件输入输出管理

linux——文件输入输出管理