Wyszukiwanie w witrynie

Jak znaleźć najnowsze lub dzisiejsze zmodyfikowane pliki w systemie Linux


W tym artykule wyjaśnimy dwie proste wskazówki dotyczące wiersza poleceń, które pozwolą Ci wyświetlić tylko listę wszystkich dzisiejszych plików.

Jednym z typowych problemów, na jakie napotykają użytkownicy Linuksa w wierszu poleceń, jest lokalizowanie plików o określonej nazwie. Znając nazwę pliku, może to być znacznie łatwiejsze.

Zakładając jednak, że zapomniałeś nazwy pliku, który utworzyłeś (w folderze home, który zawiera setki plików) wcześniej w ciągu dnia, a mimo to musisz go pilnie użyć.

Poniżej znajdują się różne sposoby wyświetlania wyłącznie wszystkich plików, które dzisiaj utworzyłeś lub zmodyfikowałeś (bezpośrednio lub pośrednio).

1. Używając polecenia ls, możesz wyświetlić listę dzisiejszych plików w swoim folderze domowym tylko w następujący sposób, gdzie:

  1. -a – wyświetla listę wszystkich plików, łącznie z plikami ukrytymi
  2. -l – włącza długi format listy
  3. --time-style=FORMAT – pokazuje czas w określonym FORMACIE
  4. +%D – pokaż/użyj daty w formacie %m/%d/%y
ls  -al --time-style=+%D | grep 'date +%D'

Ponadto możesz posortować wynikową listę alfabetycznie, dołączając flagę -X:

ls -alX --time-style=+%D | grep 'date +%D'

Możesz także wyświetlić listę na podstawie rozmiaru (najpierw największy), używając flagi -S:

ls -alS --time-style=+%D | grep 'date +%D'

2. Ponownie możliwe jest użycie polecenia find, które jest praktycznie bardziej elastyczne i oferuje wiele opcji niż ls, w tym samym celu, co poniżej.

  1. Poziom -max głębokość służy do określenia poziomu (w zakresie podkatalogów) poniżej punktu początkowego (w tym przypadku katalogu bieżącego), do którego zostanie przeprowadzona operacja wyszukiwania.
  2. -newerXY, działa to, jeśli znacznik czasu X danego pliku jest nowszy niż znacznik czasu Y odniesienia do pliku. X i Y oznaczają dowolną z poniższych liter:

    1. a – czas dostępu odniesienia do pliku
    2. B – czas urodzenia odniesienia do pliku
    3. c – czas odniesienia zmiany stanu i-węzła
    4. m – czas modyfikacji odniesienia do pliku
    5. t – odniesienie jest interpretowane bezpośrednio jako czas

Oznacza to, że brane pod uwagę będą tylko pliki zmodyfikowane 2016-12-06:

find . -maxdepth 1 -newermt "2016-12-06"

Ważne: użyj prawidłowego formatu daty jako odniesienia w powyższym poleceniu wyszukiwania. Jeśli użyjesz nieprawidłowego formatu, pojawi się błąd ten poniżej:

find . -maxdepth 1 -newermt "12-06-2016"

find: I cannot figure out how to interpret '12-06-2016' as a date or time

Alternatywnie użyj poniższych prawidłowych formatów:

find . -maxdepth 1 -newermt "12/06/2016"
OR
find . -maxdepth 1 -newermt "12/06/16"

Więcej informacji na temat użycia poleceń ls i find znajdziesz w naszej serii artykułów na ten temat.

  1. Opanuj polecenie „ls” w systemie Linux za pomocą 15 przykładów
  2. Przydatne 7 dziwacznych sztuczek „ls” dla użytkowników Linuksa
  3. Opanuj polecenie „znajdź” w systemie Linux za pomocą 35 przykładów
  4. Sposoby znajdowania wielu nazw plików z rozszerzeniami w systemie Linux

W tym artykule wyjaśniliśmy dwie ważne wskazówki, jak wyświetlić tylko dzisiejsze pliki za pomocą poleceń ls i find. Skorzystaj z poniższego formularza opinii, aby przesłać nam jakiekolwiek pytania lub uwagi na dany temat. Możesz również poinformować nas o wszelkich poleceniach używanych w tym samym celu.