Ką iš tikrųjų daro „rm -rf“ komanda „Linux“?


Komanda rm yra UNIX ir Linux komandų eilutės įrankis, skirtas pašalinti failus ar katalogus „Linux“ sistemoje. Šiame straipsnyje mes aiškiai paaiškinsime, ką iš tikrųjų „rm -rf“ komanda gali padaryti „Linux“.

Be to, pasidalinsime keliais naudingais failo pašalinimo, katalogo pašalinimo, kelių failų ar katalogų pašalinimo, raginimo patvirtinti, failų rekursyviais pašalinimo ir priverstiniais failų šalinimo pavyzdžiais.

Komanda rm taip pat yra viena iš dažnai naudojamų komandų „Linux“ sistemoje, tačiau taip pat pavojinga komanda, kurią rasite vėliau šiame straipsnyje.

Kaip pašalinti failą iš „Linux“

Pagal numatytuosius nustatymus komanda rm nedelsiant pašalina tik failą ar failus, nurodytus komandinėje eilutėje, ir nepašalina katalogų.

$ mkdir -p tecmint_files
$ touch tecmint.txt
$ rm tecmint.txt
$ rm tecmint_files

Kaip pašalinti kelis failus iš „Linux“

Jei norite pašalinti kelis failus vienu metu, nurodykite failų pavadinimus po vieną (pavyzdžiui: failas1 failas2) arba naudokite šabloną, kad vienu metu pašalintumėte kelis failus (pavyzdžiui: raštas, pasibaigiantis .txt ).

$ rm tecmint.txt fossmint.txt  [Using Filenames]
$ rm *.txt                     [Using Pattern] 

Kaip pašalinti katalogą „Linux“

Norėdami pašalinti katalogą, galite naudoti jungiklį -r arba -R , kuris liepia rm ištrinti katalogą rekursyviai, įskaitant jo turinį (pakatalogius ir failus).

$ rm tecmint_files/
$ rm -R tecmint_files/

Kaip pašalinti failus su patvirtinimo raginimu

Norėdami paprašyti patvirtinimo ištrindami failą, naudokite parinktį -i , kaip parodyta.

$ rm -i tecmint.txt

Kaip pašalinti katalogus su patvirtinimo raginimu

Norėdami paprašyti patvirtinimo ištrindami katalogą ir jo pakatalogius, naudokite parinktis -R ir -i , kaip parodyta.

$ rm -Ri tecmint_files/ 

Kaip priverstinai pašalinti failą ar katalogą

Norėdami priverstinai pašalinti failą ar katalogą, galite naudoti parinktį -f priversti ištrinti, neprašydami patvirtinti rm. Pvz., Jei failas nerašomas, rm paragins pašalinti failą ar ne, kad to išvengtumėte, ir tiesiog atlikite operaciją.

$ rm -f tecmint.txt

Kai sujungiate vėliavas -r ir -f , tai reiškia, kad rekursyviai ir priverstinai pašalinkite katalogą (ir jo turinį), neprašydami patvirtinti.

$ rm -rf fossmint_files

Kaip parodyti informaciją ištrinant

Norėdami parodyti daugiau informacijos ištrindami failą ar katalogą, naudokite parinktį -v , tai leis komandai rm parodyti, kas daroma standartinėje išvestyje.

$ rm -rv fossmint_files

Sužinokite rm -Rf/Command

Visada turėtumėte nepamiršti, kad „rm -rf“ yra viena pavojingiausių komandų, kurios niekada negalite paleisti „Linux“ sistemoje, ypač kaip „root“. Ši komanda išvalys viską, esančią jūsų root (/) skaidinyje.

# rm -rf  /

Sukurkite pseudonimą „rm Command“ sistemoje „Linux“

Saugumo sumetimais galite priversti rm visada paraginti jus patvirtinti trynimo operaciją kiekvieną kartą, kai norite ištrinti failą ar katalogą, naudodami parinktį -i . Norėdami tai sukonfigūruoti visam laikui, pridėkite slapyvardį faile $HOME/.bashrc .

alias rm="rm -i"

Išsaugokite pakeitimus ir išeikite iš failo. Tada šaltinis iš .bashrc failo, kaip parodyta, arba atidarykite naują terminalą, kad pakeitimai įsigaliotų.

$ source $HOME/.bashrc 

Tai paprasčiausiai reiškia, kad kada nors vykdant rm, pagal numatytuosius nustatymus jis bus iškviestas naudojant parinktį -i (tačiau naudojant vėliavą -f šis parametras bus nepaisomas).

$ rm fossmint.txt
$ rm tecmint.txt

Ar rm ištrina failą?

Tiesą sakant, komanda rm niekada neištrina failo, o atsieta iš disko, tačiau duomenys vis tiek yra th diske ir juos galima atkurti naudojant tokius įrankius kaip Foremost.

Jei tikrai norite susmulkinti komandų eilutės įrankį, kad perrašytumėte failą, kad paslėptumėte jo turinį.

Viskas! Šiame straipsnyje mes paaiškinome keletą tikrai naudingų rm komandų pavyzdžių ir taip pat išsiaiškinome, ką komanda „rm -rf“ gali padaryti „Linux“. Jei turite klausimų ar papildymų, kuriais norėtumėte pasidalinti, naudokitės žemiau esančia komentaro forma, kad pasiektumėte mus.