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:
Aby znaleźć wszystkie pliki zmodyfikowane w ciągu ostatnich 24 godzin (ostatniego pełnego dnia) w określonym katalogu i jego podkatalogach:
Powinno ci się podobać
-
Przed1
ważne - oznacza to, że coś się zmieniło jeden dzień lub mniej temu.+
Zanim1
będzie zamiast oznaczać cokolwiek zmienił co najmniej jeden dzień temu, mając nic, zanim1
będzie oznaczało, że został zmieniony wymaganych Jeden dzień temu, nie więcej, nie mniej.źródło
-
przed wartością liczbową?-ls
przy użyciu w skrypcieMożesz to zrobić za pomocą
Od
man find
:źródło
Kolejny, bardziej humanitarny sposób:
lub:
lub:
źródło
W systemach kompatybilnych z GNU (tj. Linux):
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/null
wyrzuca wszelkie dane wyjściowe stderr, aby komunikaty o błędach nie błotniały wód;sort -r
najpierw sortuje wyniki według ostatnio zmodyfikowanych; i| more
wyświetla jedną stronę wyników na raz.źródło
| less
zamiast| more
, jak sądzę.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
źródło
To polecenie działało dla mnie
źródło