Bash 通过访问/修改时间查找文件
示例
在ext文件系统上,每个文件都有与之关联的存储的访问,修改和(状态)更改时间-要查看此信息,您可以使用statmyFile.txt;使用find中的标记,我们可以搜索在特定时间范围内修改的文件。
要查找的文件已被修改的最后2小时内:
$ find . -mmin -120
要查找的文件还没有被修改的最后2小时内:
$ find . -mmin +120
上面的例子中只在搜索改性时间-以在搜索一个CCESS倍,或Ç上吊倍,使用a,或c相应。
$ find . -amin -120 $ find . -cmin +120
通用格式:
-mminn:文件被修改ñ分钟前
-mmin-n:文件被修改少于ñ分钟前
-mmin+n:文件被修改超过ñ分钟前
查找文件已被修改内最后2天:
find . -mtime -2
查找文件没有被修改内最后2天
find . -mtime +2
分别将-atime和-ctime用于访问时间和状态更改时间。
通用格式:
-mtimen:文件被修改nx24小时前
-mtime-n:文件均小于修改nx24小时前
-mtime+n:文件已超过修改nx24小时前
查找在2007-06-07至2007-06-08日期范围内修改的文件:
find . -type f -newermt 2007-06-07 ! -newermt 2007-06-08
查找从1小时前到10分钟前的一系列时间戳(使用文件作为时间戳)中访问的文件:
touch -t $(date -d '1 HOUR AGO' +%Y%m%d%H%M.%S) start_date touch -t $(date -d '10 MINUTE AGO' +%Y%m%d%H%M.%S) end_date timeout 10 find "$LOCAL_FOLDER" -newerat "start_date" ! -newerat "end_date" -print
通用格式:
-newerXYreference:将当前文件的时间戳与参考进行比较。XY可以具有以下值之一:(at访问时间),mt(修改时间),ct(更改时间)等等。reference是要比较指定的时间戳(访问,修改,更改)的文件名,或者是描述绝对时间的字符串。