Linux之输入输出管理

系统的输入输出

系统输入输出的定义

定义:

  1. 系统的输入: 通过鼠标、键盘等硬件设备输入将字符输入至系统中。
  2. 系统的输出: 在接受用户输入的字符后,cpu处理之后反馈给用户的字符。

输出的分类:

  1. 标准输出
    编号为1 ,代表正确输出
  2. 标准错误
    编号为2,代表错误输出

图示:
在这里插入图片描述
=注意:=
默认情况下,两种输出都会被系统定向到字符设备中。

管理输入输出的符号

输出重定向

定义 : 把原本要输出到屏幕的字符,重新定向至指定文件中。

>                               #重定向正确输出
2>                              #重定向所有错误输出  
&>                              #重定向所有输出
> file                           #清空file

=注意:=

  • 重定向会覆盖原文件内容
  • 当输入 空格 > filename 时,可以新建一个文件

例题解释:
以student身份查找/etc/下的名字为passwd的文件

重定向正确输出到file
在这里插入图片描述
重定向错误输出到file.err
在这里插入图片描述
重定向所有输出到file.all
在这里插入图片描述

追加输出

>>        ##追加正确输出到文件最后

2>>      ##追加错误输出到文件最后

&>>      ##追加所有输出到文件最后

=注意:=
追加输出文件不会覆盖原文件内容

图示:
把正确的追加到txt1中
在这里插入图片描述
查看txt1
在这里插入图片描述
把错误的追加到txt2中
在这里插入图片描述

输入重定向

定义:不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备。

<<           从标准输入中读入内容,直到遇到指定标识符结束,一般为EOF

例题解释:
1.把txt中的小写字符都转化为大写
在这里插入图片描述
2.编辑一个shell脚本文件,让命令自动运行至EOF处停止
在这里插入图片描述
在这里插入图片描述
2.利用cat和输入重定向来编辑文件
在这里插入图片描述

管道符(|)

  • 将管道前面的输出内容当作管道后面的输入内容。 如果需要保存输出内容,那么就复制一份输出,用到“tee filename"命令。
  • 管道里通过的内容,默认只能是正确的。 2>$1 把错误转化为正确的。
    例题:
    1.find /etc/ -name passwd | wc -l #统计etc下passwd文件的个数
    在这里插入图片描述
    个数为2说明正确信息为2 ,错误信息定向到了字符设备中

2.find /etc/ -name passwd 2>&1| wc -l #统计etc下passwd文件的个数
在这里插入图片描述
2>&1 将错误信息的编号由2变为1后,信息全部通过管道。

3.将全部信息复制保存至file文件中,前提是文件里面是正确信息,因此使用2>&1转化为正确
在这里插入图片描述

例题解释:

在这里插入图片描述1.
在这里插入图片描述
2.
在这里插入图片描述
或者
在这里插入图片描述
3.
在这里插入图片描述4.
在这里插入图片描述5.
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值