> 是定向輸出到檔案,如果檔案不存在,就建立檔案;如果檔案存在,就將其清空;一般我們備份清理日誌檔案的時候,就是這種方法:先備份日誌,再用`>`,將日誌檔案清空(檔案大小變成0位元組)。>> 這個是將輸出內容追加到目標檔案中。如果檔案不存在,就建立檔案;如果檔案存在,則將新的內容追加到那個檔案的末尾,該檔案中的原有內容不受影響。(摘自:
ls -al >> a.txt
這樣a.txt檔案中就是ls命令列印出來的內容了。
另外解釋一下命令 「ls >/dev/null 2>&1」
按照前面的解釋可以知道將ls程式執行輸出的結果重定向到/dev/null檔案中去,後面的2 > &1有是什麼意思呢?
這裡有必要將上面的這個命令完整形式寫出來:
ls 1 >/dev/null 2>&1
可以看出和原來命令的區別。先來說明一下,linux系統中
0:表示鍵盤輸入(stdin)
1:表示標準輸出(stdout),系統預設是1
2:表示錯誤輸出(stderr)
所以1 > /dev/null 表示將1(標準輸出)重定向到/dev/null檔案,將2(標準錯誤輸出)重定向到1。2>&1表示的是2的輸出重定向等同於1 的輸出重定向,也就是/dev/null檔案。如果寫成這種形式:
ls 1 >/dev/null 2>1
其實也能實現標準錯誤輸出的重定向,但是重定向的位置不是標準輸出,而是檔案「1」,系統會建立乙個檔案「1」然後儲存標準錯誤輸出的資訊。
大神/dev/null
linux輸出重定向
標準輸入輸出 裝置 鍵盤 顯示器 顯示器 裝置檔名 dev stdin dev sdtout dev sdterr 檔案描述符 0 1 2 型別 標準輸入 標準輸出 標準錯誤輸出 輸出重定向 標準輸出重定向 命令 檔案 以覆蓋的方式,把命令的正確輸出輸出到指定的檔案或裝置當中 命令 檔案 以追加的方...
Linux輸出重定向
linux shell 環境中支援輸入輸出重定向,用符號 和 來表示。0 1和2分別表示標準輸入 標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出,比如 2 a.txt 表示將錯誤資訊輸出到檔案a.txt中。同時,還可以在這三個標準輸入輸出之間實現重定向,比如將錯誤資訊重定向到標準...
linux輸出重定向
linux shell使用 和 符號來對輸入輸出做重定向。約定 0,1,2分別代表 標準輸入,標準輸出,標準錯誤輸出。下面以ls命令為例加以說明,其他命令或程式的使用方式相同。例1 把標準輸出重定向到log.txt root localhost es ls 1 log.txt 例2 把標準錯誤重定向...