Знайдіть файли, які були змінені за останні 24 години


264

Наприклад, на моїй машині Ubuntu працює сервер MySQL. Деякі дані були змінені протягом останніх 24 годин.

Які сценарії (Linux) можуть знайти файли, які були змінені протягом останніх 24 годин?

Будь ласка, перелічіть назви файлів, розміри файлів та модифікований час.


1
Ви можете використовувати stackoverflow.com/questions/4561895 / ...
vaugham

Відповіді:


478

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

find /directory_path -mtime -1 -ls

Має бути на ваш смак

The -, Перш ніж 1важливо - це означає , що що - то змінилося в один день або менше назад. А +раніше 1замість цього означатиме, що щось змінилося щонайменше один день тому, тоді як, не маючи нічого перед цим, 1це означало б, що його змінили вимогливий день тому, ні більше, ні менше.


17
приємно! як щодо останніх 2 годин?
JackWM

114
використовуйте "-mmin -120" замість mtime
Xavjer

1
чому -перед числовим значенням?
EsseTi

6
Аргумент до -mtime інтерпретується як кількість цілих днів у віці файлу. -mtime + n означає строго більше, -mtime -n означає строго менше.
Xavjer

3
Для читача: не забудьте видалити -lsпри використанні в сценарії
повторне

41

Ви можете це зробити за допомогою

find . -mtime 0

Від man find:

[Час] часу, коли кожен файл востаннє змінено, ділиться на 24 години, а залишок відкидається. Це означає, що для відповідності -mtime 0, файл повинен був змінити в минулому, що менше 24 годин тому.


25

Ще один, гуманніший спосіб:

find /<directory> -newermt "-24 hours" -ls

або:

find /<directory> -newermt "1 day ago" -ls

або:

find /<directory> -newermt "yesterday" -ls

11

На сумісних з GNU системах (тобто Linux):

find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more

У цьому списку будуть перелічені файли та каталоги, змінені за останні 24 години ( -mtime 0). Він перелічить їх з останнім зміненим часом у форматі, який можна сортувати і читати (для людини %T+) ( ), а потім розмір файлу ( %s), а потім повне ім'я файлу ( %p), кожне розділене вкладками ( \t).

2>/dev/nullвикидає будь-який більш жорсткий вихід, щоб повідомлення про помилки не затуманили води; sort -rсортує результати за останніми зміненими спочатку; і | moreперераховує одну сторінку результатів одночасно.


2
Ви також можете використовувати | lessзамість цього | more, мабуть.
Стівен Г Туггі

7

Для інших, хто прибуває тут у майбутньому (включаючи мене), додайте параметр -name, щоб знайти конкретні типи файлів, наприклад: find /var -name "*.php" -mtime -1 -ls


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.