at_shiita.ishigaki
2022年2月17日 8時40分
実行したコマンドのログを取るにはscriptコマンドを使用します。
ログの取得を終了するにはexitコマンドか Ctrl + d を入力します。
※ここでは例として、dfコマンドを実行した場合のログを記録します。
[armadillo ~]# script
Script started, file is typescript
[armadillo ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 10240 0 10240 0% /dev
tmpfs 102072 2848 99224 3% /run
/dev/mmcblk0p2 3424176 807040 2423480 25% /
tmpfs 255172 0 255172 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 255172 0 255172 0% /sys/fs/cgroup
tmpfs 51032 0 51032 0% /run/user/0
[armadillo ~]# exit
exit
Script done, file is typescript
[armadillo ~]# cat typescript
Script started on Mon Jan 31 10:23:54 2022
[armadillo ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 10240 0 10240 0% /dev
tmpfs 102072 2848 99224 3% /run
/dev/mmcblk0p2 3424176 807040 2423480 25% /
tmpfs 255172 0 255172 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 255172 0 255172 0% /sys/fs/cgroup
tmpfs 51032 0 51032 0% /run/user/0
[armadillo ~]# exit
exit
Script done on Mon Jan 31 10:23:56 2022
ログの保存先はデフォルトではtypescriptファイルに記録されます。ファイル名を変更するにはscriptコマンドに続けてファイル名を入力します。
[armadillo ~]# script log
Script started, file is log
[armadillo ~]# exit
exit
Script done, file is log
デフォルトではログファイルが既に存在している場合は上書きされますが、追記する場合は-aオプションを使用します。
[armadillo ~]# script -a
Script started, file is typescript
[armadillo ~]# ls
log typescript
[armadillo ~]# exit
exit
Script done, file is typescript
[armadillo ~]# cat typescript
Script started on Mon Jan 31 10:39:48 2022
[armadillo ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 10240 0 10240 0% /dev
tmpfs 102072 2848 99224 3% /run
/dev/mmcblk0p2 3424176 807232 2423288 25% /
tmpfs 255172 0 255172 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 255172 0 255172 0% /sys/fs/cgroup
tmpfs 51032 0 51032 0% /run/user/0
[armadillo ~]# exit
exit
Script done on Mon Jan 31 10:39:51 2022
Script started on Mon Jan 31 10:45:34 2022
[armadillo ~]# ls
log typescript
[armadillo ~]# exit
exit
Script done on Mon Jan 31 10:45:42 2022
ログファイルを再生するscriptreplayというコマンドを使用するためには、scriptコマンドでタイミングデータも出力する必要があります。
タイミングデータを出力するには-tか--timingオプションを使用します。-tオプションを使用する場合は-tに続いて空白を入れることができないため注意が必要です。
[armadillo ~]# script -ttiming
Script started, file is typescript
[armadillo ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 10240 0 10240 0% /dev
tmpfs 102072 4124 97948 5% /run
/dev/mmcblk0p2 3424176 807524 2422996 25% /
tmpfs 255172 0 255172 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 255172 0 255172 0% /sys/fs/cgroup
tmpfs 51032 0 51032 0% /run/user/0
[armadillo ~]# exit
exit
Script done, file is typescript
[armadillo ~]# cat timing
0.023156 18
1.396657 1
0.106836 1
0.115356 2
0.008421 59
0.000231 53
0.000126 53
0.000114 50
0.000112 57
0.000110 58
0.000108 63
0.000101 60
0.001564 18
0.917028 1
0.223516 1
0.107621 1
0.142290 1
0.069424 8
[armadillo ~]# scriptreplay typescript -t timing
// 以下は自動的に入力された内容です
[armadillo ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 10240 0 10240 0% /dev
tmpfs 102072 4124 97948 5% /run
/dev/mmcblk0p2 3424176 807524 2422996 25% /
tmpfs 255172 0 255172 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 255172 0 255172 0% /sys/fs/cgroup
tmpfs 51032 0 51032 0% /run/user/0
[armadillo ~]# exit
exit