概述
script 會將終端機中執行的所有活動記錄到文字檔中。這可用於教學、問題排除和稽核目的,記錄的工作階段可透過 scriptreplay 指令重播。
主要特色
- 記錄終端機工作階段的所有輸入/輸出
- 預設儲存為「typescript」檔案
- 可將內容附加到現有檔案
- 可僅記錄特定指令的執行結果
- 支援記錄和重播工作階段計時資訊
主要選項
script 指令的主要選項會影響記錄方式、輸出檔案管理以及工作階段資訊的記錄。
記錄與檔案管理
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`script` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
透過 script 指令的各種使用範例,了解如何有效記錄終端機工作階段。
基本用法(開始和結束記錄)
script
# 從現在開始,您輸入的所有指令和輸出都將被記錄。
ls -l
pwd
exit
執行 script 後,當前工作階段的所有輸入/輸出將開始記錄到名為「typescript」的檔案中。若要結束記錄,請輸入「exit」。
將工作階段記錄到特定檔案
script my_session.log
# 工作階段記錄...
exit
將工作階段記錄到您想要的檔案名稱,而不是預設的「typescript」檔案。
將工作階段附加到現有檔案
script -a my_session.log
# 附加工作階段記錄...
exit
如果記錄檔案已存在,則將新的工作階段內容附加到該檔案,而不是覆寫它。
僅記錄特定指令
script -c "ls -la /tmp" ls_tmp.log
執行指定的單一指令,僅記錄其執行結果後立即結束,而不是啟動互動式 shell。
記錄計時資訊
script -t 20231027_timing.log my_session_with_timing.log
# 工作階段記錄...
exit
將每個輸出的計時資訊與工作階段內容一起記錄到單獨的檔案中。這兩個檔案將用於使用 scriptreplay 重播工作階段。
提示與注意事項
為了更有效地使用 script 指令並為可能發生的問題做好準備,請參閱這些提示和注意事項。
檢查記錄的工作階段
記錄的「typescript」檔案是純文字檔案,因此您可以使用 `cat`、`less`、`more` 等指令來檢視其內容。但是,由於可能包含特殊字元或控制碼,使用 `less -R` 或 `cat -v` 可能會更有用。
- 檢查預設檔案:`cat typescript`
- 檢查特定檔案:`less my_session.log`
重播工作階段 (scriptreplay)
如果您使用 `-t` 選項記錄了計時資訊,則可以使用 `scriptreplay` 指令在實際終端機中重播記錄的工作階段。這對於演示或教學非常有用。
- 重播指令:`scriptreplay 20231027_timing.log my_session_with_timing.log`
安全與隱私
script 會記錄所有輸入的內容,因此密碼或敏感資訊可能會直接儲存在檔案中。請確保適當地設定記錄檔案的存取權限,並在處理敏感操作時謹慎使用。
- 注意: 請注意,密碼、API 金鑰等敏感資訊可能會被記錄
- 建議: 將記錄檔案的權限設定為 `chmod 600` 等以進行保護
中斷記錄時的注意事項
如果在 script 工作階段期間終端機異常終止(例如,多次按下 Ctrl+C 以終止 script 程序本身)或斷電,記錄檔案可能會損壞或儲存不完整。建議始終使用 `exit` 指令正常結束。