50% zniżki wszystkie plany, oferta czasowa. Od $2.48/mo
12 min pozostało
Serwery i system operacyjny

Jak bezpiecznie usunąć katalog w Linux: rmdir, rm -r, find

Nick Srebrny By Nick Srebrny 12 minut czytania Zaktualizowano 22 września 2025
Pojedynczy ultrarealistyczny laptop pod kątem 3/4 na mokrej powierzchni; ekran pokazuje dwie wyraźne linie terminala: ls -ld -- '$DIR' rm -I -r -- '$DIR' Z portu po prawej stronie wypływa holograficzna wstęga w kolorach cyjanowym i amarantowym, która kieruje się ku teczce unoszącą się po prawej stronie laptopa; prawa połowa teczki rozchodzi się w drobny papierowy pył. Oświetlenie w stylu BR2049, UV rim, delikatne krople deszczu, sodowo-bursztynowa mgła i pojedyncza niska linia horyzontu.

Wybranie odpowiedniego narzędzia sprawia, że usunięcie folderów w Linux staje się łatwe. Użyj rmdir dla ścieżek pustych, rm -r dla katalogów, które wciąż zawierają pliki, i znajdź gdy chcesz usunąć tylko zawartość. To jest jak usunąć katalog w Linux, z domyślnym bezpieczeństwem, szybkimi kontrolami i naprawą błędów, które stanowią przeszkodę. Jeśli liczy się szybkość, sprawdź tabelę, a następnie czytaj dalej, aby poznać mechanizmy bezpieczeństwa.

 

 

Przegląd poleceń: Kopiuj, wklej, idź dalej

Zanim przejdziemy do szczegółów, oto najczęściej używane komendy w jednym miejscu. Skopiuj z kolumny środkowej, a następnie zastosuj notatkę.

Zadanie Najbezpieczniejsza szybka komenda Flagi dodatkowe lub notatki
Usuń pusty katalog rmdir KATALOG or rm -d DIR Dodaj -p aby usunąć katalogi nadrzędne, jeśli będą puste.
Usuń katalog niepusty z jednym potwierdzeniem rm -I -r DIR Równowaga między szybkością a bezpieczeństwem.
Wymuszone usunięcie kataloga niepustego rm -rf — DIR Zweryfikuj za pomocą ls -ld — DIR zanim go uruchomisz.
Zachowaj katalog nadrzędny, wyczyść zawartość find DIR -mindepth 1 -delete Obsługuje też ukryte pliki i foldery.
Usuń tylko puste katalogi znajdź DIR -type d -empty -delete Posprzątanie po wdrożeniach.
Usuń według wzorca nazwy find DIR -type d -name 'cache*' -prune -exec rm -rf {} + Działa szybko na dużych strukturach.

Miej ten zestaw komendy pod ręką podczas nauki usuwania katalogów w Linux. 

Usuwanie pustych katalogów za pomocą rmdir or rm -d

Ultrarealistyczna stalowa szuflada kartoteki całkowicie otwarta, widoczne szyny i filcowe podkładki, zupełnie pusta. Malutkie wytłoczone nalepki na froncie: RMDIR i EMPTY. Miękki, sodowo-bursztynowy blask unosi się za ledwo widocznym sylwetem horyzontu; cyjanowe znaki świecą się na szczotkowanej metalowej krawędzi; mikroskopijne cząsteczki i włosowate rysy wyglądają autentycznie.

Puste katalogi to niski punkt ryzyka. Jeśli musisz usunąć tylko jeden element, rmdir robi dokładnie to; jeśli wolisz pozostać na rm, użyj rm -d dla tego samego wyniku. Oba polecenia zatrzymują się na ścieżki nie będące puste, co daje początkującym, którzy uczą się usuwać katalogi w terminalu, przydatną ochronę przed błędami.

  • rmdir PROJECT/tmp usuwa pusty folder i zwraca się bez błędu, jeśli folder już nie istnieje.
  • rmdir -p foo/bar/baz usuwa ścieżkę i kolejne katalogi nadrzędne, jeśli staną się puste — cały bałagan robi się porządek w jednym ruchu.
  • rm -d empty_folder usuwa tylko, jeśli katalog jest pusty, odpowiednik rmdir dla tych, którzy żyją na rm.
  • rmdir --ignore-fail-on-non-empty DIR ukrywa komunikat błędu "nie jest puste" w skryptach, gdzie liczy się czystość wyniku.
  • Dodaj -v na przykład do opinii, rmdir -pv foo/bar/baz.

Typowy problem podczas usuwania katalogu w Linux to sytuacja, gdy folder zawiera jeszcze pliki, rmdir odmawia pracy. To sygnał, że czas przejść na rekursję. 

Przeczytaj również: Połącz się z serwerem Linux za pomocą XRDP

Usuwanie katalogów zawierających pliki za pomocą rm

Ultrarealistyczny przemysłowy niszczarz papieru jako jedyny bohater; otwór załadowany wieloma kopertami z teczami i działownikami. Koperty wyraźnie wypełnione papierem. Mały metalowy emblemat na froncie nosi napis RM -R; obok niego mały trójkąt ostrzegawczy z napisem FORCE.

Usuwanie rekurencyjne to rm -r or rm -rf. Kompromis sprowadza się w zasadzie do szybkości kontra potwierdzenia. Osoby uczące się, jak usuwać katalogi w Linux, zaczynają od rm -r i dodają potwierdzenie. Zespoły, które automatyzują, dodają -f po zablokowaniu sprawdzania ścieżek.

Zacznij od wzorców, które Cię uspokajają:

  • Wyświetl monit raz rm -I -r DIR pyta jeden raz przed zejściem, lepsze dopasowanie niż -i na dużych drzewach.
  • Potwierdź wszystko: rm -ri DIR działa wolno, ale pomocnie na małych drzewach katalogów, gdy chcesz zobaczyć każdy krok.
  • Wymuszenie i rekurencja: rm -rf DIR pomija potwierdzenia i większość błędów; sprawdź za pomocą pwd, ls -ld — DIR, i an echo "$DIR" zanim naciśniesz Enter.
  • Szczegółowy: -v wyświetla każdą usuniętą ścieżkę, na przykład rm -rfv build/.
  • Zabezpieczenia główne i montowania: nowoczesne systemy blokują rm -rf / poprzez –preserve-root; w skryptach, dodaj –jeden-system-plików aby nie przekroczyć granic montowania.

Przed wymuszonym usunięciem na zajętej maszynie poświęć pół minuty, by zweryfikować cel. Wyświetl go za pomocą ls -ld — "$DIR", następnie sprawdź cytowanie i globy. Czysty sposób, aby nauczyć się usuwać katalog w Linux, to spróbować -I najpierw, potem powtórz bez interakcji. Spokojne sprawdzenia, powtarzalne nawyki.

linux-vps Hosting Linux bez komplikacji

Szukasz lepszego sposobu na hostowanie stron i aplikacji internetowych? Pracujesz nad nowym projektem? A może po prostu nie chcesz korzystać z Windows? Od tego właśnie mamy Linux VPS.

Zamów swój Linux VPS

Dziwne Nazwy, Myślniki na Początku i Ukryte Pułapki

Taśma ostrożności rozciągnięta naciągnięta na ramę, ultrarealistyczna tekstura winylowa z subtelnymi zmarszczkami. Czarny druk powtarza -TMP w odstępach po każdym CAUTION.

Niektóre ścieżki zaczynają się od myślnika lub zawierają bajty, które mylą parsing. Przekaż aby zatrzymać parsowanie opcji, lub dodaj ./ przed nazwą.

Bezpieczne sposoby na dziwne nazwy:

rm -r -- --weird
rm -r ./-cache

Te małe nawyki czynią usuwanie katalogów w Linux znacznie mniej stresującym na serwerach wspólnych i sesjach zdalnych. Jeśli musisz zachować katalog nadrzędny, ale usunąć jego zawartość, przełącz się na komendy uwzględniające głębokość; to następna część w naszym przewodniku Jak usuwać katalog w Linux.

Zachowaj Folder, Wyczyść Zawartość

Ultrarealistyczny folder manila z małymi drzwiczkami przejściowymi wbudowanymi w narożnik boku karty, zawiasami i lekko otwartymi, aby cienki strumień holograficznych "fragmentów plików" opadał. Wygrawerowane na karcie: FIND i MIND1 (dla -mindepth 1)

Wiele prac wymaga czystego katalogु zamiast brakującego. Rotacja logów, potoki budowania, czyszczenie VPS. Dwa wzorce obejmują sposób usuwania wszystkich plików w katalogiu w Linux przy jednoczesnym zachowaniu katalogu nadrzędnego.

  • Pomiń katalog nadrzędny za pomocą znajdź:
find /var/tmp/app -mindepth 1 -delete
  • Lub wykonaj rm na partiach:
find ./cache -mindepth 1 -exec rm -rf {} +

Oba obsługują ukryte wpisy (włączając pliki ukryte), gdzie proste rm * je pomija. Jeśli pytanie dotyczy usunięcia wszystkich plików w katalogu Linux, to jest niezawodny sposób.

Jednolinijkowce pomagają, choć wiele zespołów potrzebuje filtrów po nazwie lub głębokości. Tu właśnie znajdź daje ci kontrolę bez domysłów.

Przeczytaj również: Wyświetl uruchomione usługi na Linux

Precyzyjne usuwanie za pomocą znajdź: nazwy, głębokość, przycinanie

Możesz chcieć usunąć tylko drzewa cache, tylko foldery build pierwszego poziomu lub tylko zarchiwizowane logi. Oto kompaktowy zestaw wzorców dla find usuń katalog zadania.

Zadanie Migawka polecenia Notatki
Usuń tylko cache*/ katalogi w projekcie find . -type d -name 'cache*' -prune -exec rm -rf {} + -prune nie schodzi do pasujących katalogów; szybsze na dużych drzewach.
Usuń katalogi według głębokości find ./dist -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} + Dotyczy tylko katalogów pierwszego poziomu pod dist/.
Usuń tylko puste katalogi znajdź . -type d -empty -delete Posprzątanie po wdrożeniach.
Usuń pliki pasujące do wzorca find logs -type f -name '*.gz' -delete Pozostawia nowe logi nienaruszone.
Usuń wszystko, ale zachowaj katalog nadrzędny find /data/tmp -mindepth 1 -delete Usługi nadal używają katalogu nadrzędnego.

Użyj -print dla przebiegu testowego, następnie usuń go przy rzeczywistym przebiegu. To praktyczna strona usuwania katalogów na Linux, przewidywalna kontrola ze szybkim wykonaniem. Gotcha, na niektórych minimalnych wersjach BusyBox -delete brakuje działania; użyj -exec rm -rf {} + zamiast tego.

Te wzorce posuwają cię daleko. Dodaj kilka zabezpieczeń, by uniknąć rzadkich, kosztownych błędów.

Zabezpieczenia Chroniące Cię Przed Tobą Samym

Ultrarealistyczna kłódka typu lockout/tagout z zauszem ze szczotki stali i podrapanych czerwonych emaliach, krople kondensacji na tryklu; na zauszu wisi etykieta bezpieczeństwa z trzema wygrawerowanymi napisami: RM -I, ONE FS, PRESERVE ROOT.

Potężne komendy wymagają rozsądnych domyślnych ustawień. Nabierz tych nawyków, by usunięcie katalogu z Linux za pomocą poleceń nie usunęło ci también zdrowia psychicznego.

  • Wolisz jedno polecenie z rm -I -r DIR podczas gdy weryfikujesz ścieżkę na ekranie.
  • Ujmuj ścieżki zawsze w cudzysłów: rm -rf — "$DIR" chroni przed spacjami, globami i nazwami zaczynającymi się myślnikiem.
  • Potwierdź dokładny cel: ls -ld — "$DIR" wyświetla jedną linię z uprawnieniami, właścicielem i ścieżką.
  • Pozostań wewnątrz systemu plików: rm -rf –one-file-system "$DIR" uniemożliwia wejście na zamontowane wolumeny.
  • Ochrona roota pozostaje włączona, zachowaj –preserve-root w miejscu.
  • Wyczyść bit immutable, gdy zajdzie potrzeba: lsattr -d "$DIR" do sprawdzenia, chattr -i "$DIR" aby ją usunąć.

Jeśli usunięcie wciąż się nie udaje lub zawiesa, sprawdź zwykłych podejrzanych.

Uruchom swoje testy czyszczące na Linux VPS Cloudzy, a potem wracaj do pracy

Ultrarealistyczny serwer 1U umieszczony solidnie na chmurze (chmura = VPS). Krótki kabel światłowodowy SFP+ łączy serwer z otwartym laptopem ustawionym pod kątem 3/4. Na błyszczącym terminalu laptopa dwa duże wyryte napisy: RM -I -R i ROLLBACK (przełącznik z zapalonym wskaźnikiem). Na panelu serwera małe identyfikatory: NVME, 10 GBPS, DDR5.

Jeśli chcesz stabilny zdalny serwer do testowania rm, rmdir, i znajdź bezpiecznie, uruchomić hosting Linux VPS i pracować w czystej powłoce. Jest tani, szybki i dostępny w 12 lokalizacji na całym świecie z 11 dystrybucji Linux gotowy do użytku. Otrzymujesz dostęp root, magazyn NVMe SSD magazyn i DDR5 RAM w nowoczesnych planach, plus Ochrona przed atakami DDoS i a 99,95% czasu dostępności zobowiązanie. Wysoka przepustowość i niska opóźnienia są częścią pakietu, z połączeniami do 10 Gbps wymienionymi na kartach planów.

  • Zasięg globalny: wdrażaj w ponad 12 lokalizacjach, w tym Nowy Jork, Los Angeles, Miami, Amsterdam, Londyn, Niemcy, Szwajcaria, Utah, Dallas, Las Vegas i Singapur, aby zapewnić szybsze trasy do swoich użytkowników.
  • Dostęp root + 11 dystrybucji: wybierz maszynę, którą chcesz, i zachowaj pełną kontrolę od pierwszego dnia.
  • Nowoczesny sprzęt: szybkie dyski i potężne CPU napędzają instancje; wydajność pozostaje stabilna przy dużych obciążeniach.
  • Sieć + czas dostępności: niska latencja, duża przepustowość i cel dostępności 99,95% pomagają zaplanowanym zadaniom działać na czas.
  • Bezpieczeństwo: ochrona DDoS jest wbudowana na wszystkich serwerach, więc rutynowa konserwacja rzadko powoduje przerwy.
  • Wygoda: wstępnie zainstalowane systemy operacyjne, darmowe backup i wiele sposobów płatności sprawiają, że konfiguracja jest prosta.

Wolisz pełny pulpit? Podczas zamawiania wybierz Linux RDP aplikację jednym kliknięciem. Dostarcza maszynę z graficznym interfejsem XRDP, GDM3i Graficzny interfejs użytkownika GNOME wstępnie zainstalowany na Ubuntu, dzięki czemu możesz się zalogować zdalnie jednym kliknięciem. Działa w tych samych 12 lokalizacjach i zachowuje 99,95% czasu dostępności cel. Jest bez dodatkowych opłat dla wstępnie zainstalowanej konfiguracji pulpitu.

Podsumowując: uruchom niedrogą maszynę, wybierz dystrybucję, zachowaj dostęp root, a jeśli trzeba, dodaj pulpit podczas zakupu. Potem ćwicz usuwanie katalogów interaktywnie, twórz snapshoty i powtarzaj, aż polecenia będą dla ciebie intuicyjne.

Rozwiązywanie problemów: "Odmowa dostępu", "Katalog nie jest pusty", Zajęte ścieżki

Pojedynczy folder zawieszkowany nad wąskim kanałem (kanał symbolizuje rozwiązywanie problemów, więcej wykuta na nim ikona debugowania); wewnątrz mniejsze podfoldery i słabe ikony plików ukrytych zanikają podczas spadania. Napisy na krawędzi kanału od góry do dołu: OBJAW, SPRAWDŹ, NAPRAW; z drugiej strony: NIE PUSTE, SPRAWDŹ, ZNAJDŹ-USUŃ.

Większość problemów skupia się w kilku wzorcach. Używaj tego przepływu objaw → sprawdzenie → naprawa, aby usunięcie katalogु nie zatrzymało twojego wdrożenia.

1) "Odmowa dostępu" do katalogu, którego jesteś właścicielem
Sprawdź atrybuty za pomocą lsattr -d DIR. Jeśli flaga niezmienności i jest ustawiona, usuń ją za pomocą sudo chattr -i DIR, a potem spróbuj ponownie. Pojawia się w wzmocnionych systemach i niektórych kontenerach.

2) "Operacja niedozwolona" nawet z sudo
Potwierdź, że system plików nie jest tylko do odczytu. mount | grep DIR or findmnt DIR pokazuje stan. Remontuj jako dostępny do zapisu lub wybierz inną ścieżkę.

3) "Katalog nie jest pusty" po rmdir
Wpisy nadal są obecne. Przejdź do:

find DIR -mindepth 1 -delete

Obejmuje ukryte pliki i zagnieżdżoną zawartość.

4) Usługa odtwarza folder
Uruchomiona jednostka zapisuje się w ścieżce. Zatrzymaj lub uruchom ponownie czyszczenie, a następnie usuń. Jeśli środowisko jest uszkodzane, przewodnik na polecenie systemctl nie znalezione pomoże ci to naprawić w pierwszej kolejności. Przykład: mieliśmy Nginx piszący do /var/log/nginx/ na serwerze testowym; zatrzymanie nginx.service wyczyszczono lsofspowodowało powodzenie usunięcia i dzienniki wznowiły pracę czyszczenie.

5) "Urządzenie lub zasób zajęty"
Proces przechowuje otwarty uchwyt w katalogu. lsof +D KATALOG or fuser -vm KATALOG pokazuje co jest aktywne; zatrzymaj to czyszczenie, a następnie usuń. Gdy potrzebujesz szybkiego widoku gniazd zanim wyczyścisz dzienniki, Polecenie Netstat w systemie Linux obejmuje szybką kontrolę.

6) Dziwne nazwy: spacje, znaki nowego wiersza lub kreska na początku
Użyj or ./ przed nazwami zaczynającymi się kreską i cudzysłów każdy ciąg. Do zbiorcze czyszczenia dziwnych nazw uruchom find . -print0 | xargs -0 tak aby spacje nigdy nie przerwały polecenia.

Dzięki tym poprawkom większość problemów znika. Jeśli stała usunięcie nie jest zaplanowane, zamiast tego użyj przepływu kosza.

Kosz zamiast usuwania: trash-cli i kosz na śmieci gio

Ultrarealistyczny niebieski pulpit kosza na śmieci (matowy polimer z drobnymi śladami wtrysku, otwór szczeliny), krawędź złożonego folderu papieru wychodzącego z szczeliny. Grawerowane wzdłuż krawędzi: TRASH-CLI, TRASH. Mały znaczek boczny świeci RESTORE, aby zasugerować odwrócenie.

Nie musisz trwale usuwać wszystkiego. Pulpity i serwery z obsługą GLib obsługują przepływ kosza, dzięki czemu możesz przejrzeć i przywrócić. Jeśli uczysz się jak usunąć katalog w Linux i chcesz pomocy treningowej, spróbuj tych:

  • gio kosz PATH przenosi pliki i katalogi do kosza; gio list trash:// pozwala przeglądać.
  • Z trash-cli, użyj ścieżka kosza, trash-list, trash-restore, i trash-empty do prostego przepływu pracy wiersza poleceń.

To wolniej niż rm, ale jeśli chcesz dodatkową kontrolę bezpieczeństwa, warto ją przeprowadzić. Dlatego jeśli musisz wiedzieć, jak usunąć katalog w Linux bez ryzyka utraty rzeczywistych danych, zacznij od kosza, a potem przejdź do rm.

Ostateczne myśli

Masz teraz kompletny zestaw narzędzi do usuwania katalogów w Linux, który zawiera rmdir dla ścieżek pustych, rm -I -r do bezpiecznej rekurencji, rm -rf tylko po weryfikacji celu oraz find -mindepth 1 -delete gdy musisz wyczyścić zawartość bez usuwania katalogu głównego. Ujmij ścieżki w cudzysłów, zachowaj –preserve-root, pozostań na jednym systemie plików i usuń bit niemutowalności, jeśli Ci przeszkadza; reszta jest obsługiwana przez sprawdzenia diagnostyczne.

I nie zapomnij, jeśli potrzebujesz czystego serwera zdalnego do ćwiczeń, uruchom Linux VPS serwer Cloudzy; jest niedrogim i solidnym rozwiązaniem do bezpiecznych testów, a dzięki naszemu instalacji Linux RDP jednym klikiem otrzymujesz również sesję pulpitu, dzięki czemu możesz przejść przez usuwanie w pełnym interfejsie graficznym.

 

Często zadawane pytania

Jaka jest różnica między rm a rmdir?

rmdir usuwa tylko puste katalogi i może usunąć katalogi nadrzędne, które staną się puste, z opcją -p. rm usuwa pliki i katalogi; dodaj -r dla rekurencji i -I lub -i dla potwierdzenia.

Jak wymusić usunięcie folderu i całej jego zawartości?

Użyj rm -rf DIR po weryfikacji ścieżki. Dodaj -v, jeśli chcesz dziennik wiersz po wierszu. Niektórzy administratorzy najpierw wykonują testowy przebieg z rm -I -r przed ostatecznym uruchomieniem.

Jak usunąć zawartość, ale nie sam katalog?

Uruchom find DIR -mindepth 1 -delete. Pokazuje, jak wyczyścić katalog w Linuksie i zachowuje katalog główny dla usług.

Dlaczego rmdir mówi "Katalog nie jest pusty", gdy nie widzę plików?

Pliki ukryte są wciąż tam. ls -A je pokaże, a potem użyj wzorca find -mindepth 1 -delete.

Jak naprawić "Operacja niedozwolona" lub "Dostęp zabroniony"?

Sprawdź bit niemutowalności za pomocą lsattr -d DIR i usuń go poleceniem sudo chattr -i DIR, jeśli jest obecny. Ponadto potwierdź, że punkt montowania nie jest tylko do odczytu. Jeśli usługa odtwarza ścieżki podczas czyszczenia, najpierw napraw problem z jednostką; link do systemctl wyżej Ci pomoże.

Udostępnij

Więcej z bloga

Czytaj dalej.

Okładka artykułu o najlepszych aplikacjach self-hosted do uruchomienia z Cosmos Cloud, z panelami aplikacji wokół pulpitu Cosmos.
Serwery i system operacyjny

Najlepsze aplikacje self-hosted do uruchomienia z Cosmos Cloud: pliki, multimedia, hasła, automatyzacja i nie tylko!

Maybe masz już skonfigurowany Cosmos Cloud i chcesz zobaczyć, jakie aplikacje dobrze z nim współpracują, a może jeszcze nie zdecydowałeś się na Cosmos i po prostu chcesz sprawdzić, jak wpasowuje się w twój przepływ pracy

Nick SrebrnyNick Srebrny Czytanie w 16 minut
Portainer vs Cosmos Cloud do zarządzania aplikacjami Docker: okładka z diagramem konfiguracji hybrydowej oraz blokami ops i access.
Serwery i system operacyjny

Portainer vs Cosmos Cloud: Które rozwiązanie lepiej sprawdzi się do zarządzania aplikacją Docker?

Jeśli znasz już Docker i szukasz wygodniejszego sposobu na obsługę rosnącego stosu aplikacji, oto krótka odpowiedź na pytanie Portainer vs Cosmos Cloud. Portainer to mocniejszy wybór do bezpośred

Nick SrebrnyNick Srebrny 14 minut czytania
Grafika porównawcza Cosmos Cloud vs CasaOS vs Umbrel pokazująca trzy ścieżki self-hostingu w ramach jednej abstrakcyjnej sieci chmurowej.
Serwery i system operacyjny

Cosmos Cloud vs CasaOS vs Umbrel: Która platforma self-hosted pasuje do Twojego środowiska?

Krótka odpowiedź: CasaOS to nadal najłatwiejszy punkt startowy, Umbrel ma najbardziej dopracowany i spójny interfejs, a Cosmos Cloud zaczyna mieć sens, gdy chcesz mieć większą kontrolę nad dome

Nick SrebrnyNick Srebrny 11 minut czytania

Gotowy do wdrożenia? Od 2,48 USD/miesiąc.

Niezależna chmura od 2008 roku. AMD EPYC, NVMe, 40 Gbps. Zwrot pieniędzy w ciągu 14 dni.