linux输出与输入重定向

一、输出重定向
首先在linux系统中,通常我们定义正确输出的编号为1,错误输出编号为2。
输出重定向:

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

find /etc -name passwd > file ##正确输出到file文件

在这里插入图片描述

find /etc -name passwd 2>file1 ##错误输出到file文件

在这里插入图片描述

在这里插入图片描述
find /etc -name passwd &>file1 ##所有输出都到file1文件

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

扫描二维码关注公众号,回复: 4953104 查看本文章

find /etc -name passwd >> file ##追加正确输出到file

在这里插入图片描述

在这里插入图片描述

find /etc -name passwd 2>> file1 ##追加错误输出到file1

在这里插入图片描述

find /etc -name passwd &>> file2 ##追加所有输出到file2

在这里插入图片描述
二、输入重定向
输入重定向;
是指不使用系统提供的标准输入端口,而进行重新的指定。换言之,输入重定向就是不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备。(重定向简单理解就是使用 “<”符来修改标准输入设备)

在这里插入图片描述

剖析:更改密码,通常我们需要先输入一次密码,然后在输入一次密码进行确认。我们使用了<<符号后,把两个EDF之间的内容作为了两次输入密码的输入,而不是通过键盘输入。这里的EDF也不是固定的,大家可以更换为两个任意相同的字符。

三、管道的应用
一个管道,是一个或多个命令的序列,由 | (管道符)分隔。管道将第一个命令的标准输出连接到下一个命令的标准输入。
注意:
管道只允许正确输出通过
通过管道的输出将会变成输入,而变成输入的这些输出是会被第二条命令处理的
如果需要保存输出内容,那么需要复制一份输出,用到的命令是“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再统计行数。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44313519/article/details/86226483