Linuxでコマンドの履歴を表示するコマンド「history」について説明します。
直前のログを確認するほかにも、操作ログとして保存することもできるので便利です。
【history】コマンド履歴を表示する
コマンド履歴を表示することができるコマンドです。scriptコマンドとは異なり、標準主力は記録されていません。
1 |
$ history [オプション] [表示コマンド数] |
-c | コマンドの実行履歴を消去する |
-d 履歴番号 | 指定した履歴番号のコマンド履歴削除する |
直近n件のコマンド履歴を表示する
オプションを指定せずに、表示コマンド数を指定することで表示できます。
直近3件のコマンド履歴を表示
1 2 3 4 |
$ history 3 514 pwd 515 cd /var/www/html 516 ls |
実行結果のコマンド横にある数字が、コマンドの履歴番号です。出力する履歴数が多い場合は、パイプでlessコマンドを使うとより便利です。
historyとlessコマンドを組み合わせる
1 |
$ history 100 | less |
またテキストファイルで保存する場合は、以下のように保存でいます。
テキストファイルで保存する
1 |
$ history 100 > commands.txt |
コマンド履歴を確認してコマンドを再実行する
さらに、コマンド履歴を確認し、「!」で直前のコマンドを再実行することもできます。
1 2 3 4 5 6 7 8 |
#直前に実行したコマンドを再実行 !! #履歴番号100を指定してコマンドを再実行 !100 #lsで始まる直近のコマンドを再実行 !ls |
コマンド履歴を削除する
-cオプションまたが-dオプションで、コマンド履歴を削除することができます。
コマンドを一括削除する
1 |
$ history -c |
履歴番号を指定してコマンドを削除する
1 |
$ history -d 10 |
一括削除した場合、履歴番号は1から振り直されます。また、例えば履歴番号10を指定して削除した場合、履歴番号11が履歴番号10に繰り上がってカウントされます。