コマンドを実行した際にエラーが起きることがよくあります。その際に何のコマンドを実行したか調べたい時があります。
今回紹介するhistoryコマンドは過去実行したコマンドを表示してくれるコマンドです。
便利ですので、是非覚えていってください。
この記事でわかる事
historyコマンドの使い方について
historyコマンドの履歴数や、履歴保存場所の変更方法について
目次
history コマンド:履歴をを一覧表示する
過去に実行したコマンドを再利用したいとき、これまでに実行したコマンドの履歴を確認できると便利です。コマンド履歴を表示するにはhistoryコマンドを使います。
下記ではhistoryコマンドによるコマンド履歴を表示しています。
コマンド履歴
mitsublog@mitsublog:~$ history
1 ifconfig
2 ls
3 ifconfig
4 sudo su
5 ifconfig
6 exit
7 clear
8 history
mitsublog@mitsublog:~$
ヒストリファイルについて
コマンドの履歴はファイルに保存されており、このファイルの事をヒストリファイルと呼びます
ヒストリファイルはbashでは特に指定しない限りホームディレクトリにあるファイル.bash_historyに記録されます。
履歴ファイル
-rw------- 1 mitsublog mitsublog 43 4月 20 11:22 .bash_history
mitsublog@mitsublog:~$ ls -l .bash_history
またヒストリファイルに記録するコマンドヒストリの最大数は環境変数HISTSIZEに数を設定することで変更できます。
環境変数のHISTSIZE
HISTSIZE=1000
mitsublog@mitsublog:~$
デフォルトのヒストリファイルは環境変数HISTFILEにファイル名を設定することで、別のファイルを指定することもできます。
ファイル保存場所の指定
mitsublog@mitsublog:~$ set | grep HISTFILE
HISTFILE=/home/mitsublog/.bash_history
書式
history [オプション] [表示するコマンド数]
オプション
オプションは下記となります。
オプション | 説明 |
-c | ヒストリをクリアにします。 |
実行例
コマンドヒストリを一覧表示します
historyコマンドを実行すると過去文のコマンドを表示することができます。
過去コマンドを表示します
mitsublog@mitsublog:~$ history
1 ifconfig
2 ls
3 ifconfig
4 sudo su
5 ifconfig
6 exit
7 clear
8 history
9 env | grep HISTSIZE
10 env | grep $HISTSIZE
11 cat $HISTSIZE
直前に実行したコマンドを実行します
historyコマンドで見て、直前のコマンドを実行したい場合は「!!」を実行します。
直前コマンドを実行
mitsublog@mitsublog:~$ ls
uniqfile1 テンプレート ドキュメント ピクチャ 公開
ダウンロード デスクトップ ビデオ ミュージック
mitsublog@mitsublog:~$ !!
ls
uniqfile1 テンプレート ドキュメント ピクチャ 公開
ダウンロード デスクトップ ビデオ ミュージック
mitsublog@mitsublog:~$
番号指定で過去分を表示コマンドを実行
過去n回分のヒストリを表示するには、historyコマンドには続けて数字を入力します。
過去5回分表示
mitsublog@mitsublog:~$ history 5
32 history 5
33 history -n 5
34* history -n 2
35 history -n 5
36 history 5
mitsublog@mitsublog:~$
history 履歴削除:history -c
過去の実行コマンドの履歴を削除したい場合は「history -c」を実行します。
mitsublog@mitsublog:~$ history
1 ifconfig
2 ls
3 ifconfig
4 sudo su
5 ifconfig
6 exit
7 clear
8 history
mitsublog@mitsublog:~$ history -c
mitsublog@mitsublog:~$ history
1 history
mitsublog@mitsublog:~$
「history -c」を実行してもホームディレクトリ内にある「.bash_history」の履歴は消えません。
mitsublog@mitsublog:~$ history -c
mitsublog@mitsublog:~$ cat .bash_history
ifconfig
ls
ifconfig
sudo su
ifconfig
exit
mitsublog@mitsublog:~$ history
1 cat .bash_history
2 history
mitsublog@mitsublog:~$
まとめ
今回は以上となります。まとめに入ります。
まとめ
・historyコマンドは過去実行したコマンドの履歴を表示します
・履歴数や履歴ファイルは環境変数を変更することによりカスタマイズできる
サーバやパソコンで何かコマンド実行による変更作業を行った際にエラーが起きることがよくあります。その際に過去に何のコマンドを実行したのか調べるのに
利用するので、是非おぼえていってください。
当ブログではLinuxに関する記事を執筆していますので、ぜひご覧ください。