コマンド履歴を表示するhistoryコマンドを詳しく!【Linuxコマンド集】

historyコマンド
  • このエントリーをはてなブックマークに追加
  • Pocket

historyはコマンドの入力履歴を調べたり、コマンドの入力履歴を外部ファイルで管理したりするコマンドだ。

作業履歴を残しておくことはエンジニアにとって大切なことだ。手っ取り早く残すためにhistoryコマンドは重宝する。

例えば、Linuxのシステムを構築する際に、どんなコマンドを入力していたか記録し、その通り実行することで、同じ設定内容のコンピュータをもう一台作成することができる。あくまでも手っ取り早く実施したいときのみだが、有効な手段だ。

historyコマンドの基本

コマンドの基本動作

使い方は、次のとおりだ。

$ history

history

コマンドの入力履歴が表示された。

今回は、すでに、「ls -la」「cd work」「cat html.php」の3つのコマンドを実行していた。

それらのコマンドが入力履歴として表示されている。

それぞれのコマンドの左側の番号は管理番号で、この順番で入力されていることを指す番号と考えていいだろう。

最後に実行したhistoryコマンドも実行したコマンドとして記録されている。

historyコマンドのオプションたち

オプションの一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション -c

端末に記録されているコマンド履歴を消去する。

オプション -d

端末に記録されている指定した管理番号のコマンド履歴を削除する。

オプション -w

端末に記録されているコマンド履歴をファイルに書き込む。

オプション -r

ファイルに書き込まれているコマンド履歴を端末に読み込む。

オプション -a

端末に記録されているコマンド履歴をファイルに追記で書き込む。

-cオプション:端末に記録されているコマンド履歴を消去する

端末に記録されているコマンド履歴を消去する書式は次のとおりだ。

$ history -c

historyコマンド

端末に記録されているコマンド履歴が消去された。

はじめに4つのコマンド履歴があったが-cオプションを実行することで、履歴が消去され、次にhistoryコマンドを実行した際には、最後に実行したhistoryコマンドのみが記録されている。

-cオプションを実行したhistoryコマンドの履歴も消去されるので、消去した事実は消えてしまうので注意が必要だ。

-dオプション:端末に記録されている指定した管理番号のコマンド履歴を削除する

端末に記録されている、任意の管理番号のコマンド履歴を消去する書式は次のとおりだ。

$ history -d 管理番号

端末に記録されている、725番の管理番号のコマンド履歴を消去する書式は次のとおりだ。

$ history -d 725

コマンドごとの削除

端末に記録されている、725番の管理番号のコマンド履歴が消去された。

はじめに4つのコマンド履歴があったが、そのうちの725番が「cat html.php」というコマンドだった。-dオプションで725番を指定して実行することで、725番「cat html.php」の履歴が消去され、次にhistoryコマンドを実行した際には、-dオプションで削除したコマンドと、最後に実行したhistoryコマンドのみが追記されている。

-wオプション:端末に記録されているコマンド履歴をファイルに書き込む

端末に記録されているコマンド履歴をファイルに書き込み、バックアップしておく。

書き込まれたファイルはテキストファイルなのでcatコマンドで内容を確認したり、viエディタで内容を編集したりできる。

書式は次の通りだ。

$ history -w ファイル名

端末に記録されているコマンド履歴をファイルhis.txtに保存するコマンドは次のとおりだ。

$ history -w his.txt

history -w オプション

はじめに4つのコマンド履歴があり、その内容がファイルhis.txtに保存されている。

-rオプション:ファイルに書き込まれているコマンド履歴を端末に読み込む

ファイルに書き込まれているコマンド履歴を端末に読み込む。

端末に読み込む際は、現状で端末に記録されているコマンド履歴の後に追加する形で読み込まれる。

書式は次の通りだ。

$ history -r ファイル名

ファイルhis.txtに記録されているコマンド履歴を端末に読み込むコマンドは次のとおりだ。

$ history -r his.txt

history -r オプション

はじめに4つのコマンド履歴があり、その後、-rオプションでファイルhis.txtから履歴を読み込んだので内容が追記されている。-wコマンドを実行した際に、-wコマンドを実行した履歴が残っている。最後にhistoryコマンドを実行したので、その内容が端末に記録されている。

読みだした内容に管理番号が表示してあるのは、historyコマンドが自動で割り振った番号を表示しているので、実際のファイルには番号は記載されていない。

-aプション:端末に記録されているコマンド履歴をファイルに追記で書き込む

端末に記録されているコマンド履歴を、バックアップしていたファイルに追記する。

作業途中で区切ったコマンド履歴に、作業再開してからのコマンド履歴を追記するというときに使うとよいだろう。

書式は次の通りだ。

$ history -a ファイル名

端末に記録されているコマンド履歴をファイルhis.txtに追記するコマンドは次のとおりだ。

$ history -a his.txt

history -a オプション

はじめに端末に記録されているコマンド履歴をクリアしている。その状態でhis.txtの内容を端末に読み込むと723番から728番までの履歴が読み込まれていた。その状態で、-aオプションを実行し、ファイルhis.txtに確認のためのhistoryコマンドと、-rオプションでファイルを読み込んだ動作が追記された。最後のhistoryコマンドで動作確認し、内容が間違いないことがわかる。

まとめ

今回は、historyコマンドを使ったコマンド履歴の操作方法を解説した。

Linuxは人間が入力した内容を記録しているため、後で動作に間違いがなかったかを確認できるとともに、同じ動作なら履歴内容を記録したファイル内容を操作して、同じ動作をするためのシェルファイルを作成することができる。

いわゆる、操作内容を記録して、その内容を繰り返すことができるマクロ動作ができるので、応用してほしい。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する