来自http://content.hccfl.edu/polllock/Unix/FindCmd.htm:
find . -mtime 0 # find files modified within the past 24 hours
find . -mtime -1 # find files modified within the past 24 hours
find . -mtime 1 # find files modified between 24 and 48 hours ago
find . -mtime +1 # find files modified more than 48 hours ago
确保您只有一个“m”和一个减号-mtime -30
,如 chorobas 评论中所建议的那样,才能获得最后 30 天。-mtime 30
只会给出 30 天前的文件。
您可能希望使用选项-daystart
来获取从午夜开始的最近 30 天的文件,而不是仅在 30*24 小时前。使用%TD
and%Tr
而不是%AD
and%Ar
来获取修改时间(而不是访问时间)。
最终的命令将是:
find / -daystart -mtime -30 -printf "%TD %Tr - %p\n" 2> /dev/null | sort -r > /lastmodified.txt
请注意,排序将在 1 月中断,因为 12 排在 01 之前。如果要确保日期始终按顺序排列,请使用例如时间定义%T+
(2012-11-29+21:07:41.0000000000) 或%Tu/%Tm/%Td %TH:%TM
(12/ 11/29 21:07)