Jak usunąć katalog i całą jego zawartość?

W bash wiem tylko, że

rmdir directoryname 

usunie katalog, ale tylko jeśli jest pusty. Czy istnieje sposób na wymuszenie usunięcia podkatalogów?

Odpowiedź

Następujące polecenie zrobi to za Ciebie . Należy jednak zachować ostrożność.

rm -rf directoryname 

Komentarze

  • " -f " to " –force ", które zastępuje niektóre testy poprawności i Bezpieczniejszym poleceniem na początek byłoby rm -r directoryname.
  • Z jakiegoś powodu pojawia się błąd rm: invalid option -- r, próba usunięcia katalogu za pomocą rm -r < nazwa katalogu >.
  • @Sunspawn Sprawdź to powiązane pytanie , aby zobaczyć, czy to ' tak jest.
  • @JimParis Myślę, że słowo " bezpieczniejsze " jest względne. Załóżmy, że piszesz skrypt do uruchomienia na komputerze zdalnym. Ten skrypt ma polecenie, które ma usunąć katalog. W tym przypadku " bezpieczniej " użyć rm -rf directoryname bo nie ' nie chcesz, aby Twój skrypt wstrzymał wykonywanie, ponieważ ' czeka na dane wejściowe użytkownika. Oczywiście musisz mieć pewność, że usunięcie katalogu nie zaszkodzi.

Odpowiedz

jeśli rm -rf directoryname zawiedzie, spróbuj użyć rm -R -f directoryname lub rm --recursive -f directoryname.

Jeśli nie masz z nimi szczęścia, powinieneś rozważyć ponowną instalację rm lub zmianę powłok.

Komentarze

  • To były opcje dostępne w moim rm man, sprawdziłem to, wpisując man rm, aby wyświetlić moje opcje rekursywnego usuwania i opcji wymuszenia .
  • Czy Twój rm lista stron podręcznika -r? Co to robi? (Wypróbuj go w katalogu, który tworzysz tylko do celów testowych, z tylko fikcyjnymi plikami (i być może podkatalogami).) Jakiego systemu operacyjnego używasz?
  • P.S. Jeśli rm -r nie ' nie działa, byłby to problem z systemem operacyjnym, a nie z powłoką. (Ściśle mówiąc, byłby to problem z wersją rm, której ' używasz, więc możesz rozwiązać ten problem, instalując inną wersję rm lub przeszukaj system, aby sprawdzić, czy masz już inną wersję rm w jakimś katalogu innym niż /bin.)
  • Ach, racja. Zapomniałem wspomnieć, że ' m na Ubuntu 14.04 Kiedy uruchomiłem man rm na moim terminalu, dostałem plik tekstowy z less przeglądarka tekstu. Przewinąłem i znalazłem wpis z wcięciem z całością, który miał opcje -R i –recursive połączone z opcją -r , co oznacza, że wszystkie te argumenty są identyczne.
  • edit: czy próbowałeś już sudo rm -r directoryName ? Niepisane zasady podstawowych poleceń są takie, że -r pozwoli programowi na rekurencyjne uruchamianie każdego pliku w systemie plików (zaczynając od dowolnego wybranego przez ciebie miejsca!) I że -f zrobi wszystko na siłę, nawet jeśli jest ' jest niebezpieczne . ' cd ', ' mv ', ' ls ' głównie potwierdza tę zasadę. ls -r / będzie duzie, a cp -rf / /dev/null zniszczy wszystko w Twoim systemie plików. < – Nigdy nie uruchamiaj tego polecenia!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *