'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
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 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
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
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
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
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/
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/
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/
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.