Linux之系统输入输出的管理

系统中输入输出的管理

理解系统的输入输出

运行一个程序时,需要从某个位置读取输入信息,然后cpu处理,最后将输出显示到屏幕或者文件,进程通过文件描述符的编号获取输入并输出。

管理输入输出的符号

输出重定向
输出重定向
>		##重定向正确输出
2>		##重定向错误输出
&>		##重定向所有输出
注意:
	重定向会覆盖原文件内容

示例:
注意:以下实验必须在student用户下完成,因为超级用户可以进入到每个目录,
	 错误输出就不会产生,导致观察不到实验现象
find /etc/ -name passwd  > 	file			##定向正确输出到file
find /etc/ -name passwd  2> 	file.err	##定向错误输出到file.err
find /etc/ -name passwd  &> 	file.all	##定向所有输出到file.all
> file										##清空file的内容

在这里插入图片描述
在这里插入图片描述

查看这三个文件

在这里插入图片描述

清空file
> file

在这里插入图片描述

输出追加
>>		##追加正确输出到文件最后
2>>		##追加错误输出到文件最后
&>>		##追加所有输出到文件最后

注意:
	追加不会覆盖源文件内容

示例:
find /etc/ -name passwd  >> 	file		##追加正确输出到file
find /etc/ -name passwd  2>> 	file	##追加错误输出到file
find /etc/ -name passwd  &>> 	filel	##追加所有输出到file

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

管道的应用

管道的作用
	“|” 管道的作用是把前一条命令的输出变成后一条命令的输入

注意:
	管道只允许正确输出通过
	通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的
	如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”

此实验在普通用户下操作:
	find /etc/ -name passwd | wc -l				##会看到的结果为2,因为错误输出不能通过管道
	find /etc -name	passwd 2>&1|wc -l			##会看到19,因为编号为2的输出被“2>&1”转换为编号1
	find /etc -name	passwd 2>&1|tee file |wc -l	##保存一份输出到file再统计行数

在这里插入图片描述

输入重定向

<后面作为<前面的输入
以cat为例,原本cat后不跟值,那么你输出什么,下一行会显示什么
在这里插入图片描述
我们可以将利用输入重定向,将我们在键盘上敲入的字符写入到文件中,<<后出面的值表示输入再是此值,那么录入结束
在这里插入图片描述
或者写入文件,执行文件后可以实现
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/dzh1125641239/article/details/86024148
今日推荐