ファイルを検索する (find コマンド)
ディレクトリー・ツリーで、指定された各パスを反復して検索し、後に続くテキストで指定された用語を使って記述された、ブール式に一致するファイルを 探すには、find コマンドを使用します。
find コマンドの出力は、Expression パラメーターで指定された用語に応じて異なります。
find コマンドの
使用例を以下に示します。
- ファイルシステム内の、.profile という名前のファイルをすべてリストするには、次のように入力します。
これにより、 ファイルシステム全体が検索され、.profile という名前のファイルすべての完全パス名が書き込まれます。 スラッシュ (/) は、find コマンド に /(root) ディレクトリーとそのすべてのサブディレクトリーの検索を指示します。find / -name .profile時間を節約するために、ファイルがあると 考えられるディレクトリーを指定することによって、検索の範囲を制限します。
- 現行ディレクトリー・ツリー内で、特定のアクセス権コード
0600を持つファイルをリストするには、次のように入力します。
これに より、所有者読み取りと所有者書き込みの許可のみ を持つファイルの名前をリストすることができます。 ドット (find . -perm 0600.) では、find コマンドに、 現行ディレクトリーとそのサブディレクトリーの検索を指示します。アクセス権コードの説明については、chmod コマンドを参照してください。 - 複数のディレクトリー内で、特定のアクセス権コードを持つファイルを検索するには、次のように入力します。
これにより、 所有者読み取りと所有者書き込みの許可に加え、ほかの許可も持つファイルの名前がリストされます。 manual、clients、 および proposals の各ディレクトリーと、それぞれのサブディレクトリーが検索されます。 前の例では、-perm 0600 を指定 すると、find manual clients proposals -perm -06000600に正確に一致するアクセス権コードを持つファイルのみが選択されます。 この例では、-perm -0600 を指定すると、0600で示されるアクセスが可能 なアクセス権コードを持つファイルと、0600レベルより上の、ほかのアクセスが可能なアクセス権コー ドを持つファイルが選択されます。 この場合は、アクセス権コード 0622 と 2744 も一致しています。 - 現行ディレクトリー内の、現在までの 24 時間以内に変更されたファイルをすべてリストするには、次のように入力します。
find . -ctime 1 - 複数のリンクを持つ正規ファイルを検索するには、次のように入力します。
これにより、複数のリンク ((-links +1) を持つ、通常ファイル (-type f) の 名前がリストされます。find . -type f -links +1注: 各ディレクトリーは、2 つ以上のリンクを持っています。親ディレクトリー内の項目、およびそのディレクトリー自体 の . (ドット) 項目です。 複数のファイル・リンクの詳細については、ln コマンドを参照してください。 - ちょうど 414 バイトの長さのファイルをすべて検索するには、次のように入力します。
find . -size 414c
完全な構文については、「コマンド・リファレンス 第 2 巻」の find コマンドを参照してください。