1.输入输出的管理
输入:
就是我们的键盘,鼠标和我们用这硬件在系统中录入的字符
输出:
就是系统想要接收到我们想要实现的功能字符后,经过进程的处理产生的字符
输入会有两种出现
编号1 为正确输出
编号2 为错误输出
默认这两种输出都会被定向到字符设备中
2.如何管理输出
非交互式多行录入
#操作:建立一个文件里写入命令passwd ,用sh执行,会产生交互
passwd <<END
linux
linux
END 这样可以避免交互
如何管理输出
重定向
> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
2>&1 把错误输出的编号由2 转换为 1
操作:用普通用户做以下实验
查看 /etc下名字叫passwd的文件 用重定向的方式到file1
查看/etc下名字叫passwd的文件用重定向的方式把错误的选项定向到file1中
查看/etc下名字叫passwd的文件用重定向的方式把所有的选项定向到file1中
注意:从定向是会覆盖原文件内容的!!!
操作:
建立一个file2 里面编写内容为hello的文件
查看/etc下名字叫passwd的文件用重定向的方式把所有的选项定向到file2中 原文件会被覆盖
以此类推 >file2 2>file2 &>file2
原内容都会被覆盖
追加重定向指令
>> 追加正确输入
2>> 追加错误输入
&>> 追加全部输入、
操作:
查看/etc下名字passwd的文件所有定向追加到file2中
查看/etc下名字passwd的文件错误定向追加到file2中
查看/etc下名字passwd的文件所有定向追加到file2中
管道
把输出变成他下一个程序的输入
管道是用来组合多条命令的使用的
操作:
ls /root | wc -l
查看/root下所有文件个数
#注意:通过管道后输出会变成输入,那么是无法保存在文件中的
tee *复制输出到指定位置
操作:
ls /root | tee file1 | wc -l
cat file1 file中已经保存了输出