Linuxのfindコマンドは、ファイルやディレクトリを柔軟かつ強力に検索できる必須ツールです。本記事では、findコマンドの基本から応用まで、実際の使用例を交えてわかりやすく解説します。初心者から上級者まで役立つ内容を網羅しています。
findコマンドは、指定したディレクトリ以下のファイルやディレクトリを、名前・種類・サイズ・更新日時など多様な条件で検索できるLinux標準コマンドです。システム管理や開発、運用現場で頻繁に利用されます。
find [検索開始ディレクトリ] [検索条件] [実行アクション]
オプション | 説明 | 使用例 |
---|---|---|
-name | ファイル名で検索 | find . -name "test.txt" |
-iname | 大文字小文字を区別せずファイル名検索 | find . -iname "*.jpg" |
-type | ファイル種別で検索(f:ファイル, d:ディレクトリ) | find . -type d |
-size | サイズで検索(+/-指定可、k/M/G単位) | find . -size +10M |
-mtime | 最終更新日からの日数で検索 | find . -mtime -7 |
-user | 所有ユーザーで検索 | find . -user username |
-perm | パーミッションで検索 | find . -perm 755 |
-exec | 検索結果に対してコマンド実行 | find . -name "*.log" -exec rm {} \; |
-delete | 検索結果を削除 | find . -name "*.tmp" -delete |
-maxdepth | 検索する階層の最大深さ | find . -maxdepth 2 -name "*.txt" |
-prune | 特定ディレクトリを検索対象から除外 | find . -path "./dir" -prune -o -print |
find . -name "sample.txt"
find . -name "*.log"
find . -type d
find . -size +10M
find . -mtime -7
find . -user user
find . -perm 777
find . -name "*.bak" -delete
find . -name "*.log" -exec gzip {} \;
find . -type f -name "*.txt" -size +1M
find . ! -name "*.txt"
find . $$ -name "*.jpg" -o -name "*.png" $$
find . -name "*.tmp" | xargs rm -f
find . -empty
find . -path "./backup" -prune -o -name "*.conf" -print
sudo
を付けて実行、または2>/dev/null
でエラー出力を無視-print0
とxargs -0
の組み合わせで安全に処理findコマンドは、Linux環境でのファイル管理や運用を効率化する強力なツールです。基本的な使い方から応用までマスターすることで、日々の作業が大幅に効率化されます。まずはよく使う構文から試してみましょう