find -emptyオプションの使い方|空のファイルや空のディレクトリを検索する方法
生徒
「先生、Linuxで空っぽのファイルとか、何も入っていないフォルダを見つける方法ってありますか?」
先生
「あるよ。findコマンドの-emptyオプションを使えば、空のファイルや空のディレクトリを簡単に探せるんだ。」
生徒
「ファイルが空って、どのくらいの状態なんですか?ゼロバイト?」
先生
「そのとおり!サイズが0バイトのファイルや、中に何も入っていないディレクトリを見つけるのに便利なんだよ。」
1. findコマンドの基本
findコマンドは、Linuxでファイルやディレクトリを検索するための非常に強力なコマンドです。名前やサイズ、更新日時、所有者など、さまざまな条件でファイルを探すことができます。
この中で-emptyは、空のファイルや空のディレクトリを探すためのオプションです。
2. -emptyオプションとは?
-emptyは、サイズが0バイトのファイルや、中に何も含まれていないディレクトリを対象にして検索を行います。
例えば、ログ出力用に作ったファイルが空のままだったり、削除し忘れた空のフォルダを探すときに役立ちます。
3. 実際にfind -emptyを使ってみよう
まずは練習用のファイルとディレクトリを作ってみましょう。
mkdir sampledir
cd sampledir
touch emptyfile.txt
touch filledfile.txt
echo "何か書く" > filledfile.txt
mkdir emptyfolder
mkdir nonemptyfolder
touch nonemptyfolder/test.txt
上記の状態で、-emptyを使って空のファイルとディレクトリを探してみます。
find . -empty
./emptyfile.txt
./emptyfolder
このように、空のファイルemptyfile.txtと空のフォルダemptyfolderだけが結果に表示されます。
4. 空のファイルだけを検索したいとき
空のファイルと空のディレクトリの両方が対象になる-emptyですが、空のファイルだけを検索したい場合は、-type fオプションを組み合わせましょう。
find . -type f -empty
./emptyfile.txt
5. 空のディレクトリだけを検索したいとき
逆に、空のディレクトリだけを見つけたい場合は、-type dを使います。
find . -type d -empty
./emptyfolder
6. 空のファイルやディレクトリを定期的にチェックする活用例
空のログファイルが大量に残っていたり、整理されていないフォルダが溜まっていると、システムがごちゃごちゃして管理が大変になります。
find -emptyを使って、定期的にクリーンアップすることで、ストレージの無駄も減らせて快適な環境を保つことができます。
7. よくある間違いと注意点
- 空のファイルでも改行やスペースが入っているとサイズは0バイトではなくなります。
- 空のディレクトリも「隠しファイル」があると対象外になります。
findの実行ディレクトリに注意しないと、予期しない範囲を検索してしまうことがあります。
8. よく使うfind -emptyのパターン集
find /var/log -type f -empty:ログディレクトリ内の空のファイルを探すfind ~/Documents -type d -empty:ドキュメント内の空フォルダを探すfind . -empty -delete:空のファイル・ディレクトリをすべて削除(※慎重に使う)
-deleteオプションは強力なので、最初は必ず-printで確認してから使いましょう。