対象読者
- 日常的に Linux/WSL のターミナルを開いて作業している方
- ちょっとした検索を素早く済ませたい cursor ユーザー
- GUI に切り替えず、シェル上で履歴やファイル名を探したい方
はじめに
開発中に「あのファイル名どこだっけ」「さっき打ったコマンドをもう一度呼び出したい」という瞬間は何度も訪れます。ここでは私が日常的に使っている、文字検索に強いシンプルな Linux コマンドを 2 つ+α だけ紹介します。どれも一瞬で覚えられ、ターミナルから離れずに調査を完了できます。
コマンド1: ls | grep <検索語>
指定したディレクトリ内で、名前に特定の文字列を含むファイル/ディレクトリだけを抽出するパターンです。
ls | grep settings
-
lsの結果をパイプでgrepに渡し、settingsを含むエントリのみ表示します。 - オプションを付ければ、より柔軟な検索が可能です。例えば拡張子で絞りたい場合:
ls | grep '\.md$'
- 正規表現が使えるので、
\.md$のように「末尾が.md」のファイルだけ抽出できます。
重要: grep はデフォルトで大文字小文字を区別します。区別したくない場合は grep -i を使いましょう。
コマンド2: history | grep <検索語>
直近のコマンド履歴から特定の文字列で検索します。実際に使った例がこちらです。
(venv) arunbababa@Arunbababa:~/Dev/django-practice$ history | grep command
597 mv /mnt/c/Users/hatuk/.cursor/commands/my-custom-command.md /mnt/c/Users/hatuk/.cursor/commands/my-error-article.md
598 rm /mnt/c/Users/hatuk/.cursor/commands/my-custom-command.md
600 python3 main.py command
605 history | grep command
- 597 行目に実行した
mvコマンドがすぐ見つかりました。 - 同じように
grep pythonなどで絞り込めば、インタプリタ起動やスクリプト実行の履歴も瞬時に確認できます。
おまけ: 一覧を直接検索したいときは grep -R や rg も便利
シェル上で検索を完結させたいとき、ファイル内容を横断検索できる grep -R や ripgrep (rg) もよく使います。
# ディレクトリ配下のファイルから "DATABASES" を探す
grep -R "DATABASES" ./project
-
grep -Rは標準でほぼすべての環境に入っているので手軽です。
こんな感じ
エディターの検索でもできます
推奨: パターンを正規表現化しすぎて複雑になりそうなときは、まず単語検索で当たりを付け、必要に応じて絞り込む方が効率的です。
まとめ
-
ls | grepはファイル名やディレクトリ名の部分一致をサクッと確認するのに最適です。 -
history | grepは過去に打ったコマンドを最速で再発見でき、リネームや削除などの履歴追跡にも役立ちます。 - さらにコマンド内容を横断したい場合は
grep -Rやrgを組み合わせて活用しましょう。
ターミナル内で完結できる小技を押さえるだけで、ファイル探索や履歴調査のストレスが大幅に減ります。
また個人的にあてがついている内容の検索の場合はAIを使わない方がトークンの節約にもなりますし、自分でやった方が早いのでオススメです。
ぜひ今日から使い始めてみてください。


