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
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
rmlista 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 -rnie ' 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ęrmlub przeszukaj system, aby sprawdzić, czy masz już inną wersjęrmw jakimś katalogu innym niż/bin.) - Ach, racja. Zapomniałem wspomnieć, że ' m na Ubuntu 14.04 Kiedy uruchomiłem
man rmna moim terminalu, dostałem plik tekstowy zlessprzeglą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-rpozwoli 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, acp -rf / /dev/nullzniszczy wszystko w Twoim systemie plików. < – Nigdy nie uruchamiaj tego polecenia!
rm -r directoryname.rm: invalid option -- r, próba usunięcia katalogu za pomocą rm -r < nazwa katalogu >.rm -rf directorynamebo 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.