有时,我们想找到我们在过去 N 天内创建或修改的文件。在这种情况下,根据日期对文件进行排序会有所帮助,但这是执行任务的传统方式,效率不高。这篇文章是关于使用find命令搜索此类文件的。
方法一:使用 find 命令的 -mtime(modification time) 属性
它是一个修改后的时间戳,它告诉我们文件最后一次被程序或用户修改的时间,并且当文件的内容被更改或修改时,mtime 也会更改。我们可以在一定范围内看到文件的时间戳
- 列出时间戳已更改超过 n 天的文件– mtime +n
- 列出时间戳小于 n 天前更改的文件– mtime – n
- 列出时间戳恰好在 n 天前更改的文件– mtime n
句法 :-
find directory -iname "*.txt " -mtime -n -print
在哪里:
- directory 是要在其中搜索文件的目录名称
- -iname 是文件名,也可以是正则表达式。
- -mtime 是指定天数
例子:
find /home/priyanshu -iname "*.txt " -mtime -2 -print
方法 2:使用 find 命令的 atime(文件访问)属性。
它是一个访问时间戳,它告诉我们上次读取或访问文件的时间,这意味着使用应用程序打开文件并读取其内容。
- 列出时间戳小于 n 天前更改的文件– atime – n
- 列出时间戳刚好在 n 天前更改的文件– atime n
句法:-
find directory -iname "*.txt " -atime - n -type f
在哪里:
- directory 是要在其中搜索文件的目录名称
- -iname 是文件名,也可以是正则表达式。
- -atime 是指定天数。
例子:
find /home/priyanshu -iname "*.txt " -atime -1 -type f
方法 3: daystart 选项
它测量从当天开始而不是 24 小时前开始的时间。
句法:-
列出在 n1-n2 天前为 pdf 文件编辑的文件。
find directory -mtime n1 -mtime -n2 -daystart -iname "*.pdf "
方法 4:-newer 选项
它比较两个目录中的文件并显示较新的文件
句法:-
find directory -newer directory