linux控制檯輸出到文件 - /dev/null與2>&1講解

首先先來看下幾種標識的含義:oop

  • /dev/null 表示空設備文件
  • 0 表示stdin標準輸入
  • 1 表示stdout標準輸出
  • 2 表示stderr標準錯誤

    先看/dev/null 

    command > /dev/null至關於執行了command 1 > /dev/null。執行command產生了標準輸出stdout(用1表示),重定向到/dev/null的設備文件中spa

/dev/null能夠理解爲/dev路徑下的空文件;該命令將command命令的標準輸出輸出到空文件中;test

    再看 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 &
相關文章
相關標籤/搜索