Linux的标准的输入输出重定向

在Linux系统中,标准输入、标准输出、标准错误三个设备文件是比较常用的标准设备文件,其中0(STDIN)、1(STDOUT)、2(STDERR)分别是指向标准输入、标准输出、标准错误的三个文件缓存的句柄。通常STDIN即键盘输入缓冲区,STDOUT和STDERR的设备则通常为显示屏。由于特殊需要,可能有时候我们需要的输入文件或(和)输出文件并非是键盘或(和)屏幕,因此需要输入输出重定位,Linux Shell中提供的标准输入输出重定位算是一个有着高效、方便、快捷等优点的令人着迷的操作。之前在初学Linux时也总结过有关”>”和”>>”的使用,但是不够全面,也不够细致,接下来再来总结一下常用的操作与应用:

1、命令符号说明:

&1:标准输出
&2:标准错误
&-:关闭与其绑定的描述复
&>:标准错误和标准输出
>与>>:标准输出重定位
<:标准输入重定位
tee:用于标准输入输出重定位的命令

2、测试一:
这里写图片描述
四条命令:
①第一条将标准输出重定位到result.txt中,将标准错误重定位到标准输出中,因此标准错误也定位到result.txt;
②第二条命令同第一条命令相当,不过将重定位是以追加的方式重定位;
③第三条和第一条结果相同,只是表达方式不同,2>&1被简写成&>
④第四条和第二条结果相同,2>>&1被简写成&>>

3、测试二:
这里写图片描述
三条命令:
第一条标准输入标准输出均定位到result中去;
第二条将标准输入定位到result.txt中去,而将标准错误关闭;
第三条采用tee命令的追加方式来进行重定位。

4、测试三:
这里写图片描述
这里用tee和”>“测试的是将原本该输出到/dev/pts/0中的内容,重定位到/dev/pts/1里。即从一个设备文件重定位到另一个设备文件。

5、测试四:
这里写图片描述
结合其他命令来做一些常用的文件创建操作,比如读取sda1的第一个扇区的内容到a.txt文件中区,可用dd标准格式if=of=来写;也可以使用输入输出重定位的方式来写。如果bscount参数设置的大一点则可以构建大文件用来为一些功能的测试提供条件。(cat /dev/sda1 > a.txtcat /dev/random > a.txt等都有同样的效果,不过dd更精确,cat得自己中断,或等待设备文件cat到结束)。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值