script コマンド

scriptコマンドとは
端末での操作内容を記録するコマンドです。
scriptコマンドからexitを入力するまで記録します。

util-linux-script パッケージをインストールすると、script コマンドが利用できる
[root@falcon21 ~]# dnf -y install util-linux-script
リポジトリの更新を読み込み中:
リポジトリを読み込みました。
Package Arch Version Repository Size
Installing:
util-linux-script x86_64 2.40.4-7.fc42 fedora 137.7 KiB
Installing dependencies:
libutempter x86_64 1.2.1-17.fc42 fedora 49.5 KiB

Transaction Summary:
Installing: 2 packages

パッケージサイズ 86 KiB 、ダウンロードサイズ 86 KiB 。
完了後、187 KiB のサイズが利用されます(インストール 187 KiB、削除 0 B)。
[1/2] libutempter-0:1.2.1-17.fc42.x86_64 100% | 179.6 KiB/s | 26.4 KiB | 00m00s
[2/2] util-linux-script-0:2.40.4-7.fc42.x86_64 100% | 239.5 KiB/s | 59.4 KiB | 00m00s
————————————————————————————————————
[2/2] Total 100% | 72.5 KiB/s | 85.8 KiB | 00m01s
トランザクションを実行中
[1/4] パッケージ ファイルを検証 100% | 500.0 B/s | 2.0 B | 00m00s
[2/4] トランザクションの準備 100% | 1.0 B/s | 2.0 B | 00m01s
[3/4] インストール中 libutempter-0:1.2.1-17.fc42.x86_64 100% | 451.5 KiB/s | 51.5 KiB | 00m00s
[4/4] インストール中 util-linux-script-0:2.40.4-7.fc42.x86_6 100% | 69.4 KiB/s | 140.1 KiB | 00m02s
完了しました!

————


使い方
$script オプション dir/file
スクリプトを開始しました、ファイルは dir/file です

—- コマンド作業 ———–
      :
      :
終了する場合は「exit」するか 「ctrl+d」

exit スクリプトを終了しました、ファイルは dir/file です

———————

script コマンド 実例

script コマンドの基本操作実例
1. 基本的なログ記録(ファイル名指定)
scriptコマンドの後にログファイル名を指定して実行します。


$ script my_session.log
Script started, output log file is ‘my_session.log’.
# 好きなコマンドを実行
$ ls -l
$ date
# 記録を終了
$ exit
exit
Script done, output log file is ‘my_session.log’.

これにより、my_session.logに操作内容が保存されます

——

2. ファイル名を指定しない場合
ファイル名を省略すると、デフォルトのファイル名typescriptで記録されます

$ script
Script started, output log file is ‘typescript’.
# …操作…
$ exit


——-
3 既存のログファイルに追記する(-a オプション)
過去のログファイルに続けて記録したい場合、-aオプション(append)を使用します。

$ script -a my_session.log
Script started, output log file is ‘my_session.log’.
# …追加の操作…
$ exit


———

4. コマンドの出力のみを記録する(-q オプション)
「Script started…」などのメッセージを隠して、コマンドの実行結果だけを記録したい場合に便利です。

$ script -q my_session.log


———————
注意点
scriptを実行中、その中でさらにscriptを呼び出すとネスト(入れ子)になるので注意してください。
ファイル名が指定されていないと、カレントディレクトリにtypescriptが上書きされていく可能性があります。


ターミナル

$ script オプション 保存先ファイルのパス

保存先ファイルのパスを指定しない場合はtypescriptというファイルが作成され記録されます。
また何のオプションを指定しないと既存のファイルに上書きされます。
記録が保存されるのはexitを実行したタイミングです。

オプション

オプションには以下のようなものがあります。

オプション説明
-a内容を上書きせず既存のファイルに追記する
-c コマンドコマンドの実行結果を記録する
-fリアルタイムに記録する
-q開始、終了時のメッセージを表示しない&終了時のメッセージを表示しない
-tタイミングデータを標準エラー出力に出力する。/td>