V bash vím jen to, že
rmdir directoryname
odstraní adresář, ale pouze pokud je prázdný. Existuje způsob, jak vynutit odstranění podadresářů?
Odpovědět
Následující příkaz to udělá za vás . Buďte však opatrní.
rm -rf directoryname
Komentáře
Odpovědět
if rm -rf directoryname
selže, zkuste použít rm -R -f directoryname
nebo rm --recursive -f directoryname
.
Pokud s nimi nemáte štěstí, měli byste zvážit přeinstalaci rm nebo přepínání skořápek.
Komentáře
- Toto byly možnosti dostupné na mém rm manuálová stránka, vyhledal jsem to zadáním
man rm
pro zobrazení mých možností rekurzivního mazání a možností force . - Má vaše
rm
seznam manuálových stránek-r
? Co to dělá? (Vyzkoušejte to v adresáři, který vytvoříte pouze pro účely testování, pouze s fiktivními soubory (a možná podadresáři).) Jaký operační systém používáte? - P.S. Pokud
rm -r
nefunguje ', jedná se o problém OS, nikoli o shell. (Přísně vzato by to byl problém s verzírm
, kterou ' znovu používáte, takže ji můžete vyřešit instalací jinou verzirm
nebo prohledáním systému zjistíte, zda již máte jinou verzirm
v jiném adresáři než/bin
.) - Ah, správně. Zapomněl jsem zmínit I ' m na Ubuntu 14.04 Když jsem v terminálu běžel
man rm
, dal mi textový soubor sless
prohlížeč textů. Posunul jsem se, abych našel odsazený záznam s celkem, který měl možnosti -R a –recursive cozied s možností -r , což znamená, že všechny tyto argumenty jsou totožné. - edit: zkusili jste
sudo rm -r directoryName
? Nepsaná pravidla základních příkazů spočívají v tom, že-r
umožní programu rekurzivní běh na každém souboru ve vašem souborovém systému (počínaje kdekoli si vyberete!) A to -f bude dělat věci násilně, i když je to ' s nebezpečné . ' cd ', ' mv ', ' ls ' většinou platí tento princip.ls -r /
bude duzie acp -rf / /dev/null
zničí vše ve vašem souborovém systému. < – Tento příkaz nikdy nespouštějte!
rm -r directoryname
.rm: invalid option -- r
chyba pokus o odstranění adresáře pomocí rm -r < název adresáře >.rm -rf directoryname
coz, než byste ' Nechcete, aby váš skript pozastavil provádění, protože ' čeká na vstup uživatele. Samozřejmě si musíte být jisti, že smazání adresáře by neuškodilo.