Linux重定向

linux中经常需要后台执行程序,并将程序输出结果记录到本地文件,因此可选择>>或者>操作。

追加模式>>  示例:echo ‘abc’ >>test.txt

覆盖模式>    示例:echo 'abc'>test.txt

0标准输入、1标准输出(一般使用时默认的是标准输出)、2标准错误输出

示例:将程序的错误信息输出到log文件中 ./program 2>log

注意:标准输出还是在屏幕上,但是错误信息会输出到log文件中

注意:2>&1将错误信息重定向到标准输出

/dev/null

linux下特殊文件/dev/null,所有重定向到它的信息都会消失。当我们不需要回显程序的所有信息时,既可以将输出重定向到它。

示例:ls 1>/dev/null 2>/dev/null

将标准输出和错误信息都不显示。如下方法有同样结果。

示例:ls >/dev/null 2>&1

注意:顺序不能更改,先把标准输出重定向到/dev/null,然后将标准错误重定向到标准输出,因为标准输出已经重定向到了/dev/null,因此标准错误也将重定向到/dev/null

nohup结合/dev/null

使用nohup时,会自动将输出写入默认nohup.out文件,文件会持续增大

nohup ./program >/dev/null 2>log &

nohup ./program >/dev/null 2>&1 &

Logo

更多推荐