ファイル名やディレクトリ名は分かっていても、保存場所が分からないことがあります。今回は、CentOSでファイルやディレクトリを検索するfindコマンドの使い方をご紹介します。この記事はマニュアルではなく、最低限知っておきたいことをまとめたものです。
findコマンドでファイル検索するときの基本
以下のようにして特定のファイルを検索することができます。
# find [検索を開始するディレクトリ名] -name [ファイル名]
[検索を開始するディレクトリ名]で指定したディレクトリだけではなく、そのディレクトリ以下のサブディレクトリも検索します。
全ディレクトリから特定のファイルを検索する方法
たとえば、「test.txt」というファイルがどこにあるのか分からない場合、どのように保存場所を探すことができるでしょうか。
[検索する開始するディレクトリ名]には、ルートディレクトリ「/」をしています。そうすることでルートディレクトリ以下の全ディレクトリが検索対象になります。
rootユーザでログインしている場合は以下のようになります。
# find / -name test.txt
rootユーザではない場合は、以下のようになります。
$ sudo find / -name test.txt
ワイルドカードを使って検索する方法
ファイル名やディレクトリ名の一部だけが分かっている場合、どのように検索することができるでしょうか。
先ほどの例で考えてみましょう。ファイル名の一部に「test」という文字列が含まれていることが分かっているとします。その条件に該当するファイルを全ディレクトリから検索する場合は、以下のようになります。
$ sudo find / -name '*test*'
findコマンドにはいろいろなオプションがあります。更新日付やファイル容量などでフィルタをかけることもできます。
今回は、ファイル名は分かっているものの、保存場所が全く分からないというときに探す方法を紹介させていただきました。