Comanda rm
(prescurtarea de la remove) șterge un fișier sau un director.
Sintaxa acestei comenzi este simplă:
rm [opțiuni] fișier
Comanda rm
acceptă multe opțiuni din cele descrise la comanda cp
sau la comanda mv
. Din cele descrise acolo, nu se aplică comenzii rm: --preserve (-p), --archive (-a) și --update (-u).
Descrierea pe scurt a celor mai folosite opțiuni:
- -f - șterge fișierele imediat fără confirmare; dacă apar atât -f cât și -i, ultima care este folosită în terminal este luată în considerare de rm;
- -i - solicită confirmarea utilizatorului înainte de a șterge orice fișier;
- -q - suprimă toate mesajele de avertizare, dar afișează mesajele de eroare;
- -R - semnifică ștergerea recursivă și este folosit pentru a șterge un director împreună cu tot conținutul său (toate fișierele și subdirectoarele pe care le conține);
- -r - identic cu -R;
- -v - afișează numele fișierului la ieșire pe măsură ce acesta este procesat (șters);
- -I - solicită permisiunea utilizatorului de fiecare dată când sunt șterse mai mult de 3 fișiere sau la ștergerea recursivă.
Prestabilit, Linux nu oferă un coș de gunoi pentru comanda rm
executată în linia de comandă. Dacă un fișier a fost șters folosind comanda rm
, atunci acesta e pierdut și nu poate fi recuperat decât dacă avem un backup sau folosind instrumente de întreținere low-level disk (cum ar fi debugfs
).
De fiecare dată folosirea comenzii rm
trebuie făcută cu deosebită atenție, mai ales atunci când o folosim ca superutilizator (root). Atenție la folosirea opțiunii -R, căci poate distruge chiar instalarea Linux!
Comanda sudo rm -rf /
explicată
Toți cei care au intrat în contact cu Linuxul au văzut, mai devreme sau mai târziu, avertismentul: NU folosi comanda sudo rm -rf /
! Știind acum opțiunile comenzii rm
, să vedem ce înseamnă această comandă:
- sudo - permite utilizarea acestei comenzi cu drept de administrator (sau superutilizator ori root) - adică mama și tatăl sistemului :);
- rm - comanda de ștergere;
- -rf - spune comenzii
rm
să șteargă recursiv (unul după altul din structura arborescentă a directorului indicat) și fără confirmare (imediat); - / - ei bine, acest slash înseamnă că îi spunem comenzii
rm
să șteargă conținutul directorului principal root, adică toate fișierele sistemului de operare - inclusiv conținutul discurilor sau partițiilor Windows montate.
Altfel spus, această comandă șterge fără avertizare, imediat, tot sistemul de operare!
O altă variantă a acestei comenzi este sudo rm -rf /*
- wildcard-ul * spune comenzii rm
să șteargă orice fișier din directorul indicat, indiferent de numele său.
Şerban Stănescu a zis
Excelent prezentată "rm"!
Da, este coşmarul responsabilităţii unui instructor de calculatoare...
Din nefericire, această combinaţie are un singur leac verificat de mine: "testdisk". O jucărie în linie de comandă, oarecum similară cu un program din Windows, "restore", care cred că tot din lumea Linux a ajuns pe-acolo şi pe care îl foloseam într-o vreme, că era gratuit şi făcea treabă. Am uitat de mult detaliile, pentru că între timp, am preferat kiturile SysRescue care vin din lumea FOSS şi pot fi folosite pe post de Live System, având şi un "atelier de service" întreg sub ele.
O chestie pe care am dat-o din nou jos relativ recent, este SysRescueCD. Merge însă şi de pe USB (cred că trebuie dat isohibryd, am uitat). Sunt oarecum mai familiarizat cu uneltele FOSS decât cu cele care rulează de sub un Windows oarecare, pentru simplul motiv că acum suportul pentru FAT/NTFS este mult mai departe decât acum să zicem 10 ani.
Cu toate că folosesc şi acum multe chestii în linie de comandă (sunt unele care doar aşa pot fi folosite), evit să lucrez de sub un OS sau exclusiv din linia de comandă. E imposibil să faci orice de sub un OS care rulează.
Cât priveşte lucrul în linie de comandă ca Root... E nerecomandabil, exceptând situaţiile critice.
Cum sarcinile administrative mai toate se fac ca Root.... Wow! E complicat să spui ce poate merge rău!
Bobses a zis
Părerea mea e că trebuie știut și modul de lucru în terminal. Bineînțeles, trebuie atenție mărită: dacă, din greșeală sau din grabă, ai pus un 8 în loc de 9 și nu ai reverificat ce ai scris, te poți trezi cu partiția sda9 ștearsă, în loc de sda8. 🙂 Toți am trecut prin asta; dar până nu te lovești cu capul de pragul de sus nu ai cum să înveți. 😉