Ero sivun ”Rm” versioiden välillä

Siirry navigaatioon Siirry hakuun
4 035 merkkiä lisätty ,  10. joulukuuta 2020
p
.
p (Botti vaihtoi luokan Luokka:Coreutils)
p (.)
 
(23 välissä olevaa versiota 10 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Komento [[rm]] tuhoaa valitun tiedoston. Poistaaksesi tiedoston sinulla täytyy olla kirjoitusoikeudet tiedostoon sekä hakemistoon jossa tiedosto sijaitsee.
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
[[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


* Poistaa tiedoston
$ rm "a b"
  rm poistettava_tiedosto
  $ rm 'a"b'
* Poistaa hakemiston ja sisällön rekursiivisesti kyselemättä ('''VARO!''')
$ rm a\*b
  rm -rf poistettava_hakemisto
$ rm ./-ab
  $ \rm -i a*b


Lisätietoja saat komennolla:
Poista hakemiston kaikki piilotiedostot (poistamatta mitään ylähakemistosta):
  [[man]] rm
$ 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==
*'''-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 (<tt>-r</tt>-[[valitsin]])
*'''--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:
  [[info]] rm


==Katso myös==
==Katso myös==
*[[ls]]
*[[PhotoRec]] (tiedostojen palautus)
*[[rmdir]]
*[[ls]] (tiedostolistaus)
*[[mkdir]]
*[[ln]] (linkitys)
*[[mv]] (tiedostojen siirtäminen)
*[[rmdir]] (hakemiston poistaminen)
*[[mkdir]] (hakemiston luominen)


[[Luokka:Coreutils]][[Luokka:Komentorivin perustyökalut]]
[[Luokka:Coreutils]][[Luokka:Komentorivin perustyökalut]]
[[pl:Rm]]
10 147

muokkausta

Navigointivalikko