2012-07-26 69 views
4

如何在上个月创建/修改的unix服务器上查找文件?根据创建/修改日期在unix中查找文件

for ex。如果当前月份是Jul,那么应该显示Jun中创建/修改的文件列表。

+1

没有通用文件系统记录文件的创建日期。您可以访问上次修改时间,上次访问时间和上次更改时间(上次修改文件的元数据)。 – 2012-07-26 14:07:55

+0

我将使用'find'并查看'-amin -anewer -atime -cmin -cnewer -ctime -mmin -mtime“选项来选择可能的选项。并看到威廉姆斯评论创作时间没有被持续。 – CoreyStup 2012-07-26 14:51:46

+0

Linux ext4记录创建日期,而FreeBSD的本地文件系统也是如此。然而,他们并不容易,因为大多数工具和脚本语言都不知道它们。 – 2012-07-26 18:08:10

回答

2

一种方法是执行该命令。

  • ls -laR | grep monthName其中montName可能是一月,二月,三月,等等......(记得把工作目录更改为您感兴趣的目录。另请注意,这种方法是递归的,因此所有子目录将被检查

有了这个,你还检索所有文件的权限等等...

我敢肯定,这将是更好的方式(如果他们跳进我的脑海里,我将修改这个但是由于我在喝咖啡休息时间,所以我发现速度更快。)

+0

很好的解决方法,谢谢 – 2015-12-30 01:22:41

1

为了找到上月修改过的文件,你需要使用find与设定的范围,例如:

cd/(if you are wanting to start from the root) 
find . -type f -mtime +26d -mtime -56d -print 

你应该调整范围,包括您要包括的日期。

一切顺利给你!

2
monthToFind=`date -d "1 months ago" "+%Y-%m"` 
find . -printf "%TY-%Tm %p\n" | egrep "^$monthToFind " | sed "s/^$monthToFind //g" 

这会比在查找中使用时间范围慢。但是时间范围很难确定,并且很快就会失效,甚至可能在命令执行时也是如此。

不幸的是,这将错过上个月修改的文件,这些文件在本月也进行了修改。我不知道确定这些文件的方法。

相关问题