淺談 crontab 裏面常見的 &gt&gt /dev/null 2&gt&1

在crond計劃任務、nohup中我們經常可以看到>/dev/null 2>&1,但是很多人並不理解其含義,想要真正的理解它,首先我們需要知道文件描述符的三種類型。

類型 文件描述符 重定向符號 位置
標準輸入(stdin) 0 0<或0<< /dev/stdin -> /proc/self/fd/0
標準輸出(stdout) 1 1>或1>> /dev/stdout -> /proc/self/fd/1
錯誤輸出(stderr) 2 2>或2>> /dev/stderr -> /proc/self/fd/2
標準輸入重定向"0<"或"0<<"等同於"<"或"<<",我們在平時使用時一般都省略了"0"
標準輸出重定向"1>"或"1>>"等同於">"或">>",我們在平時使用時一般都省略了“1”

通過上面的表格,我們將>/dev/null 2>&1拆開來看就容易理解的多

>/dev/null將標準輸出重定向到空設備,即我們常說的“黑洞”

2>表示錯誤輸出

&表示等同的意思

1標準輸出

2>&1就表示錯誤輸出重定向等同於標準輸出

所以>/dev/null 2>&1就表示將標準輸出及錯誤輸出全部重定向到“黑洞”,這麼做可以有效的防止結果輸出到控制檯,以及inode節點被寫滿。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章