Что означает newermt в команде find?

14

Я знаю, что могу использовать эту опцию, чтобы найти файл между определенными изменениями времени. Но мне интересно, что это значит?

Я man find | grep newermtпытался что-то найти. Но я не получил прямого содержания. Кажется, -newer fileи mtimeвещи могут иметь отношение к этому. Но я не уверен..

Итак, что на -newermtсамом деле означает?

Zen
источник

Ответы:

20

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
SailorCire
источник
12

find ./ -mtime +nиспользуется для получения всех файлов старше, чем nдни,
find ./ -mtime -nиспользуемые для получения всех файлов, измененных в последние nдни.
Теперь, если вы используете 1вместо них n, вы получите файлы, измененные за последние 24 часа. Но что, если вам нужны только файлы со вчерашнего дня, а не за последние 24 часа? Здесь newermtвходит в картину.

find ./ -newermt "2016-01-18" ! -newermt '2016-01-19'

выдаст вам все файлы, которые новее указанной даты, и !исключит все файлы, которые новее указанной даты. Таким образом, приведенная выше команда выдаст список файлов, которые были изменены в 2016-01-18.

user152041
источник