logo

Príkaz cp v systéme Linux/Unix | Linux Copy File

„cp“ znamená kópia. Príkaz 'cp' sa používa na kopírovanie súboru alebo adresára.

Úvod do príkazu cp

Príkaz cp sa používa na kopírovanie adresárov a súborov. Príkaz obsahuje tri primárne prevádzkové režimy reprezentované typmi argumentov zobrazenými programu na kopírovanie súboru do iných súborov, viacerých súborov do ľubovoľného adresára alebo na kopírovanie celých adresárov do iných adresárov.

Pomôcka ďalej akceptuje niekoľko príznakov voľby príkazového riadka na podrobný popis implementovaných operácií. Dve primárne špecifikácie sú GNU cp a POSIX cp. GNU cp obsahuje rôzne ďalšie možnosti vo verzii POSIX. Príkaz je dostupný aj v prostredí EFI.

Prevádzkové režimy príkazu cp

Príkaz cp obsahuje tri primárne prevádzkové režimy. Tieto režimy sú dokončené z počtu a typu argumentov zobrazených vyvolanému programu.

  • Program môže skopírovať obsah prvého súboru do druhého súboru, čím vytvorí druhý súbor, ak je to nevyhnutné, keď program obsahuje dva argumenty názvu cesty k súborom.
  • Program môže skopírovať všetky zdrojové súbory do požadovaného adresára, pričom akýkoľvek súbor už nie je dostupný, keď program obsahuje jeden alebo viac argumentov názvu cesty k súborom, a tieto argumenty použije ako argument cesty k adresáru.
  • Príkaz cp môže skopírovať každý súbor v zdrojovom adresári do požadovaného adresára, čím sa vyžadujú všetky adresáre alebo súbory, ak sú argumenty programu názvy ciest pre dva adresáre. Tento prevádzkový režim potrebuje prídavný príznak voľby, ktorý predstavuje kopírovanie rekurzívneho adresára. Zdroj sa skopíruje do cieľového miesta, pričom sa vytvorí nový adresár, ak cieľ neexistuje, ak je cieľový adresár už dostupný.

Možnosti príkazu cp

Možnosť Popis
--archív, -a Je to ekvivalent -dR --preserve=all.
--iba atribúty Neskopíruje údaje súboru, iba atribúty.
-b Je to ako záloha, ale neakceptuje žiadny argument.
--backup[=CONTROL] Vytvára zálohu všetkých existujúcich cieľových súborov.
--kopírovať-obsah Pri rekurzive skopíruje špeciálny obsah súboru.
-d Je ekvivalentom --no-dereference --preserve=links.
--siliť, -f Ak sa niektorý existujúci cieľový súbor nedá otvoriť, odstráňte ho a skúste to znova (tejto voľbe sa vyhnete, ak sa použije aj príznak -n).
--interaktívny, -i Pred prepísaním si vyžiada potvrdenie (prepíše predchádzajúci príznak -n).
-H V SOURCE nasleduje symbolické odkazy príkazového riadku.
--odkaz, -l Špecifikuje súbory pevných odkazov namiesto kopírovania.
--deferencia, -L V SOURCE vždy nasleduje symbolické odkazy.
--no-clobber, -n Neprepíše žiadny existujúci súbor (prepíše príznak -i).
--bez-deferencie, -P V SOURCE nikdy nenasleduje symbolické odkazy.
-p Je ekvivalentom --preserve=režim, časové pečiatky, vlastníctvo.
--preserve[=ATTR_LIST] Zachováva popísané atribúty. Ak je to možné, ďalšie atribúty: all, xattr, links, context.
--no-preserve=ZOZNAM_ATTR Nezachováva opísané atribúty.
--rodičia V adresári používa úplný názov zdrojového súboru.
--rekurzívne, -r, -R Rekurzívne kopíruje adresáre.
--reflink[=KEDY] Ovláda kópie CoW/klonov.
--remove-destination Pred pokusom o ich otvorenie odstráni všetky existujúce cieľové súbory (na rozdiel od --force).
--sparse=KEDY Riadi vytváranie riedkych súborov.
--string-trailing-slashes Odstráni koncové lomky zo všetkých argumentov SOURCE.
--symbolický-odkaz, -s Vytvára skôr symbolické odkazy ako kopírovanie.
--prípona=PRÍPOŇA, -S Prepíše bežnú záložnú príponu.
--cieľový-adresár=ADRESÁR, -t Skopíruje každý argument SOURCE do DIRECTORY.
--no-cieľový-adresár, -T DEST považuje za všeobecný súbor.
--aktualizácia, -u Skopíruje sa, ak je SOURCE súbor novší v porovnaní s cieľovým súborom alebo ak cieľový súbor nie je špecifikovaný.
--verbose, -v Špecifikuje, čo sa robí.
--one-file-system, -x Zostáva v súborovom systéme.
-S Nastaví bezpečnostný kontext SELinux cieľového súboru na predvolený typ.
--context[=CTX] Je to rovnaké ako -Z, alebo ak je spomenuté CTX, nastaví bezpečnostný kontext SMACK alebo SELinux na CTX.
--Pomoc Zobrazí ponuku pomocníka a ukončí sa.
--verzia Poskytuje podrobnosti o verzii a ukončenia.

Zriedkavé súbory SOURCE sa nachádzajú pomocou lacnej heuristiky a súvisiaci súbor DESR sa štandardne vytvára riedky. Je to správanie zvolené --sparse=auto . Môžeme popísať --sparse=vždy vytvoriť riedky súbor DEST, ak súbor SOURCE obsahuje dostatočne dlhé poradie nula bajtov. Môžeme sa tiež prihlásiť --sparse=nikdy obmedziť vytváranie riedkych súborov.

Ak --reflink[=vždy] je spomenuté, implementujte odľahčenú kópiu, v ktorej sa bloky údajov skopírovali iba vtedy, ak boli zmenené. Ak to nie je možné, resp --reflink=auto spomenuté, kópia zlyhá a vráti sa späť na štandardnú kópiu. Môžeme sa tiež prihlásiť --reflink=nikdy aby sa zaručila implementácia štandardnej kópie.

Ak chcete skopírovať súbor do rovnakého adresára, syntax bude

 cp 

Linux súbor cp

Na snímke vyššie sme vytvorili kópiu 'docu' a pomenoval to ako 'Nový' . Ak v prípade, (v našom prípade je to 'newdocu') už existuje, potom jednoducho prepíše predchádzajúci súbor.

počítač vynašiel ktorý rok

Ak chcete skopírovať súbor do iného adresára

Musíme spomenúť cestu k cieľovému adresáru.

Na snímke nižšie predtým nie je žiadny „textový“ súbor. Po zadaní príkazu, 'text' súbor bol skopírovaný do cieľového adresára, tj 'Počítač' .

Linux súbor cp

Linux cp -r

Možnosť 'r' s príkazom copy možno použiť na skopírovanie adresára vrátane celého jeho obsahu zo zdrojového adresára do cieľového adresára.

Syntax:

 cp -r 

Príklad:

vlastnosti série panda
 cp -r library /home/sssit/Documents 

linux cp -r

Vo vyššie uvedenom príklade sme skopírovali adresár 'knižnica' do cieľového adresára /home/sssit/Documents . Tu bol všetok obsah adresára 'knižnica' vrátane jeho obsahu skopírovaný do cieľového adresára.

Linux Kopírovanie viacerých súborov alebo adresárov

Do cieľového adresára je možné naraz skopírovať viacero súborov alebo adresárov. V tomto prípade musí byť cieľom adresár. Na kopírovanie viacerých súborov môžete použiť zástupné znaky (cp *.extension) s rovnakým vzorom.

Syntax:

 cp *. 

Príklad:

 cp *.txt /home/sssit/Documents 

Linux kopíruje viacero súborov

Vo vyššie uvedenom príklade sme skopírovali súbory (súbor1, súbor2, súbor3) s rovnakou príponou '.TXT' do adresára Dokumenty.

Linux cp --záloha

Ak súbor, ktorý chcete skopírovať, už existuje v cieľovom adresári, pomocou tohto príkazu môžete svoj existujúci súbor zálohovať.

Syntax:

aké mesiace sú q1
 cp --backup 

Príklad:

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

Záloha cp súboru Linux

Ako môžete vidieť vyššie, 'file2.txt' už existuje v cieľovom adresári. Preto sme vytvorili zálohu tohto súboru a skopírovali ho do rovnakého adresára (s rovnakým názvom).

Teraz má náš cieľový adresár 'Downloads' dva súbory s rovnakým názvom (to je 'file2.txt').

Linux cp -i

Voľba cp '-i' vám ​​umožňuje raz potvrdiť pred prepísaním súboru.

Syntax:

 cp -i 

Príklad:

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

Linux cp -i

Ako vidíte, žiada o povolenie na prepísanie súboru 'file3.txt' pretože tento súbor už existuje v cieľovom adresári. Teraz môžete stlačiť a prepísať súbor a n aby sa súbor neprepísal.

Linux cp -l

Ak chcete namiesto kopírovania tohto súboru vytvoriť pevný odkaz na súbor, môžete použiť možnosť „l“.

js settimeout

Poznámka: Pri vytváraní pevného odkazu na súbor zostane číslo inode dvoch súborov rovnaké. Zatiaľ čo v prípade kopírovania sa číslo inódu zmení.

Syntax:

 cp -l 

Príklad:

 cp -l file1.txt usr/ 

Linux súbor cp -l

Všimnite si, že sme vytvorili pevný odkaz na súbor 'file1.txt' v 'usr' . Číslo inódov oboch súborov je rovnaké.

Linux cp -p

Voľba cp '-p' sa používa na zachovanie vlastností a atribútov súboru. Môžete tiež zachovať vybrané vlastnosti, ktoré chcete.

Syntax:

 cp -p 

Príklad:

 cp -p file2.txt usr/ 

Linux cp -p

Teraz môžete porovnať dva súbory (pôvodný a skopírovaný) na obrázku vyššie, oba majú rovnaké vlastnosti.

Linux cp -u -v

Príkaz cp -u -v sa používa, keď sa chcete uistiť, že cieľový súbor chýba alebo neexistuje.

zoradený zoznam polí v jazyku Java

Syntax:

 cp -u -v 

Príklad:

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

Linux cp -u -v

Na obrázku vyššie môžete vidieť, že existujú dva súbory 'sprcha' a 'file1.txt' . Teraz chceme skopírovať tieto dva súbory do adresára 'Download'. Ale nevieme, že v adresári 'Downloads' súbor 'file1.txt' už existuje.

Vydanie príkazu 'cp -u -v' sa automaticky postará o už existujúci súbor (súbor1.txt) a neprepíše ho.

Tento príkaz je užitočný pri kopírovaní veľkých súborov.