În bash tot ce știu este că
rmdir directoryname
va elimina directorul, dar numai dacă este gol. Există o modalitate de a forța eliminarea subdirectoarelor?
Răspunde
Următoarea comandă o va face pentru tine Cu toate acestea, aveți grijă.
rm -rf directoryname
Comentarii
Răspuns
if rm -rf directoryname
nu vă reușește, încercați să utilizați rm -R -f directoryname
sau rm --recursive -f directoryname
.
Dacă nu aveți noroc cu acestea, ar trebui să luați în considerare reinstalarea rm sau comutarea shell-urilor.
Comentarii
- Acestea au fost opțiunile disponibile pe rm-ul meu pagina man, am căutat-o tastând
man rm
pentru a vizualiza opțiunile mele privind ștergerea recursivă și opțiunile de forță . - div id = „ef140c56fb”>
listă pagini man -r
? Ce face? (Încercați-l într-un director pe care l-ați creat doar în scopuri de testare, cu fișiere fictive (și poate subdirectoare) în el.) Ce sistem de operare utilizați?
rm -r
nu funcționează ' t, aceasta ar fi o problemă a sistemului de operare, nu a unei probleme de shell. (Strict vorbind, ar fi o problemă cu versiunea rm
pe care o ' o utilizați, astfel încât să o puteți aborda instalând un versiune diferită a rm
sau căutarea în sistemul dvs. pentru a vedea dacă aveți deja o versiune diferită a rm
într-un alt director decât /bin
.) man rm
în terminalul meu, mi-a dat un fișier text cu less
vizualizator de text. Am defilat am găsit o intrare indentată cu un întreg care avea opțiunile -R și –recursive combinate cu opțiunea -r , ceea ce înseamnă că toate aceste argumente sunt identice. sudo rm -r directoryName
? Regulile nescrise ale comenzilor de bază sunt că -r
va permite unui program să ruleze recursiv pe fiecare fișier din sistemul dvs. de fișiere (începând de unde vreți să alegeți!) Și că -f va face lucruri cu forță, chiar dacă ' este periculos . ' cd ', ' mv ', ' ls ' majoritatea susține acest principiu. ls -r /
va fi o duzie și cp -rf / /dev/null
va distruge tot ceea ce este pe sistemul de fișiere. < –Nu executați niciodată comanda!
rm -r directoryname
.rm: invalid option -- r
încercând să ștergeți un director cu rm -r < nume director >.rm -rf directoryname
coz pe care nu l-ați ' nu vreau ca scriptul dvs. să întrerupă executarea, deoarece ' așteaptă introducerea utilizatorului. Desigur, trebuie să fiți sigur că ștergerea directorului nu ar face rău.