Unix-opas, luku 7 Tiedostot ja hakemistot:

Tiedoston kopiointi, siirto ja poisto - cp, mv ja rm

Tiedoston kopiointi: cp (copy)

Komento

cp tiedosto1 tiedosto2

tekee tiedosto1:n sisällöstä kopion uuteen tiedostoon, joka saa nimen tiedosto2.

Jos tiedosto2 on jo olemassa, sen vanha sisältö häviää. Joissakin koneissa toiminta tässä tilanteessa voi olla erilaista, esim. cp-komento saattaa kysyä, halutaanko todella kirjoittaa vanhan tiedon päälle.

Komennosta on myös muoto

cp tiedosto1 tiedosto2 ... tiedostoN hakemisto

joka kopioi kaikki luetellut tiedostot ilmoitettuun hakemistoon. Tällöin kunkin kopion suhteelliseksi nimeksi (siis varsinaiseksi nimiosaksi, ilman hakemistopolkua) tulee sama kuin vastaavan alkuperäisen tiedoston varsinainen nimi. Esimerkiksi komento

cp /usr/include/limits.h /usr/include/float.h .
tekisi mainituista tiedostoista kopiot senhetkiseen työhakemistoon nimillä limits.h ja float.h.

Tiedoston nimen muuttaminen: mv (move)

Komento

mv vanhanimi uusinimi

muuttaa olemassaolevan tiedoston vanhanimi nimeksi uusinimi.

Jos ennestään on olemassa tiedosto nimeltä uusinimi, sen vanha sisältö häviää.

Jos olet esim. vahingossa perustanut tiedoston, jolla on eri nimi kuin haluaisit, voit vaihtaa sen mv-komennolla. Jos vaikka haluaa vaihtaa vahingossa väärin kirjoitetun tiedostonnimen tetsi nimeksi testi, niin sen voi tehdä komennolla mv tetsi testi.

Komentosana mv johtuu englannin sanasta move, mikä liittyy siihen, että usein mv-komentoa käytetään siirtämään tiedosto hakemistosta toiseen. Sellainen siirto voidaan seuraavaan tapaan:

mv foo alihak/foo

taikka lyhyemmin niin, että toinen argumentti on alihak/ tai alihak, jolloin tiedoston nimeksi kyseisessä hakemistossa tulee foo. Yleisemmin sanottuna mv-komennosta on myös muoto

mv tiedosto1 tiedosto2 ... tiedostoN hakemisto

joka siirtää kaikki luetellut tiedostot ilmoitettuun hakemistoon.

Tiedoston hävittäminen: rm (remove)

Komento

rm tiedostonnimi

hävittää (poistaa, tuhoaa) ilmoitetun tiedoston. Sekä tiedoston sisältö että sen nimi häviävät heti. Komennolle voidaan antaa argumentteina myös lista tiedostonnimiä välilyönnillä toisistaan erotettuina.

Komennon rm vaikutus on peruuttamaton. Ole tämän takia erityisen tarkka käyttäessäsi rm-komennossa jokerimerkkejä. Jos esimerkiksi haluat hävittää kaikki ne tiedostot, joiden nimi alkaa a-kirjaimella, mutta kirjoitat oikean komennon rm a* asemesta rm a *, niin tulet hävittäneeksi kaikki (senhetkisen työhakemistosi) tiedostot!

Vahingossa hävitetyn tiedoston palauttaminen saattaa joskus olla mahdollista, jos järjestelmästä otetaan varmuuskopioita. Palauttaminen vaatii kuitenkin operaattorin toimenpiteitä, ja se, miten tuore tilanne saadaan palautetuksi, riippuu varmuuskopioiden ottamisen tiheydestä.

Voit käyttää rm-komennossa valitsinta -i (esimerkiksi rm -i a*), jolloin komento kysyy "interaktiivisesti" kustakin tiedostosta erikseen, haluatko todella hävittää sen. Valitsimen -i käyttö on erityisen suositeltavaa aina kun käytetään jokerimerkkejä.