Linux的标准输入和输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的标准输入和输出相关的知识,希望对你有一定的参考价值。

设备 设备文件名 文件描述符 类型
键盘 /dev/stdin 0 标准输入
显示器 /dev/sdtout 1 标准输出
显示器 /dev/sdterr 2 错误标准输出

1、命令 > 文件
将命令的正确输出,写入到指定文件或设备中去,并对之前的内容进行覆盖。如果文件不存在,会新建一个文件

技术图片

2、命令 >> 文件
将命令的正确输出,写入到指定文件或设备中去,采用追加的方式。该方式会保留原本文件中的内容。
技术图片

3、命令 2> 文件
将命令的错误输出,写入到指定的文件或设备中去,并对之前内容进行覆盖。下面例子中,当命令正确的时候,标准输出正常打印到显示器,当命令错误的时候,将错误信息写入了test.log中

技术图片

4、命令 2>> 文件
将错误标准输出的信息,写入到其他文件中,并用追加的方式,不会覆盖文件原本的内容。
技术图片

5、命令 > 文件 2>&1 | 命令 &> 文件
    这两种方式,是将命令的错误输出和正确输出,都保存到同一个文件中,采用覆盖的方式,不会保留文件原本的内容。

技术图片

6、命令 >> 文件 2>&1 | 命令 &>> 文件
这两种方式是将命令的错误输出和正确输出,都保存到同一个文件中,采用追加的方式,会保留文本原本的内容。
技术图片

7、命令 >> 文件1 2>>文件2
将命令正确的输出,写入到文件1中,将命令错误的输出写入到文件2中
技术图片

需要注意:/dev/null 会经常应用,该路径表示一个空目录空文件,可以理解为“黑洞”,放入这个路径的内容,是不会保存的,即放入就消失了,再也找不到。当我们不想在显示器中显示命令输出,也不想保存到文件中,就可以用/dev/null

以上是关于Linux的标准输入和输出的主要内容,如果未能解决你的问题,请参考以下文章

夺命雷公狗---linux NO:13 linux标准输入输出和标准错误

谈谈Linux下的数据流重定向和管道命令

linux下xargs和管道的区别

linux 标准输入输出的详解

在 Linux 上从桌面启动的程序的默认标准输入和标准输出是啥?

Linux标准输入输出与重定向详解果断收藏