find 命令中 newermt 是什么意思?

find 命令中 newermt 是什么意思?

我知道我可以使用此选项来查找特定修改时间之间的文件。但我很好奇这是什么意思?

我曾经man find | grep newermt试图寻找一些东西。但我没有得到直接的内容。看来-newer filemtime事情可能有关系。但我不确定..

那么,-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

相关内容