【 history 】コマンド――コマンド入力の履歴を表示、再利用する:Linux基本コマンドTips(154)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド入力の履歴を表示、再利用する「history」コマンドです。
本連載は、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)
現在の入力履歴をクリアする
「history -d 番号」で指定した番号の履歴を削除し、「history -c」で全ての履歴を削除します。
コマンド実行例
history -d 10
(10番の履歴を削除する)(画面2)
history -c
(全ての履歴を削除する)(画面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 © ITmedia, Inc. All Rights Reserved.