Jak usunąć następujący katalog?
Wpisałem:
rmdir lampp
Pojawia się ten błąd:
rmdir: failed to remove `lampp': Directory not empty
Czy istnieje polecenie, aby usunąć wszystkie pliki w katalogu i usunąć folder katalogu?
command-line
naveen
źródło
źródło
rm -r lampp
.Odpowiedzi:
Użyj poniższego polecenia:
Usuwa wszystkie pliki i foldery zawarte w
lampp
katalogu.W przypadku, gdy użytkownik nie ma uprawnień do usunięcia folderu:
Dodaj
sudo
na początku polecenia:W przeciwnym razie bez
sudo
Ciebie nie zostanie zwrócone pozwolenie. Dobrą praktyką jest nieużywanie-f
podczas usuwania katalogu:Uwaga: przy założeniu, że jesteś już na tym samym poziomie folderu, który chcesz usunąć w terminalu, jeśli nie:
FYI: można używać liter
-f
,-r
,-v
:-f
= aby zignorować nieistniejące pliki, nigdy nie pytaj-r
= rekursywne usuwanie katalogów i ich zawartości-v
= wyjaśnić, co się dziejeźródło
--no-preserve-root
też wpiszesz .Trzeba jednak uważać na takie rekurencyjne polecenie, ponieważ łatwo jest przypadkowo usunąć znacznie więcej, niż zamierzano.
Przed naciśnięciem Enter warto zawsze dokładnie sprawdzić, w którym katalogu się znajdujesz i czy poprawnie wpisałeś polecenie.
Bezpieczniejsza wersja
Dodanie
-i
sprawia, że jest to trochę bezpieczniejsze, ponieważ będzie monitowało o każdym usunięciu. Jednak jeśli usuwasz wiele plików, nie będzie to bardzo praktyczne. Mimo to możesz najpierw spróbować.Uwaga na temat
-f
opcji:Wiele osób sugeruje używanie
-f
(łączenie go w-Rf
lub-rf
), twierdząc, że pozbywa się irytujących podpowiedzi. Jednak w normalnych przypadkach nie trzeba go i używając go tłumi pewne problemy, które prawdopodobnie nie chcesz wiedzieć. Kiedy go użyjesz, nie zostaniesz ostrzeżony, jeśli twoje argumenty dostarczą nieistniejący katalog lub pliki: rm po prostu po cichu nie usunie niczego. Zasadniczo spróbuj najpierw bez-f
: jeśli masz problemy z argumentami, zauważysz. Jeśli zaczniesz otrzymywać zbyt wiele monitów o pliki bez dostępu do zapisu, możesz spróbować-f
. Możesz też uruchomić polecenie użytkownika (lub administratora korzystającego z sudo), który ma pełne uprawnienia do usuwanych plików i katalogów, aby w pierwszej kolejności zapobiec wyświetlaniu tych monitów.źródło
-r
można również użyć małych liter i ma ten sam efekt tutaj. Zwykle używam tylko wielkich liter,-R
ponieważ są one zgodne z innymi używanymi przeze mnie poleceniami, takimi jakgrep
ichmod
, z których niektóre obsługują tylko wielkie litery.rm -ir FOLDER
.Istnieje wiele sposobów na usunięcie katalogu w trybie CLI. To zależy od tego, w jaki sposób czujesz się komfortowo.
-r
= rekurencyjnie usuń katalogi i ich zawartość-v
= wyjaśnij, co się dzieje-f
= zignoruj nieistniejące pliki, nigdy nie pytajJeśli jesteś nowy w Linuksie, użyj stron man poleceń (
man rm
), aby uzyskać więcej opcji i większą dokładność.źródło
Miałem dzisiaj z tym problem, ale przezwyciężyłem to dzięki sudo.
Ostrzeżenie: upewnij się, że chcesz usunąć całą rzecz przed użyciem poniższego polecenia.
Udało mi się to dzisiaj i usunąłem wiele niepustych katalogów, które potwierdziłem, że nie chcę / potrzebuję.
Używam 14.04 LTS
źródło
Nawiasem mówiąc, osobiście chciałem usunąć katalog zawierający plik / pliki chronione przed zapisem (.git i podkatalogi) i ostatecznie zdałem sobie sprawę, że muszę również zostać superużytkownikiem, aby pomyślnie usunąć te pliki. Oto co zrobiłem:
źródło
sudo su
tutaj. Po prostu prefiksrm
poleceniasudo
. Ze względów bezpieczeństwa dobrą praktyką (według zwolenników sudo) jest nie pozostawanie w wierszu polecenia root, gdy nie jest to konieczne.sudo rm -r
./directory_name
), aby nie było wątpliwości co do tego, który katalog usuwasz.