• ベストアンサー

Linuxでの検索はfindですか。

教えてください。Linux初心者です。 どのディレクトリにあるのかわからない、名前も一部しかわからない、ファイルを検索するときのコマンドはなんでしょう。 manを調べるとfindかと思うんですが、すべてのディレクトリについて調べるとか、名前のワイルドカードの指定の仕方がわからないんです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • proust
  • ベストアンサー率57% (62/108)
回答No.3

>サブディレクトリ以下もすべて検索できるのでしょうか できます。 逆に、サブディレクトリを対象にしない場合は、 find / -name '*.txt' -maxdepth 0 -print というようにかいてやらないといけません。

NonNon5
質問者

お礼

再度の回答ありがとうございます。 なるほど!-maxdepthで、検索するディレクトリ階層のレベル指定ができるんですね。わかってうれしいです。

その他の回答 (3)

  • mtfoggy
  • ベストアンサー率14% (37/255)
回答No.4

>例にあげていただいた指定で、サブディレクトリ以下もすべて検索できるのでしょうか? 但し、読み込み権限のないディレクトリは読めません。

NonNon5
質問者

お礼

回答ありがとうございます。 おっしゃるとおり、権限のないものは読み込めません。そのとおりです。

  • sapporo30
  • ベストアンサー率33% (905/2715)
回答No.2

横からですが、 > 例にあげていただいた指定で、サブディレクトリ以下もすべて > 検索できるのでしょうか? はい、できます。 / つまり ルートの下にあるファイル(つまり全部)を検索対象 にします。 あらかじめこの下にある(例えば /usr/okewb とわかっているなら find /usr/okweb -name "*.txt" -print でいいです。

NonNon5
質問者

お礼

回答ありがとうございます。 /だとルート以下すべてということになるんですね。 このあたりが、manを読んでもどう理解していいかわからなかったんです。

  • proust
  • ベストアンサー率57% (62/108)
回答No.1

findで正しいです。 find 対象ディレクトリ名 条件 というのが使い方です。 たとえば、ルート以下の*.txtを探すのならば find / -name '*.txt' -print でOKです。 また、locateというのも調べてみましょう。 こちらはあらかじめファイルの場所を定期的にデータベースに 保存しておき、そこから検索するので高速ですが、データベースに ないものはみつかりません。 findでしたら確実にみつかりますが遅くなります。

NonNon5
質問者

補足

回答ありがとうございます。 ちょっと確認させてください。 例にあげていただいた指定で、サブディレクトリ以下もすべて検索できるのでしょうか? 教えていただけるとありがたいです。

関連するQ&A

専門家に質問してみよう