Linux中的输入与输出重定向问题

1.什么是输出重定向
我们都知道然后一个系统的正常运行都离不开输入与输出,由外界输入交给系统处理后输出,而输出重定向就是将输出重新定义一个方向,在此之前每个输出都默认输出在shell界面上,重定向后就可以定义它们输出的位置,以方便我们的日常管理。
2.管理输入输出的符号
1> 或 > ##重定义正确输出
2> ##重定向错误输出
&> ##重定向所有输出
注意:重定向会覆盖原文件内容
下面我们来看一个例子
在这里插入图片描述
切换到普通用户来查找一个名为passwd的文件
查找结果为
在这里插入图片描述
可以看到查找结果有正确的也有错误的文件
如何才能输出正确的结果呢
正确输出
在这里插入图片描述
查看文件
在这里插入图片描述
错误输出
在这里插入图片描述
查看文件
在这里插入图片描述
所有输出
在这里插入图片描述
查看文件
在这里插入图片描述
清空文件
统计文件大小发现文件确实被清空
在这里插入图片描述
3.输出追加
追加正确输出到文件最后 为 >>
2>> ##追加错误输出到文件最后
&>> ##追加所有输出到文化最后
注意:追加不会ii覆盖原文件内容
下面我们来看一个例子
在这里插入图片描述
可以看到追加并没有覆盖原文件内容
4.管道符
| 这个符号看起来像一个管道,他的作用上一个命令的输出作为下一个命令的输入
例:命令1|命令2
我们来看一个具体的例子
在这里插入图片描述
还是刚才那个例子但我们这里通过管道符让他统计正确输出的行数,需要注意的是管道符只能通过正确的输出,错误的输出被拦截了,怎样才能让错误的输出也通过管道符呢,我们只须稍加改变
在这里插入图片描述
可以看到加上错误的17行,最终结果输出19行,也就是说错误输出也通过了管道符号
如果需要保存输出内容,需要复制一份输出,用到的命令为‘ tee’
举个例子
在这里插入图片描述
可以看到输出被成功保存到了file1中
5.什么是输入重定向
输入重定向就是指不使用标准的输入端口输入文件,而是使用指定的文件作为标准的输入,这个由你自己设定
<<end
输入
end
##两个end之间的内容用作输入
举个例子
在这里插入图片描述
可以看到我们这里给普通用户设定密码,正常情况我们需要手动输入两次,但这里我们将输入重定向为两个end之间的输入,之后提示密码修改成功。我们在管理多台机器时如果需要更改多台机器密码时,一个一个去修改显然不合理,这个时候我们将输入重定向后就可以同时更改多台机器的密码了
注意:这里的end 只是一个开始和结束的标志,以end 开始以end’结束,中间是输入重定向的内容,你也可以用其他字符。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值