我知道我可以使用此选项来查找特定修改时间之间的文件。但我很好奇这是什么意思?
我曾经man find | grep newermt
试图寻找一些东西。但我没有得到直接的内容。看来-newer file
和mtime
事情可能有关系。但我不确定..
那么,-newermt
实际上意味着什么?
答案1
find(1)
:
-newerXY reference
Compares the timestamp of the current file with reference. The
reference argument is normally the name of a file (and one of
its timestamps is used for the comparison) but it may also be a
string describing an absolute time. X and Y are placeholders
for other letters, and these letters select which time belonging
to how reference is used for the comparison.
a The access time of the file reference
B The birth time of the file reference
c The inode status change time of reference
m The modification time of the file reference
t reference is interpreted directly as a time
答案2
find ./ -mtime +n
用于获取早于n
天数的所有文件
find ./ -mtime -n
用于获取最近n
几天修改的所有文件
现在,如果您使用1
代替n
,您将获取过去 24 小时内修改的文件。但是,如果您只想要昨天的文件而不是最近 24 小时内的文件怎么办?newermt
事情就到这里了。
find ./ -newermt "2016-01-18" ! -newermt '2016-01-19'
将为您提供比指定日期更新的所有文件,并!
排除比指定日期更新的所有文件。因此上面的命令将给出 2016 年 1 月 18 日修改的文件列表。
答案3
就 而言-newermt
,自然语言是很棘手的。你说“更新于”,但应该说“更新于或等于”。从数学上讲,这对应于符号“≥”,而不是“>”。
-newermt given-date
方法文件日期≥given-date
。