W bash wszystko co wiem to
rmdir directoryname
usunie katalog, ale tylko jeśli jest pusty. Czy istnieje sposób na wymuszenie usunięcia podkatalogów?
W bash wszystko co wiem to
rmdir directoryname
usunie katalog, ale tylko jeśli jest pusty. Czy istnieje sposób na wymuszenie usunięcia podkatalogów?
Odpowiedzi:
Następujące polecenie zrobi to za Ciebie. Zachowaj jednak ostrożność.
rm -rf directoryname
rm: invalid option -- r
błąd podczas próby usunięcia katalogu za pomocą rm -r <nazwa_katalogu>.
rm -rf directoryname
, ponieważ nie chcesz, aby skrypt wstrzymywał wykonywanie, ponieważ czeka na dane wejściowe użytkownika. Oczywiście musisz mieć pewność, że usunięcie katalogu nie zaszkodzi.
jeśli rm -rf directoryname
Ci się nie powiedzie, spróbuj użyć rm -R -f directoryname
lub rm --recursive -f directoryname
.
Jeśli nie masz z nimi szczęścia, powinieneś rozważyć ponowne zainstalowanie rm lub zmianę powłoki.
man rm
aby wyświetlić moje opcje dotyczące usuwania rekurencyjnego i opcji wymuszenia .
rm
lista stron man -r
? Co to robi? (Wypróbuj w katalogu utworzonym tylko do celów testowych, w którym znajdują się tylko fikcyjne pliki (i może podkatalogi)). Z jakiego systemu operacyjnego korzystasz?
rm -r
nie działa, byłby to problem z systemem operacyjnym, a nie problem 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 przeszukując system, aby sprawdzić, czy masz już inną wersję rm
w katalogu innym niż /bin
.)
man rm
terminal, dostałem plik tekstowy z less
przeglądarką tekstów. Przewinąłem znalazłem wcięty wpis z całością, która zawierała opcje -R i --recursive wraz z opcją -r , co oznacza, że wszystkie te argumenty są identyczne.
sudo rm -r directoryName
? Niepisane reguły podstawowych poleceń -r
pozwalają programowi na rekurencyjne uruchamianie na każdym pliku systemu plików (zaczynając od miejsca, w którym wybierzesz!), I że -f będzie zmuszał robić rzeczy, nawet jeśli jest to niebezpieczne . „cd”, „mv”, „ls” w większości utrzymuje tę zasadę jako prawdę. ls -r /
będzie duzie i cp -rf / /dev/null
zniszczy wszystko w twoim systemie plików. <- Nigdy nie uruchamiaj tego polecenia!
rm -r directoryname
.