×
Жесткие переговоры 2.0, в пику Владимиру Соловьеву. Пранк :) (17 мая 2017)

Разговор программиста и работодателя.

Вопрос Как найти недавно модифицированные файлы в Linux

Больше
2 года 4 мес. назад #1 от serge
serge создал эту тему: Как найти недавно модифицированные файлы в Linux
Публикую здесь перевод чудной статьи Dan Nanni - How to find recently modified files on Linux . Практика показывает, что приведенный в статье синтаксис способен быть весьма и весьма востребован, не только в среде линуксоидов, а, например... в многочисленных рядах вебмастеров. :)


Как найти недавно модифицированные файлы в Linux

Нередко требуется найти файлы, модифицированные (или созданные) совсем недавно, либо же в течение определенного промежутка времени.Это позволяет сделать одна-единственная команда find.

Чтобы найти недавно модифицированные файлы, отсортированные в обратном порядке (то есть файл, измененный последним, будет показан первым), используйте:

$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r

Эта команда сортирует файлы в /etc (и поддиректориях) в обратном порядке по времени их изменения, и выводит отсортированный список вместе с их расположением в файловой системе и временем последнего изменения. Если вы также хотите проверить директории, не используйте ключ "-type f".

Поиск файлов, которые были модифицированы в последние 60 минут в директории /target_directory и во всех ее поддиректориях:

$ find /target_directory -type f -mmin -60

Поиск файлов, которые были модифицированы в последние 2 дня в директории /target_directory и во всех ее поддиректориях:

$ find /target_directory -type f -mtime -2

Поиск файлов, которые были модифицированы в последние 2 дня в директории /target_directory и ее поддиректориях глубиной до 3 уровня:

$ find /target_directory -type f -mtime -2 -depth -3

Вы также можете задать диапазон времени модификации. Поиск файлов, которые были модифицированы в последние 7 дней, но не позднее чем 3 дня назад:

$ find /target_directory -type f -mtime -7 ! -mtime -3

Все эти команды выводят только путь к найденным файлам. Вы можете также детализировать вывод информации с помощью опции "-exec".
Поиск файлов в директории /target_directory (и во всех ее поддиректориях), которые были модифицированы в последние 60 минут и вывод атрибутов файлов:

$ find /target_directory -type f -mmin -60 -exec ls -al {} \;

В качестве альтернативы вы можете использовать для этого команду xargs:

$ find /target_directory -type f -mmin -60 | xargs ls -l

Обратите внимание, что эти команды найдут также файлы, созданные в заданный промежуток времени.


А я смогу! - А поглядим! - А я упрямый!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.