Linuxでコマンド履歴を検索する【Ctrl+r】
こんにちは。
普段はIT業界についてのブログを執筆してるエンジニアです。
» 参考:プログラマーの年収は200万円以下です【IT業界の残酷な成功法則】
今回は、Linuxについての解説記事です。
Linuxでコマンド履歴を検索したい人
「Linux環境で過去に使ったコマンド履歴を検索したいのですが、どうすればいいですか?コマンド履歴を効率的に利用する方法や設定についても具体的なやり方を教えてしてください。」
こんな悩みを解決します。
本記事ではLinux/Macの環境を前提にしています
本記事では、LinuxまたはMac環境を前提にしています。それ以外のUNIX環境では一部の動作が異なることがあります。
この記事を書いている私はIT業界歴12年、うちサーバエンジニア歴6年、年収1,000万円ちょっとの金融系エンジニアです。IRIXやSolarisなどのUnixやmac、Linuxなど様々なUNIX系環境を扱ってきました。
これまでの経験を踏まえ、コマンドの解説に留まらず実務視点で利用方法を記事にしました。お役にたちましたら幸いです。
本記事の内容
1.Linuxでコマンド履歴を検索する【Ctrl+r】
やり方は簡単です。
ターミナル上でCtrl+r
を押すとコマンド履歴検索画面に変わります。
$ bck-i-search: _
ここで、検索したいキーワードを入力します。例えばls -l
と入力すると、コマンド履歴の中からls -l
を含む最近使ったコマンドが補完され、表示されます。
$ ls -lrt /etc/hosts bck-i-search: ls -l_
欲しい履歴ではなかった場合は、Ctrl+r
を押すたびに、一つずつ古い履歴が補完されます。目当ての履歴が見つかったら(1)Enterキーで実行するか、(2)←→のキーを押してコマンドを編集してから実行することができます。
$ ls -lrt /var/log/ bck-i-search: ls -l_
2.検索用にコマンド履歴をたくさん保存する
過去のコマンドはデフォルトで500件保存されますから、直近500件のコマンドが検索対象です。もっと多くの履歴を検索できるようにするには、.bashrc
の設定を変更します。次の例では、コマンド履歴の保存件数が10,000件になるよう、HISTSIZE
, HISTFILESIZE
を編集します。
vi ~/.bashrc ##HISTSIZE, HISTFILESIZEを編集## export HISTSIZE=10000 export HISTFILESIZE=10000
あまり大きすぎるとI/O負荷が大きくなりますので、ほどほどの設定が良いと思います。SSDをお使いの場合はもう少し大きい値でも良いでしょう。
3.過去のコマンド履歴を効率的に検索する
コマンド履歴の保存量を大きくしたのはいいけど、履歴が多すぎてCtrl+r
をいくら押しても古い履歴が表示されない、なんてことも起こり得ます。
そんな時は、Ctrl+r
で検索するのではなく、直接コマンド履歴ファイル(~/.bash_history
)を検索した方が良いです。古い履歴から順に表示されます。
$ grep 'ls -l' ~/.bash_history | less ls -l /usr/local/bin ←最も古い履歴 ls -llrt ~ .... ls -l /.bashrc ls -l /var/log/ ls -l /etc/hosts ←最も新しい履歴
おわりに
今回は以上です。Linuxでコマンド履歴を検索するCtrl+r
と効率的に検索するための設定を解説しました。お役に立ちましたら幸いです。
Blog TOP Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ
Linux&Linuxコマンドを勉強したい人向けの記事もくじ
用語解説・技術一般
"UNIXとLINUX"の違いについて解説します
CUIとGUIの違い・特徴について解説します
サーバリソースを確認するコマンドの使い方
【Linux】CPU使用率を確認する3つの方法を解説します
【Linux】topコマンドで,CPU消費の原因を特定する方法
【Linux】ps実行時に-efオプションを付ける理由について
【Linux】メモリ使用率を確認する|容量・空きの確認も
【Linux】ディスク容量を確認する|ディスク容量監視も
ファイル操作に関するコマンドの使い方
【Linux】ファイルの行数をカウントする方法を解説
【Linux】文字コード変換ならiconvコマンド1択です
【Linux】/dev/nullを、エンジニアが使う2つの目的
【Linux】findのexecオプションの使い方とその注意点
【Linux】findの結果から圧縮ファイルを作るコマンド
【Linux】hostsの場所はどこ?→/etc/hostsにあります
【Linux】touchコマンドで,時刻更新&空ファイル作成
Linux管理者用コマンドの使い方
【Linux】再起動コマンド(shutdown)の使い方と注意点
よく使う便利なコマンドの使い方
【Linux】改行なしでechoコマンドを使う時の -nオプション
【Linux】sleepコマンドの使用例と注意点について解説する
【Linux】rmコマンドでディレクトリを削除する方法を解説
【Linux】ファイルを削除するコマンド2選【rm以外もあり】
【Linux】awkの区切り文字を指定する,-Fオプションを解説
【Linux】sedで文字列の置換をするeオプションを解説する
【Linux】dateコマンドのフォーマットとその便利な使い方
【Linux】大文字から小文字に変換する方法【小文字から大文字も】
シェルの便利機能
「今の会社を辞めて転職します。エンジニア職に強みのあるおすすめの転職サイト・転職エージェントを教えて欲しい。また好条件で転職するにはどうすれば良いですか?」こんな悩みに答えます。 ITエンジニアに強いおすすめの転職サイト・転職エージェント3選 転職成功には強くてニューゲームが条件。どうやって実現する?