Jak usunąć pliki starsze niż 10 dni w Linux

Jak usunąć pliki starsze niż 10 dni w Linux
„Ten samouczek Linux wyjaśnia, jak usunąć pliki starsze niż 30 dni. Po przeczytaniu tego artykułu będziesz mógł usunąć pliki według czasu ich utworzenia. Ponieważ wszyscy użytkownicy Linux muszą wiedzieć, jak znaleźć i usuwać pliki zgodnie z określonym MTime (czas modyfikacji/tworzenia), ta treść jest zoptymalizowana zarówno dla nowych, jak i doświadczonych użytkowników. Wszystkie przykłady pokazane poniżej są ważne dla każdego rozkładu Linuksa.

Wszystkie instrukcje zawarte w tym dokumencie zawierają zrzuty ekranu, co ułatwia każdemu użytkownikowi Linux do zrozumienia i zastosowania."

Notatka: W tym artykule używa się jako przykładowe pliki starsze niż 30 dni, ale możesz zmienić liczbę dni, zastępując 30 na dowolną liczbę.

Usuwanie 30 -dniowych plików w Linux

Na początek zobaczmy, jak wymienić pliki pokazujące ich datę za pomocą LS (Lista) polecenie, a następnie -L flaga na długą ofertę i ścieżką. W moim przypadku ścieżka jest LinuxhintDirectory katalog znajdujący się w bieżącym katalogu.

LS -L LinuxhintDirectory/

Jak widać na powyższym rysunku, istnieją dwa pliki i 2 katalogi starsze niż 30 dni. Możemy zobaczyć pliki WPA.haszysz I WP-config.php, I WPascan I Zmap katalogi.

Polecenie poniżej usunie pliki (bez katalogów) na określonej ścieżce (jak powiedziano, moja ścieżka jest LinuxhintDirectory znajdujący się pod bieżącą ścieżką).

Notatka: W moim przypadku mam do czynienia z plikami utworzonymi przez użytkownika root. Masowe usuwanie plików, ponieważ root nie jest zalecany.

sudo znajdź linuxhintDirectory -Type f -MTime +30 -Delete

Notatka: Możesz zastąpić +30 na +x (liczba jest dowolna w zależności od potrzeb), aby znaleźć pliki starsze niż x. Lub -x, aby znaleźć pliki nowsze niż x. Różnice są symbolami plus i minus.

Jak widać na poprzednim obrazie, pliki WPA.haszysz I WP-config.php zostały pomyślnie usunięte za pomocą opisanego polecenia, gdzie:

sudo: To polecenie daje uprawnienia do plików, które chcesz usunąć, wymagają uprawnień superuser. Korzystanie z Sudo podczas usuwania plików nie jest najlepszą opcją; Użyłem go tylko do przykładów.

znajdować:

LinuxhintDirectory: W poprzednich przykładach, LinuxhintDirectory to katalog, w którym pliki, które chcę usunąć, są przechowywane. To pole należy zastąpić rzeczywistą ścieżką do plików, które chcesz usunąć.

-typ: Ta flaga komendy Find służy do zdefiniowania typu pliku, który chcesz usunąć (użyj F dla plików i D dla katalogów).

F: Po użyciu flagi typu, F, w tym przypadku, został użyty do określenia, że ​​chcemy usunąć pliki, z wyjątkiem katalogów.

-MTime: -MTime Flaga służy do określenia, że ​​chcemy znaleźć pliki zgodnie z ich czasem tworzenia lub modyfikacji. Ta flaga musi następować minus (-) i liczba dni utworzonych/zmodyfikowanych plików po określonej daty. Lub symbol plus (+), a następnie liczba dni utworzonych lub zmodyfikowanych plików starszych niż x dni temu.

+30: Jak wspomniano wcześniej, po flagie -mtime musi następować liczba dni, zgodnie z którymi chcemy znaleźć pliki. W takim przypadku +30 określa pliki utworzone ponad 30 dni temu; Musisz zastąpić liczbę dniami, które chcesz zdefiniować jako parametry.

-usuwać: Ta flaga instruuje polecenie Znajdź do usuwania plików pasujących do wcześniej opisanych flag.

Na wszelki wypadek chcę pokazać kolejny przykład pokazujący ścieżkę z podkatalogami, jak widać poniżej, gdzie lokalny LinuxhintDirectory jest zdefiniowany z katalogu domowego użytkownika.

sudo Znajdź ~/LinuxhintDirectory -Type F -MTime +30 -Delete

Teraz możemy zobaczyć na zrzucie ekranu poniżej lokalizacji LinuxhintDirectory zawiera podwodniki PustyDir1, Pustydir2, Linuxhintdir3, Szablony, test, I Touchp.

Zgodnie z datami pokazanymi poniżej, jedyne kwalifikujące się katalogi, które zostaną usunięte Linuxhintdir3, Szablony, test, I Touchp.

LS -L LinuxhintDirectory/

Teraz zobaczmy, co się stanie, kiedy wymieniasz -typ f z -Typ d Aby określić katalogi.

sudo Znajdź ~/LinuxhintDirectory -Type d -mtime +30 -Delete

Jak widać poniżej, ze wszystkich katalogów pasujących do stanu starszego niż 30 dni usunięto tylko dwa: Linuxhintdir3 I Szablony. Jest tak, ponieważ poprzednie polecenie usuwa tylko puste katalogi. Możesz „usunąć katalogi rekurencyjnie za pomocą polecenia opisanego powyżej. Dlatego widzisz błędy na ostatnim zrzucie ekranu, ostrzegając, że nie może usunąć nieokreślonych katalogów.

Aby usunąć katalogi z zawartością w środku, połączymy polecenie Znajdź z Rm Komenda. Wcześniej sprawdźmy Linuxhintdir katalog dla plików wewnętrznych i podwodnych poprzez dodanie -R (Rekurencyjna) flaga, jak pokazano poniżej.

LS -rl Linuxhintdir/

Jak widać powyżej, wszystkie pliki i katalogi są starsze niż 30 dni. Dlatego, aby usunąć je wszystkie, wykonuję następujące polecenie, jak pokazano poniżej.

sudo znaleźć ./Linux/Linuxhintdir -Type d -mtime +30 -Exec rm -rf \;

Jak widać, katalog Linxhintdir nie został usunięty, ale cała jego zawartość została usunięta. Jak widać na zrzucie ekranu poniżej, powód Linuxhintdir Trwałość jest dzisiaj utworzeniem katalogu, ale zawierał stare pliki.

Teraz sprawdźmy rekurencyjnie katalog /opt.

Notatka: Przed tym krokiem usunąłem katalog Google.

Poniżej możesz zobaczyć pełną sekwencję. Jak widać, istnieją dwa katalogi starsze niż 30 dni (GVM i TeamViewer). Oba mają pliki i podwodne. Usuńmy GVM i całą jego zawartość, uruchamiając to samo używane wcześniej, gdzie zmieniamy ścieżkę na plik (teraz GVM).

sudo Znajdź gvm -type d -mtime +30 -exec rm -rf \;

Jak widać, po uruchomieniu polecenia tylko TeamViewer KATALOG pozostaje; GVM został pomyślnie usunięty.

Wniosek

Jak widać, usuwanie plików przed lub po określonej daty jest dość proste. Każdy użytkownik Linux, niezależnie od poziomu wiedzy, musi wiedzieć, jak znaleźć i zarządzać plikami według daty. Polecenia wyjaśnione w tym samouczku są ważne dla wszystkich dystrybucji Linuksa. Zaleca się zastosowanie powyższych poleceń w celu uzyskania praktyki (użycie środowiska eksperymentalnego lub testowego). Pamiętaj, że symbol + oznacza „więcej niż”, podczas gdy symbol minus (-) oznacza „nowszy niż”.

Mam nadzieję, że ten artykuł wyjaśniający, jak usunąć pliki starsze niż 30 dni w Linux, był przydatny. Śledź nas, aby uzyskać bardziej profesjonalne samouczki.