/dev/null 的含义和用途

/dev/null 代表空设备文件,它等价于一个仅仅写文件,全部写入它的内容都会永远丢失。而尝试从它那儿读取内容则什么也读不到。


0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1
2:表示错误输出(stderr)

1>/dev/null等同于 >/dev/null
>/dev/null 2>/dev/null 等同于 >/dev/null 2>&1
&1:&表示等同于的意思,2>&1,表示2的输出重定向等于1

举例
cat $filename >/dev/null 2>/dev/null  等同于 cat $filename >/dev/null 2>&1
    # 假设"$filename"不存在。将不会有不论什么错误信息提示.
    # 假设"$filename"存在, 文件的内容不会打印到标准输出.
    # 因此, 上面的代码根本不会输出不论什么信息.

常见场景
在我们定义crontab时。为了避免垃圾数据的产生,经经常使用到 >/dev/null 2>&1
posted @ 2017-08-04 14:18  gccbuaa  阅读(3474)  评论(0编辑  收藏  举报