cp

Linux.fista
Siirry navigaatioon Siirry hakuun

cp-komentorivikomennolla kopioidaan tiedostoja tai hakemistoja.

Käyttö[muokkaa]

Kopioidaan tiedosto sorsat.c nimelle sorsat.c~. Jos kohdetiedosto on jo olemassa, ylikirjoitetaan se automaattisesti:

cp sorsat.c sorsat.c~

Kopioidaan hakemisto /home/petra kaikkine alihakemistoineen (valitsin -r tai -R mahdollistaa hakemistojen kopioinnin) nimelle /home/timo:

cp -r /home/petra /home/timo

Kopioidaan tiedostot norr, söder, lid, fal, malm, en, ny ja jön hakemistoon köping (valitsin -t):

cp -t köping norr söder lid fal malm en ny jön

Kopioidaan tiedosto /mnt/etakone_etc/hosts hakemistoon /etc. Mikäli tiedosto /etc/hosts on jo olemassa, poistetaan se ja kopioidaan uusi tiedosto tilalle (valitsin -f). Alkuperäisestä tiedostosta luodaan varmuuskopio nimelle /etc/hosts~ (valitsin -b):

cp -bf /mnt/etakone_etc/hosts /etc/

Kopioidaan hakemiston casiquiare kaikki sisältö hakemistoon bifurkaatio. Jos jokin tiedostoista on jo olemassa, kysytään sen korvaamisesta erillisellä kehotteella (valitsin -i):

cp -ri casiquiare/* bifurkaatio/

Tässä yhteydessä olisi myös mahdollista käyttää valitsinta --reply= (--reply=yes tai --reply=no), joka automaattisesti joko korvaa tai säästää samannimiset tiedostot. --replyn käyttöä ei kuitenkaan enää suositella (se on vanhentunut eli deprecated) ja se on poistettu vuoden 2008 jälkeisistä versioista. --reply=yesin voi korvata valitsimella -f ja --reply=non komennolla

yes n | cp -i tiedosto1 tiedosto2

Tulosteen saa halutessaan näyttämään siistimmältä käyttämällä muotoa yes n|cp -i tiedosto1 tiedosto2; echo \n.

Valitsimia[muokkaa]

  • -a - sama kuin -dpr
  • --backup= - säätelee varmuuskopion tekoa kohdetiedostoista (mahdollisia arvoja: off=ei tee varmuuskopioita, t=tekee numeroituja varmuuskopioita, nil=numeroituja jos numeroituja on olemassa, muuten tavallisia, simple=aina tavallisia varmuuskopioita)
  • -b - sama kuin --backup, mutta ei hyväksy argumentteja
  • --copy-contents - kopioi erikoistiedostojen sisällön jos ajetaan rekursiivisena
  • -d - sama kuin --preserve=links --no-dereference
  • -f - jos kohdetiedostoa ei voida avata, poistetaan se ja yritetään uudelleen
  • -i - tulostetaan varmistuskehote jos samanniminen tiedosto on jo olemassa
  • -H - seurataan komentoriviltä määriteltyjä symbolisia linkkejä lähdetiedostossa
  • -l - tekee kopioinnin sijasta kovia linkkejä
  • -L - seurataan aina symbolisia linkkejä lähdetiedostossa
  • -P - ei koskaan seurata lähdetiedoston symbolisia linkkejä
  • -p - sama kuin --preserve=mode,ownership,timestamps
  • --preserve= - jättää koskematta määriteltyihin tiedostomääreisiin (oletuksena mode, ownership ja timestamps eli oikeudet, omistajuudet ja aikaleimat) sekä jos mahdollista links (säästää kohdetiedostoissa kaikki vastaavat lähdetiedostojen väliset linkit) ja all (kaikki määreet)
  • --no-preserve= - älä säästä lueteltuja määreitä
  • --parents - kopioidessa määritellyn polun päässä olevan tiedoston johonkin hakemistoon, rekonstruoi polun kohdehakemistoon luomalla tarvittavat uudet hakemistot
  • --reply - vanhentunut, ks yllä
  • -r, -R - rekursiivinen kopiointi (ts myös hakemistot), ei seuraa symbolisia linkkejä ja pyrkii luomaan erikoistiedostojen tilalle uudet samantyyppiset tiedostot
  • --remove-destination - poistaa kohdetiedostot ennen yritystä avata niitä (vrt -f-valitsin)
  • --sparse= säätelee nollatavujaksoja ("koloja") sisältävien tiedostojen kopiointia, oletuksena (auto) kolot rekonstruoidaan uusiin tiedostoihin lukuunottamatta erikoistiedostoja, arvolla always yritetään koloja luoda myös erikoistilanteissa lukuunottamatta erikoistiedostoja, arvolla never ei koskaan luoda nollatavujaksoja (kätevää luotaessa swap-tiedostoja)
  • --strip-trailing-slashes - poistaa lähdetiedostojen nimien lopusta kauttaviivat, POSIX-standardi pakottaa kauttaviivan löytyessä automaattisesti seuraamaan symbolisia linkkejä
  • -s - tekee kopioinnin sijasta symbolisia linkkejä
  • --suffix= - lisää varmuuskopiotiedostoihin määritellyn päätteen
  • -t - määrittelee kohdehakemiston, kopioi kaikki muut määritellyt tiedostot tähän hakemistoon
  • -T - kohtelee kohdetiedostoa aina tavallisena tiedostona (ei hakemistona)
  • -u - kopioi vain, kun kohdetiedosto on vanhempi (muokkausajankohta) tai jos sitä ei ole
  • -v - tulostaa jokaisen tiedoston nimen ennen sen kopiointia (verbose)
  • -x - ohittaa eri tiedostojärjestelmissä sijaitsevat alihakemistot, liitospistehakemistot kuitenkin kopioidaan

Täydellisen valitsinlistan pitkine selityksineen saa komennolla

info cp

Katso myös[muokkaa]