Cum elimin un director și tot conținutul acestuia?

Î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

  • " -f " este " –force " care anulează unele verificări de sănătate și solicitarea. O comandă mai sigură pentru a începe ar fi rm -r directoryname.
  • Din anumite motive, apar o eroare rm: invalid option -- r încercând să ștergeți un director cu rm -r < nume director >.
  • @Sunspawn Verificați această întrebare conexă pentru a vedea dacă ' este cazul.
  • @JimParis Cred că cuvântul " mai sigur " este relativ. Să presupunem că scrieți un script pentru a rula pe un computer la distanță. Acest script are o comandă care ar trebui să elimine un director. Aici, ar fi " mai sigur " să folosiți 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.

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?

  • P.S. Dacă 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.)
  • Ah, corect. Am uitat să menționez că ' m pe Ubuntu 14.04 Când am rulat 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.
  • edit: ați încercat 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!
  • Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *