
UNIX Cafe 第105回
迷子のファイルを探しにいこう
「あのファイル、どこに保存したっけ?」
名前は覚えているのに、
場所が思い出せない。
デスクトップ?
書類フォルダ?
それとも、どこか深い階層の奥?
そんなときに活躍するのが、
find(ファインド) です。
grepが「中身」を探すコマンドなら、
findは「場所」を探すコマンド。
今日は、Macの中をちょっとした冒険に出かけましょう。
findってなに?
findは、指定した場所の中から、
条件に合うファイルやフォルダを探すコマンドです。
基本形はこちら。
find . -name "report.txt".は「今いる場所」-nameは「名前で探す」"report.txt"は探したいファイル名
つまり、
今いる場所から、report.txt という名前のファイルを探す
という意味です。
名前がうろ覚えでも大丈夫
「reportだった気がするけど、正確な名前が思い出せない…」
そんなときは、ワイルドカード(*) を使います。
find . -name "*report*"* は「何が入ってもOK」という意味。
たとえば、
- 2024_report.txt
- report_final.pdf
- monthly-report.docx
なども見つかります。
うろ覚えでも大丈夫。
findは、ちゃんと探してくれます。
大文字と小文字を無視する
Linuxでは、
- Report.txt
- report.txt
は別物です。
大文字小文字を気にせず探したいときは、-iname を使います。
find . -iname "report.txt"これで、綴りの違いを気にせず検索できます。
拡張子で探す
「txtファイルだけ見たい」
「画像ファイルだけ探したい」
そんなときも便利です。
find . -name "*.txt"これで、今いる場所以下にある
すべての txt ファイルが表示されます。
応用すると:
find . -name "*.jpg"画像探しも一瞬です。
最近作ったファイルを探す
「昨日作ったファイルが見つからない」
そんなときは、更新日で探せます。
find . -mtime -1これは、
1日以内に更新されたファイル
を表示します。
7日以内なら:
find . -mtime -7バックアップ確認にも便利です。
grepと組み合わせてみる
名前も場所も分からない。
でも、中身に書いてあった言葉は覚えている。
そんなときは、grepと連携できます。
find . -name "*.txt" | xargs grep -i "wifi"これは、
- txtファイルを全部探す
- その中から「wifi」という文字を探す
という流れです。
名前も場所も曖昧でも、
findとgrepが協力すれば、かなりの確率で見つかります。
なぜ .txt を指定するの?
.txt は基本的に「文字だけでできたファイル」です。
grepは文字を探すコマンドなので、
テキストファイルととても相性が良いのです。
画像やPDFなども一緒に検索してしまうと、
時間がかかったり、余計な結果が表示されたりします。
そこで、.txt を指定して
検索対象を“文字ファイルだけ”にしぼっているのです。
よくあるつまずきポイント
/を指定するとパソコン全体を探す(時間がかかる)- 権限がない場所はエラーが出ることがある
- 表示されるのは「フルパス(完全な場所)」なので長い
でも、エラーが出ても壊れません。
安心して試して大丈夫です。
ターミナルに興味を持った方は、こちらの記事も参考にして下さい。

まとめ|findは地図を読む力
grepが宝探しなら、
findは地図を読む力です。
Macの中がどう構造化されているのか、
少しずつ見えてきます。
- 探す
- 見つける
- 確かめる
一行のコマンドで、迷子のファイルはちゃんと戻ってきます。
ターミナルは、怖い場所ではありません。
使い方が分かると、とても静かで、頼もしい相棒になります。
ターミナルに興味を持った方は、こちらの記事も参考にして下さい。

さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本

