Linuxコマンド辞典 historyコマンド(プロセス管理)

コマンド履歴を表示する「history」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

概要・使用方法

bashなどのシェルには、入力されたコマンドは履歴に保存されています。このコマンド履歴機能を利用し、入力したコマンドの履歴を表示します。

履歴保存数は環境変数HISTSIZE設定された数だけ保存されます。デフォルトは500個です。コマンド利k礼は環境変数HISTFILEに設定されたファイルに記録され、bashのデフォルトでは「~/.bash_history」が利用されます。コマンド履歴は、行頭に履歴順序をつけてリスト表示されます。この番号を使うと番号を指定するだけで、過去に実行したコマンドをもう一度実行することができます。

番号を指定してもう一度コマンドを実行する場合は、「$!565」のように指定します。「-r」オプション、「-w」オプション、「-a」オプションでファイル名を指定しない場合はHISTFILEが使われます。

書式

$ history [オプション]

オプション

数値指定した数値分の最新のコマンド履歴を表示する
-C履歴リストをすべて削除する
-d 数値指定した数値の履歴番号にあたるコマンド履歴を削除する
-r [ファイル名]指定したファイルに記述されたコマンドをコマンド履歴に追加する
-w [ファイル名]コマンド履歴を指定したファイルに書き込む
-s 文字列履歴の最後に指定した文字列を追加する
-a [ファイル名]現在のセッションの履歴を書き込む

コマンド履歴を表示する

$ history

実行結果

[sunarin@localhost tmp]$ history
    1  su - 
    2  ls
    3  mkdir work
    4  clear
    5  exit
    6  su - 
    7  sudo -i
    8  su - 
    9  sudo -i
   10  sudo reboot
   11  sudo -l
   12  su test
   13  su - 
   14  ls

コマンド履歴を削除する

$ history -c

実行結果

[sunarin@localhost tmp]$ history -c
[sunarin@localhost tmp]$ history
    1  history
[sunarin@localhost tmp]$ 

履歴にあるコマンドを履歴番号を指定して再実行する

$ history 履歴番号

実行結果

[sunarin@localhost sunarin]$ history
    1  history
    2  ls
    3  cd /home/suna
    4  cd /home/sunarin
    5  ls
    6  history
[sunarin@localhost sunarin]$ history 2
    6  history
    7  history 2
[sunarin@localhost sunarin]$ 

ファイルからコマンドリストを読み込んでコマンド履歴に追加する

$ history - r ヒストリーファイル

実行結果

[sunarin@localhost sunarin]$ cat history  #historyファイル
uname -a
uname -r
[sunarin@localhost sunarin]$ history -r history 
[sunarin@localhost sunarin]$ history 
    1  history
    2  ls
    3  cd /home/suna
    4  cd /home/sunarin
    5  ls
    6  history
    7  history 2
    8  ls
    9  vi history
   10  cat history 
   11  history -r history 
   12  uname -a
   13  uname -r
   14  history 
[sunarin@localhost sunarin]$ 

変数HISTTIMEFORMATを用意すると履歴に実行時間を記録できます。HISTOTIMEFORMAT=’%Y/%m/%d %H:%M:%S’のようにすれば「2015/10/10 10:30:02」のような時刻が行頭に記録されます。