概要
scriptは、ターミナルで実行されるすべての操作をテキストファイルに記録します。これは、教育、問題解決、監査の目的で利用でき、記録されたセッションはscriptreplayコマンドで再生できます。
主な特徴
- ターミナルセッションのすべての入出力を記録
- デフォルトで「typescript」ファイルに保存
- 既存のファイルに内容を追加可能
- 特定のコマンド実行結果のみ記録可能
- セッションタイミング情報の記録と再生をサポート
主なオプション
scriptコマンドの主なオプションは、記録方法、出力ファイルの管理、およびセッション情報の記録に影響します。
記録とファイル管理
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`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
対話型シェルを開始せずに、指定された単一コマンドの実行結果のみを記録して即座に終了します。
タイミング情報と共に記録
script -t 20231027_timing.log my_session_with_timing.log
# セッション記録...
exit
セッション内容と共に、各出力のタイミング情報を別のファイルに記録します。これらの2つのファイルは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`コマンドで正常に終了することをお勧めします。