Linux之終端資訊輸出到日誌檔案
阿新 • • 發佈:2018-10-31
在做除錯的時候,需要觀察終端輸出的內容,有時候終端輸出太多會被覆蓋掉,並且直接在終端觀察不太方便。將終端輸出的內容儲存在日誌檔案中,一方面可以便於檢視輸出內容,另一方面可以永久儲存,便於回看。因此本文對相關的方法進行整理總結。
方法一
把命令執行的結果儲存到檔案當中:用 > 把輸出轉向就可以了,如
$ 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