Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
| | Komento [[rm]] tuhoaa valitun tiedoston. Poistaaksesi tiedoston sinulla täytyy olla kirjoitusoikeudet tiedostoon sekä hakemistoon jossa tiedosto sijaitsee. |
| [[Komentorivi]]komento '''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 <tt>rm</tt> ei kysy varmistusta kuin kahdessa tapauksessa: jos tiedostoon ei ole kirjoitusoikeuksia tai jos valitsin <tt>-i</tt> on käytössä (explisiitisti tai [[alias|aliaksen]] kautta). Valitsimella <tt>-f</tt> 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 [[Kova linkki|kovan linkin]] poistamisen myötä tiedosto häviää (<tt>[[ls]] -l</tt> 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ö== | | ==Käyttö== |
| 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
| |
| {{Haitallinen esimerkki|komento|Poistaa kaikki tiedostot laitteelta.}}
| |
| $ 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>.
| |
| ===Ongelmatiedostot===
| |
| Jos poistettavassa tiedostonimessä on erikoismerkkejä (Unixeissa kaikki merkit paitsi <tt>\0</tt> 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 (<tt>[[mount]] -o remount,rw osio</tt>) ja ettei tiedotoa ole suojattu erikoismääreillä (<tt>[[lsattr]] tiedosto</tt>). Erilaiset "haamutiedostot" on monessa tapauksessa mahdollista saada häviämään tarkistamalla ja korjaamalla tiedostojärjestelmä [[fsck]]:n avulla.
| |
|
| |
|
| ==Valitsimia==
| | * Poistaa tiedoston |
| *'''-f''' - ei kysellä koskaan mitään
| | rm poistettava_tiedosto |
| *'''-i''' - kysytään ennen jokaisen tiedoston poistamista | | * Poistaa hakemiston ja sisällön rekursiivisesti kyselemättä ('''VARO!''') |
| *'''-I''' - kysyy vain kerran, jos poistettavia tiedostoja on yli kolme tai jos käytetään rekursiivista poistoa (<tt>-r</tt>-[[valitsin]])
| | rm -rf poistettava_hakemisto |
| *'''--interactive=''' - säätelee varmistuksen kyselyä, <tt>never</tt>-arvolla ei kysellä lainkaan, <tt>once</tt> on sama kuin valitsin <tt>-I</tt> ja <tt>always</tt> sama kuin valitsin <tt>-i</tt> | |
| *'''--one-file-system''' - ei poista kuin yhteen tiedostojärjestelmään kuuluvia tiedostoja
| |
| *'''--preserve-root''' - ei sovella rekursiivista poistoa [[juuriosio|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: | | Lisätietoja saat komennolla: |
| [[info]] rm | | [[man]] rm |
|
| |
|
| ==Katso myös== | | ==Katso myös== |
| *[[PhotoRec]] (tiedostojen palautus)
| | *[[ls]] |
| *[[ls]] (tiedostolistaus) | | *[[rmdir]] |
| *[[ln]] (linkitys)
| | *[[mkdir]] |
| *[[mv]] (tiedostojen siirtäminen)
| |
| *[[rmdir]] (hakemiston poistaminen) | |
| *[[mkdir]] (hakemiston luominen) | |
|
| |
|
| [[Luokka:Coreutils]][[Luokka:Komentorivin perustyökalut]]
| |
|
| |
|
| [[pl:Rm]] | | [[Luokka:Coreutils]] |