連載
» 2017年10月20日 05時00分 公開

Linux基本コマンドTips(154):【 history 】コマンド――コマンド入力の履歴を表示、再利用する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド入力の履歴を表示、再利用する「history」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド入力の履歴を表示、再利用する「history」コマンドです。

historyコマンドとは?

 「history」コマンドは、コマンド入力の履歴(ヒストリー)を表示するコマンドです。

 コマンドの入力履歴は上下の矢印キーや[CTRL]+[N]と[CTRL]+[P]で呼び出すことができます(繰り返し実行可能)。「history」では入力履歴を番号付きで一覧表示し、コマンドの再実行を助けます ※1。

※1 ここではbashのビルトインコマンドであるhistoryについて扱う。tcshやzshにも同名で同じ用途のhistoryコマンドがあるものの、使用できるオプションなどに違いがある。





historyコマンドの書式

history [オプション]

history オプション [ファイル]

※[ ]は省略可能な引数を示しています。




historyの主なオプション

短いオプション 意味
整数値 履歴の末尾から指定した行数分を表示する
-c 履歴一覧から全ての項目を削除する
-d 番号 指定した番号の履歴項目を削除する
-a 履歴ファイルに現在のセッションの履歴を追加する
-n 履歴ファイルからまだ読み込まれていない行を全て読み込む
-r ファイル 履歴ファイルを読み込み、内容を履歴一覧に追加する
-w ファイル 現在の履歴を履歴ファイルに上書きする

※オプション -a、-n、-r、-wは、履歴ファイルを指定しなかった場合、ホームディレクトリの「.bash_history」を用いる。環境変数HISTFILEが別のファイルを指定していた場合、そのファイルを用いる。





コマンドの入力履歴を表示する

 「history」でコマンドの入力履歴を表示します。「history 整数値」で履歴の末尾から指定した行数分を表示できます。直近の履歴だけを見たい場合に役立ちます。

 historyの表示内容は番号とコマンドラインが対になっています。この番号はコマンドの再利用に役立ちます。コマンドライン上で「!番号」と入力することで、指定したコマンドを実行します。

 historyが保存する履歴の件数は、デフォルト値で500です ※2。

※2 環境変数HISTFILESIZE、またはHISTSIZEを設定することで変更可能。環境変数の値はexportコマンドで設定できる。環境変数の内容を確認するにはechoコマンド(連載第113回)を使う。「echo $HISTFILESIZE」「echo $HISTSIZE」などと実行する。



コマンド実行例

history

(コマンドの入力履歴を表示する)(画面1


画面1 画面1 コマンドの入力履歴を表示したところ


現在の入力履歴をクリアする

 「history -d 番号」で指定した番号の履歴を削除し、「history -c」で全ての履歴を削除します。

コマンド実行例

history -d 10

(10番の履歴を削除する)(画面2

history -c

(全ての履歴を削除する)(画面2


画面2 画面2 コマンドの入力履歴を削除したところ


現在の入力履歴をファイルに保存する

 「history -w ファイル名」で現在の履歴を履歴ファイルに上書きします。「history -r ファイル名」で履歴を読み込むこともできます。

 よく使うコマンドラインをファイルに保存しておいて、いつでも再利用できるようにする、という使い方ができます。「history -w ファイル名」などで保存した場合、履歴には番号が付きません。再利用する場合は、エディタで適宜必要なものだけを編集して残すとよいでしょう。

コマンド実行例

history -w history.txt

(現在の履歴をhistory.txtに保存)

history -r history.txt

(history.txtの内容を履歴として読み込む)




筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。