50% zniżki wszystkie plany, oferta limitowana. Od $2.48/mo
Pozostało 12 min
Serwery i systemy operacyjne

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

Nick Silver By Nick Silver 12 min 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 też: 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 uproszczony

Chcesz lepszego sposobu na hostowanie swoich stron i aplikacji webowych? Tworzysz coś nowego? Po prostu nie lubisz Windows? Dlatego mamy Linux VPS.

Pobierz 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 też: 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 zawiesza, przejdź przez typowych podejrzanych.

Uruchom swoje testy porządkowania na Cloudzy Linux VPS, a potem buduj dalej

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, rmdiroraz 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 pamięć, 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 oraz 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-restoreoraz 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 „Directory not empty”, 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ć błędy „Operation not permitted” lub „Permission denied”?

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.

Obraz okładkowy najlepszych aplikacji self-hosted, które można uruchomić z Cosmos Cloud, z panelami aplikacji wokół dashboardu Cosmos.
Serwery i systemy operacyjne

Najlepsze aplikacje self-hosted, które możesz uruchomić z Cosmos Cloud: pliki, media, hasła, automatyzacja i więcej!

Może skonfigurowałeś już Cosmos Cloud i chcesz zobaczyć, jakie aplikacje do niego pasują, a może jeszcze nawet nie zdecydowałeś się na Cosmos i chcesz zobaczyć, jak dobrze pasuje do Twojego workflow

Nick SilverNick Silver 16 min czytania
Okładka Portainer vs Cosmos Cloud do zarządzania aplikacjami Docker z diagramem konfiguracji hybrydowej i neonowymi blokami ops vs access.
Serwery i systemy operacyjne

Portainer vs Cosmos Cloud: Najlepszy wybór do zarządzania aplikacjami Docker

Jeśli znasz już Docker i chcesz czystszego sposobu uruchamiania rosnącego stacka aplikacji, oto krótka odpowiedź na Portainer vs Cosmos Cloud. Portainer jest lepszym wyborem do bezpośredniego

Nick SilverNick Silver 14 min czytania
Grafika tematyczna Cosmos Cloud vs CasaOS vs Umbrel pokazująca trzy ścieżki self-hosted wewnątrz jednego abstrakcyjnego świata sieci chmurowych.
Serwery i systemy operacyjne

Cosmos Cloud vs CasaOS vs Umbrel: Która platforma self-hosted pasuje do Twojej konfiguracji?

Krótka odpowiedź jest taka, że CasaOS to wciąż najłatwiejsze miejsce na start, Umbrel ma najczystszy wyselekcjonowany wygląd, a Cosmos Cloud ma większy sens, gdy chcesz większej kontroli nad domeną

Nick SilverNick Silver 11 min czytania

Gotowy do wdrożenia? Od $2,48/mies.

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