Rain WikiWindows · Linux · Android

findコマンドで大容量ファイルや古いファイルを検索する

コマンドラインツールすべての Linux ディストリビューション

findは、サイズ、経過時間、名前、種類などの条件に基づいてディレクトリツリーを検索する標準的なLinuxコマンドです。find / -xdev -type f -size +1Gを実行すると、ルートファイルシステム上の1 GBを超えるファイルが一覧表示されます。これは、ディスク容量が急激に不足した原因を特定する最も迅速な方法の一つです。

1有用なテスト条件

-size +500M(500 MiBより大きい)、-mtime +30(30日以上前に更新された)、-name '*.log'、-type f(ファイルのみ)、-xdev(他のファイルシステムを横断しない)。

2サイズの表示

サイズを表示するには「-exec ls -lh {} +」を追加するか、GNU findの-printf(例: -printf '%s %p\n')を使用して出力をソートします。

3安全な削除方法

-deleteオプションは一致したファイルを即座に削除します。まず-deleteを付けずに同じコマンドを実行してリストを確認し、問題がないことを確認してから最後に-deleteオプションを追加してください。

1 GBを超えるファイルを検索する方法

  1. 実行コマンド: sudo find / -xdev -type f -size +1G -exec ls -lh {} +
  2. 削除する前に、各ファイルの所有プログラムを特定してください。
  3. 古いログをプレビューする場合: sudo find /var/log -type f -name '*.gz' -mtime +30
  4. 確認後に削除する場合: sudo find /var/log -type f -name '*.gz' -mtime +30 -delete

注意点

  • -deleteをテスト条件の前に配置すると、指定したパス以下のすべてのファイルが削除されます。
  • データベースファイル、仮想ディスクファイル、スワップファイルは意図的に大容量になっているため、削除しないでください。

出典

  1. find(1) man7.org
  2. du(1) man7.org

最終確認: