Ero sivun ”Rm” versioiden välillä
Ei muokkausyhteenvetoa |
p (.) |
||
(8 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä) | |||
Rivi 14: | Rivi 14: | ||
Poista kaikki tiedostot laitteella | Poista kaikki tiedostot laitteella | ||
{{Haitallinen esimerkki | {{Haitallinen esimerkki|komento|Poistaa kaikki tiedostot laitteelta.}} | ||
| | |||
}} | |||
$ sudo rm -rf / | $ sudo rm -rf / | ||
{{Vinkki|Hyvä tapa opetella turvallisuuden lisäämiseksi, ettet vahingossa vain poista väärää sijaintia, on sijoittaa <code>-rf</code> valitsin vasta sijainnin jälkeen: rm <hakemisto> -rf }} | |||
$ sudo rm / -rf | |||
Jos <tt>rm</tt> kyselee varmistusta, on se [[alias]]. Oikean rm-komennon saa käyttöön joko antamalla polun <tt>/bin/rm</tt> tai käyttämällä muotoa <tt>\rm</tt>. | Jos <tt>rm</tt> kyselee varmistusta, on se [[alias]]. Oikean rm-komennon saa käyttöön joko antamalla polun <tt>/bin/rm</tt> tai käyttämällä muotoa <tt>\rm</tt>. | ||
===Ongelmatiedostot=== | ===Ongelmatiedostot=== | ||
Jos poistettavassa tiedostonimessä on erikoismerkkejä (Unixeissa kaikki merkit paitsi <tt>\0</tt> ja kauttaviiva ovat sallittuja), tiedoston voi poistaa esimerkiksi näin: | Jos poistettavassa tiedostonimessä on erikoismerkkejä (Unixeissa kaikki merkit paitsi <tt>\0</tt> ja kauttaviiva ovat sallittuja), tiedoston voi poistaa esimerkiksi näin: | ||
Rivi 60: | Rivi 61: | ||
==Katso myös== | ==Katso myös== | ||
*[[PhotoRec]] (tiedostojen palautus) | |||
*[[ls]] (tiedostolistaus) | *[[ls]] (tiedostolistaus) | ||
*[[ln]] (linkitys) | *[[ln]] (linkitys) |
Nykyinen versio 10. joulukuuta 2020 kello 21.50
Komentorivikomento rm poistaa valitun tiedoston. Poistaaksesi tiedoston sinulla täytyy olla kirjoitusoikeudet hakemistoon jossa tiedosto sijaitsee – itse tiedostoon ei tarvita oikeuksia (muuta kuin jos hakemistossa on t-bitti aktiivisena ja tiedosto on toisen omistuksessa).
Normaalisti rm ei kysy varmistusta kuin kahdessa tapauksessa: jos tiedostoon ei ole kirjoitusoikeuksia tai jos valitsin -i on käytössä (explisiitisti tai aliaksen kautta). Valitsimella -f varmistusta ei kysytä näissäkään tapauksissa.
Itse asiassa komento ei ensisijaisesti poista tiedostoa kiintolevyltä, vaan sen nimen hakemistosta. Tiedosto saattaa esiintyä useammassa hakemistossa tai eri nimillä ja vasta viimeisen kovan linkin poistamisen myötä tiedosto häviää (ls -l näyttää linkkien määrän). Jos tiedosto on jonkin ohjelman käytössä, ohjelma voi jatkaa sen käyttöä riippumatta siitä onko tiedosto poistettu hakemistoista.
Käyttö[muokkaa]
Poista tiedosto
$ rm poistettava_tiedosto
Poista hakemisto ja sisältö rekursiivisesti (varmista, ettei komennossa ole ylimääräisiä välilyöntejä tai hakemistonimessä erikoismerkkejä)
$ rm -r poistettava_hakemisto
Poista kaikki tiedostot laitteella
$ sudo rm -rf /
$ sudo rm / -rf
Jos rm kyselee varmistusta, on se alias. Oikean rm-komennon saa käyttöön joko antamalla polun /bin/rm tai käyttämällä muotoa \rm.
Ongelmatiedostot[muokkaa]
Jos poistettavassa tiedostonimessä on erikoismerkkejä (Unixeissa kaikki merkit paitsi \0 ja kauttaviiva ovat sallittuja), tiedoston voi poistaa esimerkiksi näin:
- Lainausmerkit toimivat hyvin, jos tiedostonimessä on esimerkiksi välilyöntejä. Niitä kannattaa käyttää aina, kun tiedostonimiä käsittelee skripteissä.
- "Hipsut" estävät useimpien erikoismerkkien toiminnan.
- Kenoviiva muuttaa sitä seuraavan erikoismerkin tavalliseksi merkiksi.
- Polun määrittäminen siirtää ongelmallisen alkumerkin ongelmattomaan kohtaan.
- Tähdellä voi määritellä nimiä, joita ei voi helposti kirjoittaa, ja valitsimella -i niistä voi poimia poistettavat. Muoto \rm tai /bin/rm varmistaa ettei aliaksen kautta käytetä valitsinta -f.
$ ls a b a"b a*b -ab a?b
$ rm "a b" $ rm 'a"b' $ rm a\*b $ rm ./-ab $ \rm -i a*b
Poista hakemiston kaikki piilotiedostot (poistamatta mitään ylähakemistosta):
$ rm ./.[^.]* $ ls ... ..abc a b c $ rm ./..?*
Rikkinäisellä medialla ja joissakin toisissa yhteyksissä voi esiintyä tiedostoja, joita pääkäyttäjäkään ei voi poistaa. Varmista, että osio ei ole kirjoitussuojattu (mount -o remount,rw osio) ja ettei tiedotoa ole suojattu erikoismääreillä (lsattr tiedosto). Erilaiset "haamutiedostot" on monessa tapauksessa mahdollista saada häviämään tarkistamalla ja korjaamalla tiedostojärjestelmä fsck:n avulla.
Valitsimia[muokkaa]
- -f - ei kysellä koskaan mitään
- -i - kysytään ennen jokaisen tiedoston poistamista
- -I - kysyy vain kerran, jos poistettavia tiedostoja on yli kolme tai jos käytetään rekursiivista poistoa (-r-valitsin)
- --interactive= - säätelee varmistuksen kyselyä, never-arvolla ei kysellä lainkaan, once on sama kuin valitsin -I ja always sama kuin valitsin -i
- --one-file-system - ei poista kuin yhteen tiedostojärjestelmään kuuluvia tiedostoja
- --preserve-root - ei sovella rekursiivista poistoa juurihakemistoon (oletus)
- --no-preserve-root - mahdollistaa juurihakemiston rekursiivisen poiston (käytä jos haluat tuhota järjestelmäsi)
- -r, -R - rekursiivinen poisto (poistaa myös hakemistot)
- -v - tulostaa jokaisen tiedoston nimen ennen sen poistoa (verbose)
Lisätietoja saa komennolla:
info rm