今天学习了Linux下的管道和重定向。
介绍着两个概念之前,要先说明几个概念,在Linux命令行操作的模式下,有三种状态:标准输入,标准输出,标准错误输出。
其中他们三种都有一个值代表,标准输入0,标准输出1,标准错误输出2
这三个概念很好理解,这里不多做解释。
那么问题来了,我们在使用命令行的时候,都是使用键盘输入命令,结果显示在终端上,我想把返回的结果存成一个文件,怎么办?这里就用到了重定向
假如我使用了ls命令,想把显示的结果保存为ls_output文件,我们可以用重定向完成。
ls > ls_output
这个命令就可以完成啦,重定向有很多用法,我在下边列出
名称 符号 说明
> 输出到文件(覆盖原内容)
>> 输出到文件(追加)
重定向 2> 输出标准错误(覆盖原内容)
2&>l 标准输出和标准错误输出结合
< 标准输入
其中,标准输入就是把文件的内容当做键盘输入
除了重定向,还有管道。所谓管道,就是程序会像管子一样,将前一个命令的输出,作为后一个命令的输入
管道的用法是在两个命令中间用“|”来分隔
例如,ls -a | grep zw
这个命令,就代表要找出所有包含zw的文件或文件夹,ls -a的输出结果,作为了grep命令的输入,得到的最后的结果。