Znajdź pliki, które zostały zmienione w ciągu ostatnich 24 godzin


264

Na przykład serwer MySQL działa na moim komputerze Ubuntu. Niektóre dane zostały zmienione w ciągu ostatnich 24 godzin.

Jakie skrypty (Linux) mogą znaleźć pliki, które zostały zmienione w ciągu ostatnich 24 godzin?

Podaj nazwy plików, rozmiary plików i zmodyfikowany czas.


Odpowiedzi:


478

Aby znaleźć wszystkie pliki zmodyfikowane w ciągu ostatnich 24 godzin (ostatniego pełnego dnia) w określonym katalogu i jego podkatalogach:

find /directory_path -mtime -1 -ls

Powinno ci się podobać

-Przed 1ważne - oznacza to, że coś się zmieniło jeden dzień lub mniej temu. +Zanim 1będzie zamiast oznaczać cokolwiek zmienił co najmniej jeden dzień temu, mając nic, zanim 1będzie oznaczało, że został zmieniony wymaganych Jeden dzień temu, nie więcej, nie mniej.


17
miły! co powiesz na ostatnie 2 godziny?
JackWM 18.04.13

114
użyj „-mmin -120” zamiast mtime
Xavjer 18.04.13

1
dlaczego -przed wartością liczbową?
EsseTi

6
Argument -mtime jest interpretowany jako liczba pełnych dni w wieku pliku. -mtime + n oznacza ściśle większą niż, -mtime -n oznacza ściśle mniejszą niż.
Xavjer,

3
Do czytelnika: nie zapomnij usunąć -lsprzy użyciu w skrypcie
ponury

41

Możesz to zrobić za pomocą

find . -mtime 0

Od man find:

[Czas] od ostatniej modyfikacji każdego pliku jest dzielony przez 24 godziny, a pozostała część jest odrzucana. Oznacza to, że aby dopasować -mtime 0, plik będzie musiał mieć modyfikację w przeszłości, która jest krótsza niż 24 godziny temu.


25

Kolejny, bardziej humanitarny sposób:

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

lub:

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

lub:

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

11

W systemach kompatybilnych z GNU (tj. Linux):

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

Spowoduje to wyświetlenie plików i katalogów, które zostały zmodyfikowane w ciągu ostatnich 24 godzin ( -mtime 0). Spowoduje to wyświetlenie ich z ostatnią modyfikacją w formacie, który jest zarówno sortowalny, jak i czytelny dla człowieka ( %T+), następnie rozmiar pliku ( %s), a następnie pełna nazwa pliku ( %p), każdy oddzielony tabs ( \t).

2>/dev/nullwyrzuca wszelkie dane wyjściowe stderr, aby komunikaty o błędach nie błotniały wód; sort -rnajpierw sortuje wyniki według ostatnio zmodyfikowanych; i | morewyświetla jedną stronę wyników na raz.


2
Można również użyć | lesszamiast | more, jak sądzę.
Stephen G Tuggy

7

W przypadku innych osób, które wylądują tutaj w przyszłości (w tym mnie), dodaj opcję -name, aby znaleźć określone typy plików, na przykład: find /var -name "*.php" -mtime -1 -ls


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.