【history】Linuxでコマンド履歴を表示するコマンド

Linuxでコマンドの履歴を表示するコマンド「history」について説明します。

直前のログを確認するほかにも、操作ログとして保存することもできるので便利です。

【history】コマンド履歴を表示する

コマンド履歴を表示することができるコマンドです。scriptコマンドとは異なり、標準主力は記録されていません。

$ history [オプション] [表示コマンド数]
オプション
-c コマンドの実行履歴を消去する
-d 履歴番号 指定した履歴番号のコマンド履歴削除する

直近n件のコマンド履歴を表示する

オプションを指定せずに、表示コマンド数を指定することで表示できます。

直近3件のコマンド履歴を表示

$ history 3
  514  pwd
  515  cd /var/www/html
  516  ls

実行結果のコマンド横にある数字が、コマンドの履歴番号です。出力する履歴数が多い場合は、パイプlessコマンドを使うとより便利です。

historyとlessコマンドを組み合わせる

$ history 100 | less

またテキストファイルで保存する場合は、以下のように保存でいます。

テキストファイルで保存する

$ history 100 > commands.txt

コマンド履歴を確認してコマンドを再実行する

さらに、コマンド履歴を確認し、「!」で直前のコマンドを再実行することもできます。

#直前に実行したコマンドを再実行
!!

#履歴番号100を指定してコマンドを再実行
!100

#lsで始まる直近のコマンドを再実行
!ls

コマンド履歴を削除する

-cオプションまたが-dオプションで、コマンド履歴を削除することができます。

コマンドを一括削除する

$ history -c

履歴番号を指定してコマンドを削除する

$ history -d 10

一括削除した場合、履歴番号は1から振り直されます。また、例えば履歴番号10を指定して削除した場合、履歴番号11が履歴番号10に繰り上がってカウントされます。