Linux下/dev/null介绍

前言

/dev/null 是一个特殊的设备文件,它丢弃一切写入其中的数据,可以将它视为一个黑洞,它等效于只写文件,写入其中的所有内容都会消失,尝试从中读取或输出不会有任何结果,/dev/null 在命令行和脚本中都非常有用。

使用

java -jar app.jar > /dev/null # 表示忽略标准输出
java -jar app.jar > /dev/null  2>&1 # 表示忽略标准输出和标准错误输出
cat /dev/null # 返回空
ls /root > /dev/null # 忽略 ls 命令的输出
ls /root/abc > /dev/null 2>$1 # 忽略 ls 命令的输出,也会忽略 /root/abc 目录不存在的错误输出

2>1 表示将stderr重定向到当前路径下文件名为1的文件中,而2>&1表示将stderr重定向到文件描述符为1的文件(即/dev/null)中。2>&1 命令中间不能有空格。

参考

shell脚本中 /dev/null 的用途
Shell 重定向 2>&1 含义说明

posted @ 2024-04-07 22:51  strongmore  阅读(31)  评论(0编辑  收藏  举报