linuxでファイルのパスを検索するコマンドは?
ファイルのパスを探すコマンドはLinuxではfind
find コマンドの基本的な構文は次のとおりです。
find <path> <expression>
は検索対象のディレクトリパスで、複数指定することもでき、その場合はスペース区切りにします。を省略した場合、カレントディレクトリから検索します。
は検索条件を指定するための表現であり、ファイル名、ファイルタイプ、ファイルサイズなどがあります。よく使われる表現には以下のようなものがあります。
- -name <ファイル名>:ファイル名を指定して検索
- -type <ファイルタイプ>: ファイルの種類で検索。fは通常ファイル、dはディレクトリを表す。
- -サイズ<サイズ>:ファイルサイズで検索します。例: +10Mの場合は10MBを超えるファイルの検索を行います。
- -mtime <経過日数>: 最終更新日時で検索。例えば`-7`は、過去7日間に更新されたファイルを検索します。
- -user <ユーザー名>: ファイルの所有者で検索します。たとえば、-user john は所有者が john のファイルを探します。
以下は使用例です:
- 現在のディレクトリとそのサブディレクトリでexample.txtというファイル名の全ファイルを検索する:
find . -name example.txt
- /home以下のディレクトリタイプの全てのファイルを表示
find /home -type d
- 100MB以上のファイルを現在のディレクトリとそのサブディレクトリから検索する:
find . -size +100M
- 直近7日間に変更されたファイルを、現在ディレクトリとそのサブディレクトリから検索する:
find . -mtime -7
find コマンドの基本的な使用法は上記のようですが、その他にもさまざまなパラメータやオプションが用意されており、検索条件をさらにカスタマイズできます。詳しいヘルプは、man find コマンドで参照できます。