Metody płatności Abuse

Jak znaleźć nowe pliki w systemie Linux

27.02.2021, 20:44

Często zdarzają się sytuacje, w których trzeba wyświetlić ostatnio utworzone, nowe pliki w systemie operacyjnym. Jest to często potrzebne administratorowi systemu, który utworzył plik konfiguracyjny, a następnie po prostu zapomniał, gdzie został zapisany. Potrzeba wyszukania nowych plików może również wynikać z konieczności sprawdzenia, czy plik został ostatnio zmieniony. Ogólnie rzecz biorąc, sytuacje mogą być bardzo różne. Zaletą systemu operacyjnego Linux jest to, że tradycyjnie zapewnia on kilka sposobów na rozwiązanie konkretnego problemu.

Korzystanie z narzędzia Find

Najprostszym i najbardziej powszechnym sposobem na znalezienie nowych plików w systemie Linux jest narzędzie Find. W zależności od aktualnych potrzeb przekazywane są do niego różne parametry, na przykład można wyszukiwać pliki tylko w określonym zakresie miesięcy lub dni kalendarzowych, szczegóły jak to zrobić znajdują się poniżej.

Pliki są wyświetlane w katalogach i podkatalogach oraz sortowane:

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

Вывод файлов в директории и поддиректориях,

Ale jak widać, wynik jest dość imponujący, nie jest możliwe rozpoznanie nowych plików z całej listy. Dlatego musimy użyć innego polecenia:

$ find /etc -type f -mmin -120

Файлы измененные или созданные за последние 60 минут

W ten sposób określamy, że system ma być przeszukiwany tylko pod kątem plików, które zostały utworzone w ciągu ostatniej godziny.

Jeśli konieczne jest uwzględnienie ostatnich dwóch dni, należy wprowadzić następujące polecenie:

$ find /etc -type f -mtime -2

Файлы измененные за последние 2 дня

Czasami nie ma potrzeby zagłębiania się w podkatalogi trzeciego poziomu, więc aby wykluczyć tę czynność, musimy użyć specjalnej opcji maxdepth:

$ find /etc -maxdepth 3 -mtime -2 -type f

Możemy zobaczyć wszystkie nowe pliki utworzone w systemie Linux w ciągu ostatnich siedmiu dni, ale z zastrzeżeniem, że ostatnie trzy dni nie powinny być brane pod uwagę:

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

Исключить последние 3 дня

Polecenia te wyświetlają ścieżkę do pliku, ale aby wyświetlić atrybuty, musimy użyć specjalnej opcji --exec. Następnie wyświetlimy atrybuty każdego nowego pliku za pomocą narzędzia ls:

$ find /etc -type f -mmin -120 -exec ls -al {} ;

Вывод подробных атрибутов новых файлов

Jeśli uznasz to polecenie za zbyt mylące i skomplikowane, możesz użyć innego:

$ find /etc -type f -mmin -120 | xargs ls -l

Утилита xargs

Tutaj używamy już innego narzędzia, xargs. Narzędzie find pozwala również znaleźć pliki nowsze niż dany plik. Na przykład, utwórzmy plik referencyjny:

$ touch /tmp/test

Teraz znajdź wszystkie nowsze pliki w katalogu głównym, które zostały utworzone po nim:

$ find / -type f -newer /tmp/test

Przejdźmy do innej metody.

Użycie LS

Ta metoda wyszukiwania nowych plików jest znacznie prostsza niż poprzednia, więc można ją polecić początkującym użytkownikom Linuksa. Polecenie ls może również sortować pliki w katalogu według daty utworzenia. Aby to zrobić, musimy tylko wykonać ls:

$ ls -ltr

Команда ls тоже умеет сортировать файлы в директории по дате создания

Plików może być zbyt wiele, więc rozsądnie jest uruchomić również to polecenie:

$ ls -ltr | tail

Nie są to wszystkie sposoby znajdowania nowych plików, ale wystarczą, aby szybko i sprawnie wykonać zadanie. Jak widać, podstawowe polecenia wyszukiwania find i ls mogą być jeszcze bardziej elastyczne w połączeniu z sort, tail i grep.