Ștergerea unui fișier din orice sistem de operare este, de obicei, la fel de ușoară ca să faceți clic pe acesta și să apăsați tasta de ștergere sau să faceți clic dreapta și să îl trimiteți la coșul de gunoi. Știm cu toții cum să facem acest lucru și este cea mai bună opțiune pentru a șterge un fișier din fața noastră. Dar, ce se întâmplă atunci când ceea ce dorim este, de exemplu, să ștergem mai multe fișiere care se află în același folder? Se întâmplă ca în Linux să avem rm comanda care ne va permite să eliminăm practic orice de pe terminal.
"Rm" este prescurtarea de la „remove”, care este „a elimina” în engleză. Se folosește pentru ștergerea fișierelor și dacă este utilizată recursiv, ne va permite și ștergerea directoarelor. În mod implicit, nu va elimina directoarele și va elimina orice fișiere specificate pe linia de comandă. Procesul de eliminare deconectează un nume de fișier dintr-un sistem de fișiere de datele asociate și marchează spațiul de stocare ca fiind utilizabil pentru scrieri viitoare. Trebuie să fii atent, deoarece odată ce ștergi ceva cu rm nu mai poate fi recuperat.
Opțiuni disponibile pentru rm
-f, -Force |
Ignorați fișierele inexistente și nu întrebați niciodată înainte de ștergere. |
-i | Întrebați înainte de ștergere. |
-I | Întrebați o dată înainte de a șterge mai mult de trei fișiere sau când ștergeți recursiv. |
-Interactiv[=CÂND] | Întrebare conform CÂND: niciodată, o dată (-I), sau întotdeauna (-i). da CÂND nespecificat, întrebați întotdeauna. |
–Un sistem de fișiere | La ștergerea recursivă a unei ierarhii, aceasta ignoră orice director care se află într-un director diferit de cel corespunzător argumentului liniei de comandă. |
–No-conservare-rădăcină | Nu tratează directorul rădăcină într-un mod special. |
–Preserve-root | Nu elimină directorul rădăcină, care este comportamentul implicit. |
-r, -R, –Recursiv |
Eliminați recursiv directoare și conținutul acestora. |
-d, –Dr |
Ștergeți directoarele goale. Această opțiune ne permite să eliminăm un director fără a specifica -r / -R / –recursiv. |
-v, –Verbose |
Mod verbos; Explicați în permanență ce se face. |
-Ajutor | Afișați un mesaj de ajutor. |
-versiune | Afișează informații despre versiune. |
Exemple practice
rm nu șterge directoare în mod implicit. Pentru aceasta trebuie să folosim opțiunile -r / -R / –recursive. Dacă un director este gol, utilizați opțiunea n -d / –dir. Dacă dorim să eliminăm un fișier care începe cu o liniuță (-), trebuie să adăugăm o liniuță dublă separată (-) înainte de numele fișierului. Dacă a doua liniuță nu este adăugată, rm poate interpreta greșit numele fișierului ca opțiune. Merită să ne amintim că asteriscul (*) înseamnă „tot ce se potrivește”, adăugând „*”. iar în spatele numai asteriscului.
De exemplu, pentru a șterge fișierul «-test.txt» ar trebui să folosim comanda
rm -- -prueba.txt
Cele de mai sus vor fi în cazul în care se află în dosarul nostru personal. Dacă nu, va trebui să adăugăm calea completă, care ar fi ceva de genul:
rm /home/pablinux/Documentos/-file
Diferența dintre cele două opțiuni este că în al doilea caz are o bară (/) în față, ceea ce face ca opțiunea să nu fie confundată.
Alte exemple ar fi:
- rm -f test-txt: va șterge fișierul „test.txt” fără a întreba chiar dacă este protejat.
- rm *: va șterge toate fișierele din directorul în care ne aflăm de la terminal. Dacă are protecție la scriere, ne va întreba înainte de ao șterge.
- rm -f *: va șterge totul din director fără să întrebe.
- rm -i *- Va încerca să ștergeți toate fișierele dintr-un director, dar solicitați de fiecare dată să ștergeți unul.
- rm-I *: ca mai sus, dar va cere confirmarea numai dacă există mai mult de trei fișiere.
- directorul rm -r, unde „director” este unul specific: va elimina directorul „director” și orice fișiere și subdirectoare pe care le conține. Dacă fișierele sau subdirectoarele sunt protejate la scriere, acesta va întreba.
- directorul rm -rf: la fel ca mai sus, dar nu va cere.
Comanda pe care nu ar trebui să o folosiți niciodată: rm -rf /
Și încheiem cu o comandă pe care o putem vedea pe rețelele sociale mai mult ca o glumă decât orice altceva. Comanda de mai sus înseamnă 1- șterge, 2- recursiv cât mai mult posibil și 3- începând cu rădăcina. Datorită modului în care Linux gestionează unitățile, va șterge și conținutul oricărui hard disk pe care l-am conectat la computer. Dacă îl utilizați, nu spuneți că nu am avertizat.
Interesant cu clarificarea cu privire la ultima comandă, știam că aș putea șterge tot conținutul discului unde este sistemul, dar nu știam că șterge și conținutul oricărui alt disc pe care l-am conectat!
Mulțumesc foarte mult, postarea ta a fost foarte utilă, mi-am rezolvat problema foarte ușor, dar fără ea nu aș fi reușit.