Як знайти нещодавно модифіковані файли в Linux

Як знайти нещодавно модифіковані файли в Linux

Найчастіше потрібно знайти файли, які були модифіковані/створені нещодавно, або за певний проміжок часу. Наприклад, адміністратор змінював параметри системи, але забув, де він їх зберіг. Або ви хочете перевірити чи змінювалися, і як, ваші файли. Якщо вам необхідно знайти нещодавно змінені файли в linux, це можна зробити за допомогою команди find.

Щоб знайти нещодавно модифіковані файли, відсортовані у зворотному порядку (тобто файл, змінений останнім, буде показано першим), використовується команда виду:

$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p\n' / sort -r 2012-09-14 22:25:14.0000000000 /etc/shadow 2012-08-17 00: 56:36.0000000000 /etc/resolv.conf 2012-08-16 23:22:57.0000000000 /etc/ld.so.cache 2012-08-16 23:22:29.0000000000 /etc/mtab 2012-08-16 23:22: 04.0000000000 /etc/network/run/ifstate 2012-07-10 01:19:24.0000000000 /etc/papersize .

Наведена вище команда сортує файли в / 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

Зверніть увагу, що ці команди знайдуть файли, створені в заданий проміжок часу.