logo

cp Komento Linuxissa/Unixissa | Linux Kopioi tiedosto

'cp' tarkoittaa kopiota. 'cp'-komentoa käytetään kopioimaan tiedosto tai hakemisto.

Johdatus cp-komentoon

cp-komentoa käytetään kopioimaan hakemistoja ja tiedostoja. Komento sisältää kolme ensisijaista toimintatilaa, joita edustavat argumenttityypit, jotka ohjelmalle näytetään tiedoston kopioimiseksi muihin tiedostoihin, useiden tiedostojen kopioimiseksi mihin tahansa hakemistoon tai kokonaisten hakemistojen kopioimiseksi muihin hakemistoihin.

Lisäksi apuohjelma hyväksyy useita komentorivin optiolippuja toteutettujen toimintojen yksityiskohtiin. Kaksi ensisijaista spesifikaatiota ovat GNU cp ja POSIX cp. GNU cp sisältää useita lisävaihtoehtoja POSIX-versiossa. Lisäksi komento on saatavilla EFI-kuoressa.

cp-komennon toimintatilat

cp-komento sisältää kolme ensisijaista toimintatilaa. Nämä tilat valmistuvat kutsuttavalle ohjelmalle näytetyistä argumenttien määrästä ja tyypistä.

ankita dave
  • Ohjelma voi kopioida ensimmäisen tiedoston sisällön toiseen tiedostoon, jolloin toinen tiedosto on tarpeen, kun ohjelma sisältää kaksi tiedostopolun nimiargumenttia.
  • Ohjelma voi kopioida kaikki lähdetiedostot haluttuun hakemistoon, jolloin kaikki tiedostot eivät ole vielä käytettävissä, kun ohjelma sisältää yhden tai useamman tiedostojen polun nimiargumentin, ja jatkaa niitä polkuargumenttina hakemistoon.
  • cp-komento voi kopioida jokaisen lähdehakemiston sisällä olevan tiedoston haluttuun hakemistoon, jolloin kaikki hakemistot tai tiedostot vaaditaan, kun ohjelman argumentit ovat polunimet kahdelle hakemistolle. Tämä toimintatila tarvitsee ylimääräisen optiolipun edustamaan rekursiivisen hakemiston kopiointia. Lähde kopioidaan kohteeseen, kun taas uusi hakemisto tehdään, jos kohdetta ei ole olemassa, jos kohdehakemisto on jo saatavilla.

cp-komennon asetukset

Vaihtoehto Kuvaus
--arkisto, -a Se vastaa -dR --preserve=all.
--vain määritteet Se ei kopioi tiedoston tietoja, vain attribuutteja.
-b Se on kuin varmuuskopio, mutta ei hyväksy mitään argumentteja.
--varmuuskopio[=CONTROL] Se tekee varmuuskopion kaikista olemassa olevista kohdetiedostoista.
--kopioi-sisältö Rekursiivisena se kopioi erityisen tiedoston sisällön.
-d Se vastaa sanaa --no-dereference --preserve=links.
--voima, -f Jos olemassa olevaa kohdetiedostoa ei voida avata, poista se ja yritä uudelleen (tätä vaihtoehtoa vältetään, jos myös -n-lippua käytetään).
--interaktiivinen, -i Se pyytää vahvistusta ennen päällekirjoittamista (ohittaa edellisen -n-lipun).
-H SOURCEssa se seuraa komentorivin symbolisia linkkejä.
--linkki, -l Se määrittää kovalinkkitiedostot kopioimisen sijaan.
--viittaus, -L SOURCEssa se seuraa aina symbolisia linkkejä.
--no-clobber, -n Se ei korvaa olemassa olevaa tiedostoa (ohittaa -i-lipun).
--ei viittausta, -P SOURCEssa se ei koskaan seuraa symbolisia linkkejä.
-s Se vastaa sanaa --preserve=mode, timestamps, ownership.
--säilöntä[=ATTR_LIST] Se säilyttää kuvatut ominaisuudet. Jos mahdollista, lisäattribuutit: kaikki, xattr, linkit, konteksti.
--no-preserve=ATTR_LIST Se ei säilytä kuvattuja ominaisuuksia.
--vanhemmat Hakemiston alla se käyttää täyttä lähdetiedoston nimeä.
--rekursiivinen, -r, -R Se kopioi rekursiivisesti hakemistoja.
--reflink[=MILLOIN] Se ohjaa coW/kloonikopioita.
--poista-kohde Se poistaa kaikki olemassa olevat kohdetiedostot ennen niiden avaamista (toisin kuin --force).
--sparse=MILLOIN Se hallitsee harvalukuisten tiedostojen luomista.
--merkkijono-alkuviivat Se poistaa loput kauttaviivat kaikista SOURCE-argumenteista.
--symbolic-link, -s Se tekee symbolisia linkkejä kopioimisen sijaan.
--suffix=SUFFIX, -S Se ohittaa yleisen varmuuskopioliitteen.
--target-directory=HAKEMISTO, -t Se kopioi jokaisen SOURCE-argumentin hakemistoon DIRECTORY.
--ei-kohdehakemisto, -T Se pitää DEST-tiedostoa yleisenä tiedostona.
--päivitys, -u Se kopioi, jos SOURCE-tiedosto on kohdetiedostoa uudempi tai jos kohdetiedostoa ei ole määritetty.
--sanallinen, -v Se määrittelee mitä tehdään.
--yksi tiedostojärjestelmä, -x Se pysyy tiedostojärjestelmässä.
-KANSSA Se asettaa kohdetiedoston SELinux-suojauskontekstin oletustyyppiin.
--context[=CTX] Se on sama kuin -Z, tai jos CTX mainitaan, se asettaa SMACK- tai SELinux-suojauskontekstin CTX:ksi.
--auta Se näyttää ohjevalikon ja sulkee sen.
--versio Se tarjoaa versiotiedot ja poistumiset.

Harvat SOURCE-tiedostot löytyvät halvalla heuristilla, ja niihin liittyvä DESR-tiedosto luodaan oletuksena harvaksi. Se on valitsemaa käyttäytymistä --sparse=auto . Voimme kuvata --harva=aina tehdä harvakseltaan DEST-tiedosto, jos SOURCE-tiedosto sisältää tarpeeksi pitkän nollan tavun järjestyksen. Voimme myös hakea --harva=ei koskaan rajoittaa harvalukuisten tiedostojen luomista.

Jos --reflink[=aina] on mainittu, toteuttaa kevytkopio, jossa tietolohkot on kopioitu vain jos niitä on muutettu. Jos se ei ole mahdollista tai --reflink=auto mainitaan, kopio epäonnistuu ja palaa normaalikopioon. Voimme myös hakea --reflink=ei koskaan vakiokopion käyttöönoton takaamiseksi.

Tiedoston kopioiminen samaan hakemistosyntaksiin on

 cp 

Linux-tiedosto cp

Yllä olevassa tilannekuvassa olemme luoneet kopion 'dokumentti' ja nimesi sen nimellä 'Uusi' . Jos tapauksessa, (meidän tapauksessamme se on 'newdocu') on jo olemassa, se yksinkertaisesti kirjoittaa aikaisemman tiedoston yli.

Tiedoston kopioiminen toiseen hakemistoon

Meidän on mainittava kohdehakemiston polku.

Alla olevassa kuvassa aiemmin ei ole tekstitiedostoa. Käskyn antamisen jälkeen 'teksti' tiedosto on kopioitu kohdehakemistoon, joka on 'työpöytä' .

Linux-tiedosto cp

Linux cp -r

Vaihtoehto 'r' copy-komennolla voidaan kopioida hakemisto ja kaikki sen sisältö lähdehakemistosta kohdehakemistoon.

Syntaksi:

 cp -r 

Esimerkki:

 cp -r library /home/sssit/Documents 

linux cp -r

Yllä olevassa esimerkissä olemme kopioineet hakemiston 'kirjasto' kohdehakemistoon /home/sssit/Documents . Täällä kaikki 'kirjasto'-hakemiston sisältö, mukaan lukien sen sisältö, on kopioitu kohdehakemistoon.

Linux Kopioi useita tiedostoja tai hakemistoja

Useita tiedostoja tai hakemistoja voidaan kopioida kohdehakemistoon kerralla. Tässä tapauksessa kohteen on oltava hakemisto. Voit kopioida useita tiedostoja yleismerkkejä (cp *.extension), jolla on sama kuvio.

Syntaksi:

 cp *. 

Esimerkki:

 cp *.txt /home/sssit/Documents 

Linux kopioi useita tiedostoja

Yllä olevassa esimerkissä olemme kopioineet tiedostoja (tiedosto1, tiedosto2, tiedosto3), joilla on sama tunniste '.txt' Asiakirjahakemistoon.

Linux cp -- varmuuskopio

Jos kopioitava tiedosto on jo kohdehakemistossa, voit varmuuskopioida olemassa olevan tiedoston tällä komennolla.

Syntaksi:

 cp --backup 

Esimerkki:

 cp --backup file2.txt /home/sssit/Downloads 

Linux-tiedoston cp-varmuuskopio

Kuten yllä näet, 'tiedosto2.txt' on jo olemassa kohdehakemistossa. Siksi olemme luoneet tästä tiedostosta varmuuskopion ja kopioineet sen samaan hakemistoon (jolla on sama nimi).

Nyt kohdehakemistossamme, joka on 'Lataukset', on kaksi tiedostoa, joilla on sama nimi (eli 'tiedosto2.txt').

Linux cp -i

cp '-i' -vaihtoehdon avulla voit vahvistaa kerran ennen tiedoston korvaamista.

Syntaksi:

 cp -i 

Esimerkki:

 cp -i file3.txt /home/sssit/Desktop 

Linux cp -i

Kuten näet, se pyytää lupaa tiedoston ylikirjoitukseen 'tiedosto3.txt' koska tämä tiedosto on jo olemassa kohdehakemistossa. Nyt voit painaa ja ylikirjoittaaksesi tiedoston ja n tiedostoa ei korvata.

Linux cp -l

Jos haluat luoda tiedostoon kiinteän linkin tiedoston kopioimisen sijaan, voit käyttää vaihtoehtoa 'l'.

Huomautus: Luotaessa tiedostoon kovaa linkkiä molempien tiedostojen inode-numero pysyy samana. Kopioinnin aikana inodien numero vaihtuu.

Syntaksi:

 cp -l 

Esimerkki:

 cp -l file1.txt usr/ 

Linux-tiedosto cp -l

Huomaa, että olemme luoneet tiedostoon kiinteän linkin 'tiedosto1.txt' sisään 'usr' . Molempien tiedostojen inode-numero on sama.

Linux cp -p

cp '-p' -vaihtoehtoa käytetään säilyttämään tiedoston ominaisuudet ja attribuutit. Voit myös säilyttää haluamasi ominaisuudet.

Syntaksi:

 cp -p 

Esimerkki:

 cp -p file2.txt usr/ 

Linux cp -p

Nyt voit yhdistää kaksi tiedostoa (alkuperäinen ja kopioitu) yllä olevassa kuvassa, molemmilla on samat ominaisuudet.

Linux cp -u -v

cp -u -v -komentoa käytetään, kun halutaan varmistaa, että kohdetiedosto puuttuu tai ei ole olemassa.

arraylist lajiteltu

Syntaksi:

 cp -u -v 

Esimerkki:

 cp -u -v docc file1.txt /home/sssit/Downloads/ 

Linux cp -u -v

Yllä olevasta kuvasta näet, että tiedostoa on kaksi 'suihku' ja 'tiedosto1.txt' . Nyt haluamme kopioida nämä kaksi tiedostoa 'Lataa'-hakemistoon. Emme kuitenkaan tiedä, että 'Lataukset'-hakemistossa tiedosto 'file1.txt' on jo olemassa.

Käskyn antaminen 'cp -u -v' huolehtii automaattisesti jo olemassa olevasta tiedostosta (tiedosto1.txt) eikä kirjoita sitä yli.

Tämä komento on hyödyllinen kopioitaessa suuria tiedostoja.