背景
Linuxでコマンドの実行ログを保存したいことは非常に多いと思います。これは、後で見返せるようにするためでもありますし、派遣社員などの場合は自分の身を守るための手段にもなります。
使用方法
script <ログを保存したいファイル名>
ファイル名を指定しなかった場合は、カレントディレクトリにtypescript
というファイルで保存されます
日付の入ったファイル名で保存したい場合
script `date +%Y%m%d`.log
このようにすれば日付名で作業ログを保存できます。
実際に使ってみます。
$ script
スクリプトを開始しました、ファイルは typescript です
$ date
2021年 3月 28日 日曜日 06:46:13 EDT
終了する場合はexit
するかctrl+d
を実行します
$ exit
exit
スクリプトを終了しました、ファイルは typescript です
ファイルにログが残っているか確認する
$ cat typescript
スクリプトは 2021年03月28日 06時46分11秒
に開始しました$ date
2021年 3月 28日 日曜日 06:46:13 EDT
$ exit
exit
スクリプトは 2021年03月28日 06時47分10秒
に終了しました
きちんと記録されていました。
既存ファイルへの追記方法
次に、ファイルへの追記方法を記載します。
同じファイルに追記したい場合はオプション-a
を使うことで可能です。
ログファイルをless
コマンドで綺麗に読むためには
script
コマンドで取得したログにエスケープシーケンスが含まれる場合、普通のテキストとして読むとエスケープシーケンスがESC
のように表示され可読性が非常に落ちます。この場合、
less -R
で読むと綺麗に読むことができます。