檔案重定向——日誌檔案生成
阿新 • • 發佈:2019-01-04
2018/11/27
我們總會遇到這樣的需求,想執行命令後把輸出結果儲存在一個檔案裡面,俗稱日誌檔案。接下來有兩種方法。個人傾向第一種,比較方便。
>(輸出重定向)
-
在命令後加上
>filepath
,就是相當於本來要輸出到介面上的內容存到filepath這個檔案裡面,且若檔案不存在將會被建立。 -
>
:輸出重定向到一個檔案或裝置,相當於刪除該檔案並重新建立該檔案,再寫入的效果>!
:輸出重定向到一個檔案或裝置,強制覆蓋原來的檔案>>
:輸出重定向到一個檔案或裝置,追加原來的檔案2>
:將一個標準錯誤輸出重定向到一個檔案或裝置,覆蓋原來的檔案2>>
:將一個標準錯誤輸出重定向到一個檔案或裝置,追加到原來的檔案>&
:執行時螢幕上所產生的任何資訊寫入指定的檔案中>>&
:執行時螢幕上所產生的任何資訊追加指定的檔案中 -
可以把內容放到
/dev/null
這個“黑洞”裡面,這樣螢幕不會有不想要的輸出。比如2>/dev/null
。
script
可以使用script工具記錄使用者在當前終端的所有的操作,已經輸出到螢幕的內容。將這些資訊儲存到指定的文字檔案中。而且可以使用 scriptreplay將其錄製的結果播放給他人觀看。
-a 選項 ,在現有輸出錄製的檔案的內容上追加新的內容
-c選項 ,後面可以加上需要執行的命令,而不是互動式shell上執行的命令
-r選項 , 子程序中返回退出程式碼
-f選項 , 如果需要在輸出到日誌檔案的同時,也可以檢視日誌檔案的內容,可以使用 -f 引數。PS:可以用於教學,兩個命令列接-f可以實時演示
-q選項 ,可以使script命令以靜默模式執行
-t選項,指明輸出錄製的時間資料
-V選項,輸出script的版本資訊,然後退出
-h選項,輸出script的help資訊,然後退出
- 當file為空時,操作內容將記錄到當前目錄中名稱為typescript的文字檔案中,預設會生成。
- 不為空,匯入資料到指定檔案裡面,不存在則建立。
- 輸入exit可以退出script模式。
- 理論上,我們用
script "filepath" -c "command"
就能夠替代>
,但自己使用時候總是出現結果不如預期,算了還是用第一個吧。