!条件 | 条件と一致しないものが検索される |
条件1 -and 条件2 | 両方の条件に一致するファイルが検索される |
条件1 -or 条件2 | どちらかの条件に一致するファイルが検索される |
find -name file |
検索するファイルやディレクトリを指定。 ワイルドカードとして 「*」「?」「[] 」を使用することができる。 「find」コマンドで、「*」を使用するときは、 「”*.txt”」のよう「”」で囲まないとパス名展開され実行エラーになる。 |
find -iname file |
検索するファイル名を指定。 大文字小文字を区別しない以外は -name と同じ。 |
find -regex reg |
正規表現を使用した検索。 パスを含むファイル名全体が正規表現「reg」の検索対象となる。 「find」コマンドの検索結果は、「./aaa/bbb/ccc.txt」となり、 検索結果に合致した正規表現で検索する必要がある。 検索条件を「aaa」としても検索されない。 |
find -iregex reg | 大文字小文字を区別しない以外は、-regex と同じです。 |
find -atime [+-]n | n日前・n日後にアクセスされたファイルを検索します。「+」であれば、n日後。「-」であればn日前。 |
find -ctime [+-]n | n日前にファイルステータスが変更されたファイルを検索します。ファイルステータスとは、ファイル名、ファイルサイズ、パーミッション、リンク数、オーナー、グループなどのことです。 |
find -mtime [+-]n | n日前に更新されたファイルを検索します。 |
find -type ファイルの種類 | 指定されたファイルの種類で検索します。「find」コマンドで指定できるファイルの種類は、d(ディレクトリ)、f(ファイル)、l(シンボリックリンク)です。 |
find -size [+-]n[ck] | 指定されたファイルサイズで検索します。サイズの後に「c」を付加するとバイト単位、「k」を付加するとキロバイト単位で検索します。 |
find -user ユーザー名 | 所有者が指定したユーザー名のファイルやディレクトリを検索します。 |
find -perm 755 | パーミッションが755に設定されているファイルやディレクトリを検索します。 |
find . -type f -print | カレントディレクトリの全ファイルの一覧を表示する。 |
find /usr/local /usr/bin /usr/sbin -type f -print | 「/usr/local」「/usr/bin」「/usr/sbin」と3つのディレクトリの全ファイルを表示する場合 |
find /etc/ -atime 5 | 「/etc/」ディレクトリで、6日前にアクセスされたファイルを検索する場合 |
find /etc/ -atime +5 | 「/etc/」ディレクトリで、6日以前にアクセスされたファイルを検索する場合 |
find /etc/ -atime -5 | 「/etc/」ディレクトリで、4日以内にアクセスされたファイルを検索する場合 |
find /etc/ -ctime | 「/etc/」ディレクトリで、5日前にファイルステータスが変更されたファイルを検索する場合 |
find /etc/ -ctime +5 | 「/etc/」ディレクトリで、6日以前にファイルステータスが変更されたファイルを検索する場合 |
find /etc/ -ctime -5 | 「/etc/」ディレクトリで、4日以前にファイルステータスが変更されたファイルを検索する場合 |
find /etc/ -mtime 5 | 「/etc/」ディレクトリで、5日前に更新されたファイルを検索する場合 |
find /etc/ -mtime +5 | 「/etc/」ディレクトリで、6日以前に更新されたファイルを検索する場合 |
find /etc/ -mtime -5 | 「/etc/」ディレクトリで、4日以内に更新されたファイルを検索する場合 |
find . -size 100k | カレントディレクトリでファイルサイズがちょうど100キロバイトのファイル・ディレクトリを検索 |
find . -size +100k | カレントディレクトリでファイルサイズが101キロバイト以上のファイル・ディレクトリを検索 |
find . -size -100k | カレントディレクトリでファイルサイズが99キロバイト以下のファイル・ディレクトリを検索 |
検索ファイルを表示。 | |
-ls | 検索ファイルを詳しく (ls -lis と同じように) 表示。 |
-exec |
検索結果のファイル名やディレクトリ名を引数としてコマンドを実行。 「-exec コマンド {} \;」となり、「{}」と「\」の間には必ずスペースを入る。 {}の場所には検索したファイル名が入り、コマンドの引数となる。 「;」はコマンドの終了を表すので、シェルに解釈させず、find へ渡すために「\」を付加しエスケープ。 |
-ok | -exec と同じだが、コマンド実行時に確認メッセージが表示される。 |
find / -name tmp -print | ルートディレクトリのtmpを検索してフルパスを表示する場合 |
find /usr/local -type f -ls | 「/usr/local」ディレクトリのファイルを検索して詳細な情報を表示する場合 |
find /etc/log/ -type f -neme "*.log" -exec rm {} \; | 「/etc/log」ディレクトリのファイルのうちファイル名が「.log」で終了するファイルを削除する場合 |