Onko rm -rf *.*
vioittunut tiedostojärjestelmäsi, kun taas rm -rf /
ei tämä?
Kommentit
- Unix ja Linux Stack Exchange ovat olleet hyödyllisiä yli 6 vuoden ajan ja SuperUser samalla: unix.stackexchange.com/questions/19547 superuser.com/questions/312769 unix.stackexchange.com/questions/302468
Vastaa
Siellä ”Sillä ei ole mitään erityistä, rm -rf *.*
on komento, jolla on tiedostonimen jokerimerkki, se poistaa rekursiivisesti kaikki nykyisen hakemiston tiedostot, joissa on piste nimissään.
rm -rf /
aiheuttaisi virheen yritettäessä suorittaa rm
juurihakemistossa. Tämä on valtuuttanut POSIX :
Jos […] operandi-reso Lves juurihakemistoon, rm kirjoittaa diagnostiikkaviestin vakiovirheeseen eikä tee mitään muuta tällaisten operandien kanssa.
Riippuen komentotulkissa ja sen asetuksissa *.*
saattaa myös olla sama kuin ..
päähakemistossa, mutta myös /
, yrittää poistaa myös virhe.
Kumpikaan näistä ei vahingoita tiedostojärjestelmää, rm
vain (yrittää) poistaa tiedostoja tavallisilla tiedostojärjestelmäpuheluilla. Vaikutus järjestelmään yleensä tai käyttäjän tiedostoihin voi tietysti olla merkittävä, jos ensimmäinen komento suoritetaan hakemistossa, joka sisältää tärkeitä tiedostoja.
Kommentit
- GNU: n riittävän uusille versioille
rm
(ominaisuus varastettiin alun perin Solaris IIRC: ltä). Älä huutaa, jos upotettu kevytrm
ei ole yhteensopiva uusimman POSIX-version kanssa.