所以,我明白了标题中三个想法之间的区别。
atime -- 访问时间=上次打开文件的时间
mtime -- 修改时间=上次修改文件内容的时间
ctime -- 更改时间 = 上次修改文件 inode 的时间
所以,大概当我输入类似的内容时
find ~/Documents -name '*.py' -type f -mtime 14
将找到所有匹配的所有以 .py 结尾且在过去 2 周内修改过的文件。什么都没有显示出来...
所以我尝试
find ~/Documents -name '*.py' -type f -atime 1400
它应该匹配过去 1400 天内打开的任何内容(以 .py 结尾并具有类型文件),但仍然没有任何内容。
我是否误解了文档?例如,这是否意味着 1400 天?
相关帖子:
答案1
是的,-mtime 14
正好意味着 14。请参阅 GNU 手册中该部分的顶部find
(标记为“TESTS”),其中显示“数字参数可以指定为 [...]”:
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
请注意,“小于”的意思是“严格地小于”,so-mtime -14
表示“最后修改时间为当前时间,13 天或更早”,-mtime +14
意思是“最后修改时间为当前时间,15 天或更早”。
答案2
find ~/Documents -name "*.py" -type f -mtime 14
- 恰好 14 天前
find ~/Documents -name "*.py" -type f -mtime +14
- 超过 14 天前
find ~/Documents -name "*.py" -type f -mtime -14
- 不到 14 天前
你的陈述中的其余部分似乎是正确的。
答案3
这些 -*time 语句返回满足以下算法的文件(其中小时是文件被修改的时间):
为了
查找-mtimen
int(hours/24) == n
查找-mtime-n
int(hours/24) < n
查找-mtime+n
int(hours/24) > n
因此,例如 find -mtime 1
将匹配 24-47 小时前的文件
查找-mtime +0
将匹配 24 小时或更早的文件