Terminal

將所有終端輸出保存到文件中

  • November 21, 2021

是否有某種方法可以使用命令將所有終端輸出保存到文件中?

  • 我不是在談論重定向command > file.txt
  • 不是歷史history > file.txt,我需要完整的終端文本
  • 不是用熱鍵!

就像是terminal_text > file.txt

您可以使用script. 它基本上會保存該script會話中終端上列印的所有內容。

來自man script

script makes a typescript of everything printed on your terminal. 
It is useful for students who need a hardcopy record of an 
interactive session as proof of an assignment, as the typescript file 
can be printed out later with lpr(1).

您只需在終端中輸入即可啟動script會話script,所有後續命令及其輸出都將保存在typescript目前目錄中命名的文件中。您也可以通過以下方式將結果保存到不同的文件中script

script output.txt

要註銷script會話(停止保存內容),只需鍵入exit.

這是一個例子:

$ script output.txt
Script started, file is output.txt

$ ls
output.txt  testfile.txt  foo.txt

$ exit
exit
Script done, file is output.txt

現在,如果我閱讀文件:

$ cat output.txt

Script started on Mon 20 Apr 2015 08:00:14 AM BDT
$ ls
output.txt  testfile.txt  foo.txt
$ exit
exit

Script done on Mon 20 Apr 2015 08:00:21 AM BDT

script也有許多選項,例如安靜執行-q--quiet)而不顯示/保存程序消息,它也可以執行特定命令-c--command)而不是會話,它還有許多其他選項。檢查man script以獲得更多想法。

引用自:https://unix.stackexchange.com/questions/200637