Как я нахожу недавний файл по дате созданным?

Если я хочу найти файл по имени, я делаю следующее:

find -name app

Если я хочу найти файл типом, я делаю следующее:

find -name app -type d

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

5
задан 5 October 2014 в 16:48

4 ответа

Искать целую файловую систему (/) для

  • каталоги (-type d),
  • названный app (-name app),
  • это было изменено позже, чем один день (т.е. 24 часа) назад (-mtime 0),

... Использование:

find / -name app -type d -mtime 0

Источник: man find.

В особенности посмотрите объяснение -mtime флаг и"find $HOME -mtime 0"пример:

[T] o соответствуют-mtime 0, файл должен будет иметь модификацию в прошлом, которое является меньше чем 24 часа назад.

(Таким образом время в днях начиная с файла было изменено, округляется в меньшую сторону до ближайшего целого числа в целях быть согласованным -mtime.)


Создание считают формой модификации в целях меток времени файла, таким образом, это будет работать, даже если содержание файла не было изменено после того, как это было создано. Это будет также соответствовать папкам меткам времени модификации в прошлый день, которые были созданы ранее, но у Вас, вероятно, нет многих таких папок, точное имя которых app.

То, когда файл был создан, обычно не хранится в файловой системе. Но время, в которое были в последний раз изменены его метаданные (например, имя/местоположение, владение, полномочия) хранится. Если Вы предпочитаете идти этим к тому, когда содержание файла было изменено, использовать -ctime вместо -mtime:

find / -name app -type d -ctime 0

Для обоих -mtime и -ctime, исходное создание файла квалифицирует как модификация / изменение состояния.

6
ответ дан 17 November 2019 в 11:15

Команда находит опции:

, Если Вам нужен определенный диапазон дат много дней назад.

Пример находят файлы измененными между Feb/1/2013 и Feb/1/2014, в/data/docs каталоге:

touch --date "2013-02-01" /tmp/start
touch --date "2014-02-01" /tmp/end
find /data/docs -type f -newer /tmp/start -not -newer /tmp/end

можно сохранить список к текстовому файлу под названием findlist.txt следующим образом:

find /data/docs -type f -newer /tmp/start -not -newer /tmp/end > findlist.txt
2
ответ дан 17 November 2019 в 11:15

Можно использовать время изменения , любой

find -name app -type d -mtime -1

(изменил меньше что 1 x 24 часа назад), или

find -name app -type d -newermt yesterday
-1
ответ дан 17 November 2019 в 11:15

Получите весь измененный файл между датой: 2018-02-28 кому: 2018-03-28

find . -type f -newermt 2018-02-28 -not -newermt 2018-03-28
0
ответ дан 23 November 2019 в 09:06

Другие вопросы по тегам:

Похожие вопросы: