Ero sivun ”Cp” versioiden välillä
pEi muokkausyhteenvetoa |
pEi muokkausyhteenvetoa |
||
(9 välissä olevaa versiota 9 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | |||
'''cp'''-[[komentorivi]]komennolla kopioidaan tiedostoja tai hakemistoja. | |||
== Käyttö == | == Käyttö == | ||
Kopioidaan tiedosto <tt>sorsat.c</tt> nimelle <tt>sorsat.c~</tt>. Jos kohdetiedosto on jo olemassa, ylikirjoitetaan se automaattisesti: | |||
cp sorsat.[[c]] sorsat.c~ | |||
Kopioidaan hakemisto <tt>/home/petra</tt> kaikkine alihakemistoineen ([[valitsin]] <tt>-r</tt> tai <tt>-R</tt> mahdollistaa hakemistojen kopioinnin) nimelle <tt>/home/tim</tt>o: | |||
cp -r /home/petra /home/timo | |||
Kopioidaan tiedostot <tt>norr</tt>, <tt>söder</tt>, <tt>lid</tt>, <tt>fal</tt>, <tt>malm</tt>, <tt>en</tt>, <tt>ny</tt> ja <tt>jön</tt> hakemistoon <tt>köping</tt> (valitsin <tt>-t</tt>): | |||
cp -t köping norr söder lid fal malm en ny jön | |||
Kopioidaan tiedosto <tt>/mnt/etakone_etc/hosts</tt> hakemistoon <tt>/etc</tt>. Mikäli tiedosto <tt>/etc/hosts</tt> on jo olemassa, poistetaan se ja kopioidaan uusi tiedosto tilalle (valitsin <tt>-f</tt>). Alkuperäisestä tiedostosta luodaan varmuuskopio nimelle <tt>/etc/hosts~</tt> (valitsin <tt>-b</tt>): | |||
cp -bf /mnt/etakone_etc/[[hosts]] /etc/ | |||
Kopioidaan hakemiston <tt>casiquiare</tt> kaikki sisältö hakemistoon <tt>bifurkaatio</tt>. Jos jokin tiedostoista on jo olemassa, kysytään sen korvaamisesta erillisellä kehotteella (valitsin <tt>-i</tt>): | |||
cp -ri casiquiare/* bifurkaatio/ | |||
Tässä yhteydessä olisi myös mahdollista käyttää valitsinta <tt>--reply=</tt> (<tt>--reply=yes</tt> tai <tt>--reply=no</tt>), joka automaattisesti joko korvaa tai säästää samannimiset tiedostot. <tt>--reply</tt>n käyttöä ei kuitenkaan enää suositella (se on vanhentunut eli ''deprecated'') ja se on poistettu vuoden 2008 jälkeisistä versioista. <tt>--reply=yes</tt>in voi korvata valitsimella <tt>-f</tt> ja <tt>--reply=no</tt>n komennolla | |||
[[yes]] n | cp -i tiedosto1 tiedosto2 | |||
Tulosteen saa halutessaan näyttämään siistimmältä käyttämällä muotoa <tt>yes n|cp -i tiedosto1 tiedosto2; [[echo]] \n</tt>. | |||
==Valitsimia== | |||
*'''-a''' - sama kuin <tt>-dpr</tt> | |||
*'''--backup=''' - säätelee varmuuskopion tekoa kohdetiedostoista (mahdollisia arvoja: <tt>off</tt>=ei tee varmuuskopioita, <tt>t</tt>=tekee numeroituja varmuuskopioita, <tt>nil</tt>=numeroituja jos numeroituja on olemassa, muuten tavallisia, <tt>simple</tt>=aina tavallisia varmuuskopioita) | |||
*'''-b''' - sama kuin <tt>--backup</tt>, mutta ei hyväksy argumentteja | |||
*'''--copy-contents''' - kopioi erikoistiedostojen sisällön jos ajetaan rekursiivisena | |||
*'''-d''' - sama kuin <tt>--preserve=links --no-dereference</tt> | |||
*'''-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 [[kova linkki|kovia linkkejä]] | |||
*'''-L''' - seurataan aina symbolisia linkkejä lähdetiedostossa | |||
*'''-P''' - ei koskaan seurata lähdetiedoston symbolisia linkkejä | |||
*'''-p''' - sama kuin <tt>--preserve=mode,ownership,timestamps</tt> | |||
*'''--preserve=''' - jättää koskematta määriteltyihin tiedostomääreisiin (oletuksena <tt>mode</tt>, <tt>ownership</tt> ja <tt>timestamps</tt> eli [[tiedostojen oikeudet|oikeudet]], omistajuudet ja [[aikaleima]]t) sekä jos mahdollista <tt>links</tt> (säästää kohdetiedostoissa kaikki vastaavat lähdetiedostojen väliset linkit) ja <tt>all</tt> (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 <tt>-f</tt>-valitsin) | |||
*'''--sparse=''' säätelee nollatavujaksoja ("koloja") sisältävien tiedostojen kopiointia, oletuksena (<tt>auto</tt>) kolot rekonstruoidaan uusiin tiedostoihin lukuunottamatta erikoistiedostoja, arvolla <tt>always</tt> yritetään koloja luoda myös erikoistilanteissa lukuunottamatta erikoistiedostoja, arvolla <tt>never</tt> ei koskaan luoda nollatavujaksoja (kätevää luotaessa [[swap-tiedosto]]ja) | |||
*'''--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 ([[mtime|muokkausajankohta]]) tai jos sitä ei ole | |||
*'''-v''' - tulostaa jokaisen tiedoston nimen ennen sen kopiointia (''verbose'') | |||
*'''-x''' - ohittaa eri [[tiedostojärjestelmä|tiedostojärjestelmissä]] sijaitsevat alihakemistot, liitospistehakemistot kuitenkin kopioidaan | |||
Täydellisen valitsinlistan pitkine selityksineen saa komennolla | |||
[[info]] cp | |||
== Katso myös == | == Katso myös == | ||
Rivi 15: | Rivi 57: | ||
[[Luokka:Coreutils]] | [[Luokka:Coreutils]] | ||
[[Luokka:Komentorivin perustyökalut]] | |||
[[Luokka:Tiedostonhallinta]] | [[Luokka:Tiedostonhallinta]] | ||
[[pl:Cp]] |
Nykyinen versio 19. tammikuuta 2021 kello 09.53
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