首先先來看下幾種標識的含義:
- /dev/null 表示空設備檔案
- 0 表示stdin標準輸入
- 1 表示stdout標準輸出
- 2 表示stderr標準錯誤
先看/dev/null
command > /dev/null相當于執行了command 1 > /dev/null,執行command產生了標準輸出stdout(用1表示),重定向到/dev/null的設備檔案中
/dev/null可以理解為/dev路徑下的空檔案;該命令將command命令的標準輸出輸出到空檔案中;
再看 1>test.log
執行./test.sh > res1.log 或 ./test.sh 1> res1.log結果為 我們發現stdout被重定向到了res1.log中,stderr并沒有被重定向到res1.log中,stderr被列印到了螢屏上, 2>test.log 執行./test.sh 2> res3.log結果為 我們發現stderr被重定向到了res3.log中2>&1
command>a 2>&1 可以理解為執行command產生的標準輸出重定向到檔案a中,標準錯誤也重定向到檔案a中,期間只打開一次檔案a,&1的含義就可以理解為用標準輸出的參考,參考的就是重定向標準輸出產生打開的a, 執行./test.sh>res2.log 2>&1結果為 這次我們發現stdout和stderr都被重定向到了res2.log中了 下面是一個掛后臺的樣例: nohup sh loop_dwa_m_sms_chunjie_fs_zdg.sh 20190120 >loop_dwa_m_sms_chunjie_fs_zdg.log 2>&1 &轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/119061.html
標籤:Linux
上一篇:Linux基本命令
下一篇:Redis存盤方式及快取淘汰策略
