Linux 檔案重定向
在 Linux 系統中:
標準輸入(stdin)預設為鍵盤輸入;標準輸出(stdout)預設為螢幕輸出;標準錯誤輸出(stderr)預設也是輸出到螢幕。
Linux Shell 環境中用 "" 表示標準輸出
0、1、2分別表示: 標準輸入,標準輸出,標準錯誤資訊輸出
如 2>a.txt 表示將錯誤資訊輸出到檔案a.txt中 。
還可以在這三個標準輸入、輸出之間實現重定向,
如將錯誤資訊重定向到標準輸出,可以用 2>&1 來實現。
***************************************************************************
常用檔案重定向命令
command > filename 把標準輸出重定向到一個新檔案中
command 1 > fielname 把標準輸出重定向到一個檔案中
command 2 > filename 把標準錯誤重定向到一個檔案中
command > filename 2>&1 把標準輸出和標準錯誤一起重定向到一個檔案中
command &> filename 把標準輸出和標準錯誤一起重定向到一個檔案中
command >& filename 把標準輸出和標準錯誤一起重定向到一個檔案中
"&"在這裡代表標準輸出和標準錯誤,這裡無論是正常輸出還是錯誤資訊都寫到filename檔案中。
command >> filename 把標準輸出重定向到一個檔案中(追加)
command 2 >> filename 把標準輸出重定向到一個檔案中(追加)
command >> filename 2>&1 把標準輸出和標準錯誤一起重定向到一個檔案中(追加)
command < filename >filename2 把command命令以filename檔案作為標準輸入,以filename2檔案作為標準輸出
command < filename 把command命令以filename檔案作為標準輸入
command << delimiter 把從標準輸入中讀入,直至遇到delimiter分界符
command command >&m 把標準輸出重定向到檔案描述符m中
command command >&- 關閉標準輸出
command ncommand n>&- 表示將 n 號輸出關閉
***************************************************************************
Linux下還有一個特殊的檔案/dev/null,它就像一個無底洞,所有重定向到它的資訊都會消失得無影無蹤。
這一點非常有用,當我們不需要回顯程式的所有資訊時,就可以將輸出重定向到/dev/null。
如果想把正常輸出和錯誤資訊都不顯示,則要把標準輸出和標準錯誤都重定向到/dev/null, 例如:
# ls 1>/dev/null 2>/dev/null
還有一種做法是將錯誤重定向到標準輸出,然後再重定向到 /dev/null,例如:
# ls >/dev/null 2>&1
注意:此處的順序不能更改,否則達不到想要的效果,此時先將標準輸出重定向到 /dev/null,然後將標準錯誤重定向到標準輸出,
由於標準輸出已經重定向到了/dev/null,因此標準錯誤也會重定向到/dev/null 。
>log 表示把標準輸出重新定向到檔案log中
>& log 表示把標準輸出和錯誤輸出產生的任何資訊都定向到檔案log中,相當於 >log 2>&1
>>log 將命令執行的結果追加到指定的檔案log中。
>>log 2>&1 將命令執行時螢幕上所產生的任何資訊追加到指定的檔案log中。
將所有的輸出都儲存到檔案all_result中:
$ find /home -name lost* > all_result 2>& 1
先將標準錯誤輸出也重定向到標準輸出中,再將標準輸出重定向到 all_result 這個檔案中。
還有一種簡便的寫法如下:
$ find /home -name lost* >& all_result
看看以下命令會有什麼結果?
$ find /home -name lost* > all_result 1>& 2
$ find /home -name lost* 2> all_result 1>& 2
$ find /home -name lost* 2>& 1 > all_result
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23682146/viewspace-1033297/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Shell 重定向(一):檔案重定向
- Linux 檔案描述符和重定向Linux
- Linux 重定向把錯誤輸出到檔案中Linux
- java -version重定向到檔案Java
- Linux大檔案重定向和管道的效率對比總結Linux
- tee - 重定向輸出到多個檔案
- linux重定向標準錯誤與標準輸出到同一檔案Linux
- Linux重定向Linux
- linux shell重定向Linux
- Linux 資料重定向Linux
- Linux 重定向輸出Linux
- Linux命令學習(重定向)Linux
- 深入 Linux I/O 重定向Linux
- ios 將NSLog日誌重定向輸出到檔案中儲存iOS
- linux下解壓.gz檔案、.cpio檔案、zip檔案Linux
- Linux----12 檔案與檔案操作Linux
- linux 檔案操作Linux
- Linux檔案管理Linux
- 檔案管理[Linux]Linux
- Linux 空洞檔案Linux
- Linux輸入輸出重定向Linux
- Linux 常用基本命令 重定向Linux
- 如何將終端輸出的資訊重定向寫入檔案中呢?
- while read line 程式碼中呼叫 ssh 檔案重定向問題.While
- Linux中重定向和管道介紹Linux
- Linux中重定向應注意的事情Linux
- Linux的管道機制和重定向Linux
- linux--輸入輸出重定向Linux
- windows環境下利用重定向管道解壓tar.xz壓縮檔案Windows
- linux組資訊檔案Linux
- Linux C 檔案IOLinux
- Linux 檔案傳輸Linux
- Linux 檔案壓縮Linux
- Linux 檔案查詢Linux
- Linux上傳檔案Linux
- Windows檔案共享LinuxWindowsLinux
- Linux檔案IO操作Linux
- Linux檔案系統Linux