Rm

From EIK wiki

Autor

Priit Saar A21 6. detsember 2016

Sissejuhatus

Käsu rm ehk remove abil on UNIXi laadsetes operatsioonisüsteemides võimalik eemaldada faile, kaustu ja sümboolseid linke. Rm ei hävita faili vaid eemaldab kõik viited mis selle faili suunas olemas olid, mis muudab faili operatsioonisüsteemi jaoks nähtamatuks ning antud faili poolt hõivatud kettaruum muutub "vabaks". Seega ei kustu fail reaalselt enne kui andmekandjal samade sektorite peale mingi muu info kirjutatakse. Hävitamaks faili täielikult tuleb kasutada shred käsku .

Süntaks

      rm [valik] [fail]

Levinumad valikud

      -f, --force - eemaldab olenemata võimalikust veateatest ja ei küsi kinnitust. Kui faili pole olemas ignoreerib ning täidab käsu siiski.
      -i - küsib enne igat eemaldamist kas olete kindel, et soovite eemaldada.
      -I - eemaldades rekursiivselt või rohkem kui kolme faili, küsib ühe korra kinnitust.
      -r, -R, --recursive - eemaldab faile ja katalooge rekursiivselt.
      -d, --dir - eemaldab tühju katalooge.

Näited

Kustutame faili kartulid

rm kartulid

Kustutame failid jänes.tar, kollane ja tekst.txt

rm jänes.tar kollane tekst.txt

Kustutame kataloogist kõik failid, kui mõni fail on kaitstud siis küsib kinnitust(peab asuma kataloogis millest kustutada soovitakse). Lisades -f valiku ei küsi kinnitust kunagi.

rm *

Kustutame tühja kataloogi karud. Kui kataloogis sisaldub mõni fail ei kustu kataloog.

rm -d karud

Kustutame kataloogi ning selles olevad failid ja kataloogid rekursiivselt

rm -r karud

Veel valikuid

      --interactive[=WHEN] - küsib kinnitust vastavalt WHEN sisule. 
             Kui WHEN asemele kirjutada never ei küsi kinnitust kordagi, once küsib korra kinnitust ja always küsib iga faili kohta kinnitust.
             Kui ei kirjuta WHEN muutuja kohale midagi siis küsib alati.
      --one-file-system - eemaldades hierarhiat rekursiivselt, jätab vahele kõik kataloogid,
             mis on erineva failisüsteemiga sellest mis vastab antud käsule
      --no-preserve-root - rekursiivselt eemaldades käitub /(root) kataloogiga nagu iga teise kataloogiga. 
             Ei ole soovitatav kasutada kui just pole vaja eemaldada arvutist igat faili.
      --preserve-root - rekursiivselt eemaldades ebaõnnestub tegevus iga kord kui üritatakse eemaldada /(root) kataloogi. See on tavategevus.
      -v, --verbose - annab infot selle kohta mida antud käsk tegi.
      --help - näitab abiteksti.
      --version - näitab versiooni informatsiooni.
      --, ./[FAIL] - fail mille nimi algab "-" märgiga saab eemaldada kasutades ühte nendest valikutest.


Veel näiteid

Kustutame faili mis algab sidekriipsuga.

rm -- -kapsas

On võimalik kustutada faile tekstifailis oleva nimekirja alusel andes faili ette rm käsule xargs käsu abil.

xargs rm < failinimekiri.txt

Et näha kustutatud failide nimekirja saab kasutada -rv valikut.

rm -rv kataloog

Kustutamaks kõik failid mille failitüübiks on .txt saab kasutada antud käsku(-f valiku lisades ei küsita kinnitust kunagi).

rm -f *.txt

Saab ka kustutada mitu sarnase nimega faili kui need on numbriliselt järjestatud.

rm -f logifail{1..10}.txt
rm -f logifail{1,4,6,22}.txt

Käsk mis eemaldab kõik failid arvutist. Seda ei tasu proovida mujal kui virtuaalmasinas.

rm -rf --no-preserve-root /

Viited

http://man7.org/linux/man-pages/man1/rm.1.html

http://www.computerhope.com/unix/urm.htm

https://www.cyberciti.biz/faq/howto-linux-unix-delete-remove-file/

https://www.gnu.org/software/coreutils/manual/html_node/rm-invocation.html