ファイルを検索する (find コマンド)

find コマンドを使用して、指定された各 Pathのディレクトリー・ツリーを再帰的に検索し、以下のテキストに示されている用語を使用して記述されたブール式に一致するファイルを探します。

find コマンドの出力は、Expression パラメーターで指定された用語に応じて異なります。

find コマンドの 使用例を以下に示します。
  • ファイルシステム内の、.profile という名前のファイルをすべてリストするには、次のように入力します。
    find / -name .profile
    これにより、 ファイルシステム全体が検索され、.profile という名前のファイルすべての完全パス名が書き込まれます。 スラッシュ (/) は、find コマンド に /(root) ディレクトリーとそのすべてのサブディレクトリーの検索を指示します。

    時間を節約するために、ファイルがあると 考えられるディレクトリーを指定することによって、検索の範囲を制限します。

  • 現行ディレクトリー・ツリー内で、特定のアクセス権コード 0600 を持つファイルをリストするには、次のように入力します。
    find . -perm 0600
    これに より、所有者読み取りと所有者書き込みの許可のみ を持つファイルの名前をリストすることができます。 ドット (.) では、find コマンドに、 現行ディレクトリーとそのサブディレクトリーの検索を指示します。 アクセス権コードの説明については、chmod コマンドを参照してください。
  • 複数のディレクトリー内で、特定のアクセス権コードを持つファイルを検索するには、次のように入力します。
    find manual clients proposals -perm -0600
    これにより、 所有者読み取りと所有者書き込みの許可に加え、ほかの許可も持つファイルの名前がリストされます。 manualclients、および proposals の各ディレクトリーおよびそのサブディレクトリーが検索されます。 前の例で示したように、-perm 0600 は、 0600 と正確に一致する許可コードの付いたファイルのみを選択します。 この例では、-perm -0600 を指定すると、0600 で示されるアクセスが可能 なアクセス権コードを持つファイルと、0600 レベルより上の、ほかのアクセスが可能なアクセス権コー ドを持つファイルが選択されます。 この場合は、アクセス権コード 0622 と 2744 も一致しています。
  • 現行ディレクトリー内の、現在までの 24 時間以内に変更されたファイルをすべてリストするには、次のように入力します。
    find . -ctime 1 
  • 複数のリンクを持つ正規ファイルを検索するには、次のように入力します。
    find . -type f -links +1
    これにより、複数のリンク ((-links +1) を持つ、通常ファイル (-type f) の 名前がリストされます。
    注: 各ディレクトリーには、少なくとも 2 つのリンクがあります。親ディレクトリー内のエントリーとそれ自体の .(ドット) エントリーです。 複数のファイル・リンクについて詳しくは、 ln コマンドを参照してください。
  • ちょうど 414 バイトの長さのファイルをすべて検索するには、次のように入力します。
    find . -size 414c