linux中文件输入输出的管理
一、、输入输出的定义
1,输入:输入是指我们的键盘,鼠标等硬件在系统中录入的字符
2,输出:输出是指系统在接受到我们想要实现的功能字符后,经过进程的处理产生的字符,
输出会有两种出现,编号1为正确输出,编号2为错误输出,默认这两种输出都会被系统定向到字符设备中
二、、如何管理输出
1,非交互多行录入
非交互需要建立shell脚本,在shell中执行脚本就可以避免交互
例如:我们操作下修改root用户的密码
新建一个文件,然后直接sh 文件名执行
然后直接运行,修改root密码为redhat
2、如何管理输入输出
>
> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
2>&1 把错误输出的编号由2转换为1
例:用student用户作实验,查找/etc下的名字叫作passwd的文件,正确输出保存到file.out文件中,错误输出不被处理,直接显示在shell中
同理查找/etc下的名字叫做passwd的文件,错误输出保存到file.out中,正确输出不被处理,直接显示在shell中
用find /etc/ -name passwd &> file.all 则表示把所有输出都保存在file.all文件中
注意:>重定向输出会覆盖原文件,如需保留原文件,需要用>>输出追加
>>追加
保持原文件内容不变的情况下把输出追加到文件之后
>> 追加正确输出
2>> 追加错误输出
&>> 追加所有输出
如操作以下命令,然后查看westos文件
find /etc/ -name passwd >> westos
find /etc -name passwd 2>> westos
find /etc -name passwd &>> westos
三种输出内容都在westos文件中,没被覆盖。
3、管道 |
管道:把输出变成下一个程序的输入
ls /bin | wc -l 统计/bin下的文件有多少行
通过管道后输出会变成输入,那么是无法保存在文件中的
tee 复制输出到指定位置
ls /bin | tee file | wc -l 统计/bin下的文件保存在file文件中,并在shell中显示有多少行