Ero sivun ”Rm” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
.
LP (keskustelu | muokkaukset) (tiedoston poisto ei vaadi oikeuksia tiedostoon; \rm tai /bin/rm rm -f sijaan) |
p (.) |
||
(21 välissä olevaa versiota 9 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{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. | 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 | 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 | |||
rm -r poistettava_hakemisto | |||
Poista kaikki tiedostot laitteella | |||
{{Haitallinen esimerkki|komento|Poistaa kaikki tiedostot laitteelta.}} | |||
$ sudo rm -rf / | |||
Lisätietoja | {{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== | |||
*'''-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== | ||
*[[PhotoRec]] (tiedostojen palautus) | |||
*[[ls]] (tiedostolistaus) | *[[ls]] (tiedostolistaus) | ||
*[[ln]] (linkitys) | *[[ln]] (linkitys) | ||
*[[mv]] (tiedostojen siirtäminen) | |||
*[[rmdir]] (hakemiston poistaminen) | *[[rmdir]] (hakemiston poistaminen) | ||
*[[mkdir]] (hakemiston luominen) | *[[mkdir]] (hakemiston luominen) | ||
[[Luokka:Coreutils]][[Luokka:Komentorivin perustyökalut]] | [[Luokka:Coreutils]][[Luokka:Komentorivin perustyökalut]] | ||
[[pl:Rm]] |