と言うことから始めることができますfind /var/dtpdev/tmp/ -type f -mtime +15
。これにより、15日より古いすべてのファイルが検索され、名前が出力されます。オプション-print
で、コマンドの最後に指定できますが、それがデフォルトのアクションです。最初に上記のコマンドを実行して、選択されているファイルを確認することをお勧めします。
find
コマンドが削除するファイルをリストしていることを確認したら(他のファイルは削除しない)、ファイルを削除するための「アクション」を追加できます。これを行う典型的なアクションは次のとおりです。
-exec rm -f {} \;
(または同等に、-exec rm -f {} ';'
)
これはrm -f
各ファイルで実行されます。例えば、
rm -f /var/dtpdev/tmp/A1/B1; rm -f /var/dtpdev/tmp/A1/B2; rm -f /var/dtpdev/tmp/A1/B3; …
-exec rm -f {} +
これはrm -f
一度に多くのファイルで実行されます。例えば、
rm -f /var/dtpdev/tmp/A1/B1 /var/dtpdev/tmp/A1/B2 /var/dtpdev/tmp/A1/B3 …
そのため、オプション1よりも若干高速になる場合があります(rm -f
数千のファイルがある場合は、数回実行する必要があります)。
-delete
これによりfind
、を実行せずにファイルを削除するように指示されますrm
。これは-exec
亜種よりも非常に高速ですが、すべてのシステムで機能するわけではありません。
したがって、オプション2を使用する場合、コマンド全体は次のようになります。
find /var/dtpdev/tmp/ -type f -mtime +15 -exec rm -f {} +