Linux

【Linux】コマンドの履歴を調べる方法解説【過去に入力したコマンドを知りたい場合】

LinuxをPCで操作している

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、Linuxでコマンドの履歴を調べる方法を解説します。コマンドの履歴を調べる方法はhistoryコマンドを使用します。またはキーボードの”↑”を押すことでも過去に入力したコマンドを遡ることができます。コマンドの履歴を調べたい方、必見の内容です。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【Linux】コマンドの履歴を調べる方法解説

Linuxのコマンドの履歴はどうやって調べるの?

今回の記事では、Linuxでコマンドの履歴を調べる方法について解説します。Linuxのコマンド履歴を調べる方法は、以下の2つがあります。

  • historyコマンド
  • bashの履歴機能

それぞれの方法について、詳しく解説します。

historyコマンドで過去のコマンドを調べる

まず、1つ目はhistoryコマンドで過去のコマンドを表示させる方法です。historyコマンドの使い方について詳しく解説します。

historyコマンドの使い方

historyコマンドは以下のように使います。

history

historyコマンドを入力すると、コマンドの履歴が順に表示されます。

historyコマンドを実行する

古いものから順に番号が付いているので、この番号を指定して実行することもできます。

//historyで1番目のコマンドを実行
!1

//historyで5番目のコマンドを実行
!5

特定のコマンドがあるか履歴の中から調べる

特定のコマンドがあるかを履歴の中から調べるためには、historyコマンドとgrepコマンドを組み合わせて使います。便利なので覚えておきましょう!

history | grep  [検索したいコマンド]

//cdコマンドが履歴にあるか調べる場合
history | grep  cd

grepコマンドの詳しい使い方はこちらの記事で詳しく解説しています。

【初心者向け】Linuxのgrepコマンドで文字を検索する方法を詳しく解説【便利なオプションも紹介】

正規表現とは?Linuxで正規表現を使ってファイル検索してみよう【分かりやすく解説】

historyコマンドのオプション

historyコマンドのオプションの使い方を解説します。主なオプションは以下のようなものがあります。

//履歴を削除する
history -c

//履歴をファイルに保存
history -w history.txt

//末尾からの10行分表示
history 10

historyコマンドのオプションの一覧はこちらです。

-a履歴ファイルに現在のセッションの履歴を追加する
-c全ての履歴を削除する
-d 番号指定した番号の履歴を削除する
-n履歴ファイルからまだ読み込まれていない行を全て読み込む
-r履歴ファイルを読み込む
-w履歴をファイルに書き込む
整数末尾から指定した行数を表示

bashの履歴機能で過去のコマンドを探す

bashの履歴機能で過去のコマンドを探す場合は、キーボードの”↑”もしくは、”↓”を押します。

“↑”を押した場合は、最近入力したコマンドから順に表示されます。”↓”の場合は逆の順番で表示されます。

特定のコマンドを検索したい場合は、[Ctrl] + Rを押してから、文字列を入力します。すると、文字列にマッチした過去のコマンドを表示してくれます。

何回も同じコマンドを入力するのは面倒なので、これらのショートカットを活用して、コマンドを素早く入力できるようにしておきましょう!

コマンドの履歴はbash_historyに保存されている

先ほどまで、コマンドの履歴を表示させる方法を解説しました。これらの履歴はどこに保存されているのでしょうか?

コマンドの履歴は各ユーザのホームディレクトリ配下の”.bash_history”ファイルに保存されています。以下のコマンドで確認することができます。

//一般ユーザー[user]の場合
cat /home/user/.bash_history

//rootユーザーの場合
cat /root/.bash_history

Linuxのコマンド履歴を調べる方法まとめ

今回の記事では、Linuxのコマンドの履歴を調べる方法について解説しました。まとめると以下のようになります。

  • historyコマンドで表示できる
  • bashの履歴機能で表示できる
  • コマンドは.bash_historyファイルに保存されている

このようなITに関連する内容を当ブログでは、発信しているので興味のある方は、是非ご覧ください。

さらにlinuxについて勉強したい方はこちらの参考書がオススメです。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST