如何在Unix服务器上查找前一个月创建/修改的文件?
例如,如果当前是7月,则应显示在6月创建/修改的文件列表。
例如,如果当前是7月,则应显示在6月创建/修改的文件列表。
一种方法是执行该命令。
ls -laR | grep monthName
其中monthName
可以是Jan,Feb,Mar等(记得将工作目录更改为您感兴趣的目录。还请注意,此方法是递归的,因此将检查所有子目录使用此方法,您还可以检索所有文件权限等信息...
我相信会有更好的方法(如果它们跳入我的脑海,我会编辑这篇文章),但由于我在喝咖啡休息,这是我找到的最快的方法。
find
命令和一个指定范围,例如:cd / (if you are wanting to start from the root)
find . -type f -mtime +26d -mtime -56d -print
您需要调整您的范围,以包含您希望包含的日期。
祝您一切顺利!
monthToFind=`date -d "1 months ago" "+%Y-%m"`
find . -printf "%TY-%Tm %p\n" | egrep "^$monthToFind " | sed "s/^$monthToFind //g"
使用“find”命令中的时间范围比此方法慢。 但是,时间范围很难确定,并且在执行命令时可能会迅速失效。
不幸的是,当文件上个月已修改并且本月也被修改时,此方法将无法检测到这些文件。 我不知道如何确定这些文件。
find
命令,查看-amin -anewer -atime -cmin -cnewer -ctime -mmin -mtime
选项以获取可能的选项。同时请注意 Williams 的评论,指出创建时间未被保存。 - CoreyStup