mtime
との違いは何ですか-
および+
スイッチは両方とも必要な結果を返していないので?
5日以上経過したすべてのファイルを削除しようとしています。
find /mnt/sdb1/tmp/ -type f -mtime +5 -exec ls {} \;
find /mnt/sdb1/tmp/ -type f -mtime -5 -exec ls {} \;
結果を比較するために、出力をls
に変更しました。
find
のmanページから:
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
-mtime n
File's data was last modified n*24 hours ago. See the comments for
-atime to understand how rounding affects the interpretation of
file modification times.
-atime n
File was last accessed n*24 hours ago. When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has to have
been accessed at least two days ago.
そう、 -mtime +5
は、最後に変更されたファイルを検索しますmore 5 * 24時間前と-mtime -5
は、最後に変更されたファイルを検索しますless 5 * 24hより前。 5日以上経過したファイルを削除するには1 あなたがするでしょう:
find /mnt/sdb1/tmp/ -type f -mtime +5 -exec rm {} \;
これで必要な結果が返されない場合は、タイムスタンプに問題がある可能性があります。問題のファイルについて正しく報告されていますか?これが外付けUSBドライブである場合、ファイルは別のマシンで作成されていて、予想とは異なるタイムスタンプを持っている可能性があります。
1ここでの単位は1日24時間であることに注意してください。したがって、値は常に丸められ、小数部分は無視されるため、5日以上経過したとは、少なくとも6日経過したことを意味します。
-mtime +5
は、5日前(6、7、...)に変更されたすべてのファイルを表示しますが、-5
には、今日から5日前までに変更されたものが表示されます。