1. 程式人生 > >Linux之終端資訊輸出到日誌檔案

Linux之終端資訊輸出到日誌檔案

在做除錯的時候,需要觀察終端輸出的內容,有時候終端輸出太多會被覆蓋掉,並且直接在終端觀察不太方便。將終端輸出的內容儲存在日誌檔案中,一方面可以便於檢視輸出內容,另一方面可以永久儲存,便於回看。因此本文對相關的方法進行整理總結。

方法一

把命令執行的結果儲存到檔案當中:用 > 把輸出轉向就可以了,如

$ ls > ls.txt    #或者 ls-->ls.txt    #把ls命令的執行結果儲存到檔案ls.txt中

說明: > 是把輸出轉向到指定的檔案,如檔案已存在的話也會重新寫入,檔案原內容不會保留
    >> 是把輸出附向到檔案的後面,檔案原內容會保留下來

方法二

上面的方法在寫入檔案的時候,終端沒有任何輸出,如果想要同時在終端顯示,需要用tee指令

$ ls | tee ls.txt   #將會在終端上顯示ls命令的執行結果,並把執行結果輸出到ls.txt 檔案中   
$ ls | tee -a ls.txt   #保留ls.txt檔案中原來的內容,並把ls命令的執行結果新增到ls.txt檔案的後面

方法三

上面的方法是寫一句指令的輸出,如果需要執行多條指令,還用同樣的方法,就會比較麻煩,這個時候就用到了script指令

$ script
#Script. started, file is typescript
$ ls
#…… 內容省略
$ exit
#exit
#Script. done, file is typescript

我們在啟動script時沒有指定檔名,它會自動記錄到當前目錄下一個名為 typescript的檔案中。也可以用 -a引數指定檔名,比如

$script. -a example.txt  #終端的輸出內容被記錄到 example.txt這個檔案中

退出script時,用exit,事實上script就是啟動了一個shell