【Linux】コマンド実行履歴

2019年3月10日

一度実行したコマンドをもう一度使いたい、あるいはその一部分だけ変更して実行したい場合が多々あります。bashはコマンドの実行履歴を保存する機能があるのでそれを使用することにより再度入力する手間が省けます。

コマンドプロンプト上での実行履歴表示

コマンドプロンプト上での履歴の表示仕方は以下のbash履歴機能を使用することによって確認できます。

コマンド 説明
↑(Ctrl + p) ひとつ前のコマンドを表示
↓(Ctrl + n) ひとつ後のコマンドを表示
!! 直前に実行されたコマンドを実行
![文字列] 指定した文字列から始まる直近のコマンドを実行
!?[文字列] 指定した文字列を含む直近のコマンドを実行
![コマンド履歴番号] 指定した履歴番号のコマンドを実行

historyコマンド

historyコマンド使用するとコマンド履歴が古いものから順に表示されます。履歴には番号が振ってあるのでこの番号を使ってコマンドを使用することも可能です。

history
履歴表示
形式
history [オプション] もしくは [表示する履歴数(直近)]
オプション
オプション 説明
-c 履歴を全て削除
-d[履歴番号] 指定した履歴番号のコマンドを履歴から削除する
[root@hostname /]# history 5
  117 echo $TEST
  118 ls -la
  119 declare -x TEST2
  120 echo $TEST2
  121 history 5
直近5件の実行履歴を表示

上記にて紹介したオプションは削除用ですのであまり使うことはないかと思います。削除も出来るんだ程度に知っておけばいいかと思います。

コマンド履歴を保存しているファイル名は「HISTFILE」環境変数に指定されています。デフォルトでは「˜/.bash_history」に設定されています。保存する履歴の数は、「HISTSIZE」及び「HISTFILESIZE」によって設定されています。