'cp' pomeni kopijo. Ukaz 'cp' se uporablja za kopiranje datoteke ali imenika.
Uvod v ukaz cp
Ukaz cp se uporablja za kopiranje imenikov in datotek. Ukaz vsebuje tri primarne načine delovanja, ki jih predstavljajo tipi argumentov, prikazani programu za kopiranje datoteke v druge datoteke, več datotek v kateri koli imenik ali za kopiranje celotnih imenikov v druge imenike.
Poleg tega pripomoček sprejme več zastavic možnosti ukazne vrstice za podrobne informacije o izvedenih operacijah. Dve primarni specifikaciji sta GNU cp in POSIX cp. GNU cp vsebuje različne dodatne možnosti v različici POSIX. Ukaz je na voljo tudi v lupini EFI.
Načini delovanja ukaza cp
Ukaz cp vsebuje tri primarne načine delovanja. Ti načini se zaključijo s številom in tipom argumentov, ki so prikazani klicanemu programu.
- Program lahko kopira vsebino prve datoteke v drugo datoteko, pri čemer je druga datoteka nujna, če program vsebuje dva argumenta imena poti do datotek.
- Program lahko kopira vse izvorne datoteke v želeni imenik, pri čemer naredi katero koli datoteko, ki še ni na voljo, ko program vsebuje enega ali več argumentov imen poti datotek, in jih zasleduje kot argument poti do imenika.
- Ukaz cp lahko kopira vsako datoteko znotraj izvornega imenika v želeni imenik, zaradi česar so potrebni vsi imeniki ali datoteke, ko so argumenti programa imena poti za dva imenika. Ta način delovanja potrebuje dodatno zastavico možnosti, ki predstavlja kopiranje rekurzivnega imenika. Izvor bo kopiran v cilj, medtem ko se naredi nov imenik, če cilj ne obstaja, če je ciljni imenik že na voljo.
Možnosti ukaza cp
Možnost | Opis |
---|---|
--arhiv, -a | Enakovredno je -dR --preserve=all. |
--samo atributi | Ne kopira podatkov datoteke, ampak samo atribute. |
-b | Je kot rezervna kopija, vendar ne sprejema nobenega argumenta. |
--varnostno kopiranje[=CONTROL] | Naredi varnostno kopijo vseh obstoječih ciljnih datotek. |
--copy-contents | Ko je rekurziven, kopira posebno vsebino datoteke. |
-d | Enakovredno je --no-dereference --preserve=links. |
-- sila, -f | Če katere koli obstoječe ciljne datoteke ni mogoče odpreti, jo izbrišite in poskusite znova (tej možnosti se izognete, če uporabite tudi zastavico -n). |
--interaktiven, -i | Pred prepisovanjem zahteva potrditev (preglasi prejšnjo zastavico -n). |
-H | V SOURCE sledi simbolnim povezavam v ukazni vrstici. |
--povezava, -l | Namesto kopiranja določa datoteke s trdimi povezavami. |
--dereferenca, -L | V SOURCE vedno sledi simbolnim povezavam. |
--no-clop, -n | Ne prepiše nobene obstoječe datoteke (preglasi zastavico -i). |
--brez dereference, -P | V SOURCE nikoli ne sledi simbolnim povezavam. |
-str | Enakovredno je --preserve=mode, timestamps, ownership. |
--preserve[=ATTR_LIST] | Ohranja opisane lastnosti. Po možnosti dodatni atributi: vsi, xattr, povezave, kontekst. |
--no-preserve=ATTR_LIST | Ne ohranja opisanih lastnosti. |
--starši | Pod imenikom uporablja celotno ime izvorne datoteke. |
--rekurzivno, -r, -R | Rekurzivno kopira imenike. |
--reflink[=KDAJ] | Nadzoruje kopije CoW/klonov. |
--remove-destination | Odstrani vse obstoječe ciljne datoteke, preden jih poskuša odpreti (v nasprotju z --force). |
--sparse=KDAJ | Nadzoruje vzpostavitev redkih datotek. |
--string-trailing-sleshes | Odstrani končne poševnice iz vseh argumentov SOURCE. |
--simbolična-povezava, -s | Ustvari simbolične povezave namesto kopiranja. |
--pripona=KONČNICA, -S | Preglasi skupno rezervno pripono. |
--target-directory=IMENIK, -t | Kopira vsak argument SOURCE v DIRECTORY. |
--no-target-directory, -T | DEST obravnava kot splošno datoteko. |
--posodobitev, -u | Kopira se, če je IZVIRNA datoteka novejša v primerjavi s ciljno datoteko ali če ciljna datoteka ni navedena. |
--beseden, -v | Določa, kaj se dela. |
--en-datotečni-sistem, -x | Ostaja v datotečnem sistemu. |
-Z | Varnostni kontekst SELinux ciljne datoteke nastavi na privzeto vrsto. |
--kontekst[=CTX] | Je enako kot -Z ali če je omenjen CTX, nastavi varnostni kontekst SMACK ali SELinux na CTX. |
-- pomoč | Prikaže meni za pomoč in zapre. |
--različica | Ponuja podrobnosti o različici in izhode. |
Redke datoteke SOURCE so najdene s poceni hevristiko, povezana datoteka DESR pa je privzeto ustvarjena redka. To je vedenje, ki ga izbere --sparse=samodejno . Lahko opišemo --sparse=vedno da naredite redko datoteko DEST, če datoteka SOURCE vključuje dovolj dolg vrstni red nič bajtov. Lahko se tudi prijavimo --sparse=nikoli za omejitev vzpostavitve redkih datotek.
če --reflink[=vedno] je omenjeno, implementirajte lahko kopijo, v kateri so bili podatkovni bloki kopirani le, če so bili spremenjeni. Če ni mogoče oz --reflink=auto je omenjena, kopija ne uspe in se vrne na standardno kopijo. Lahko se tudi prijavimo --reflink=nikoli da se zagotovi uvedba standardne kopije.
Za kopiranje datoteke v isti imenik bo sintaksa,
cp
Na zgornjem posnetku smo ustvarili kopijo 'docu' in ga poimenovali kot 'novo' . Če v primeru, (v našem primeru je to 'newdocu') že obstaja, potem bo preprosto prepisal prejšnjo datoteko.
Če želite kopirati datoteko v drug imenik
Omeniti moramo pot ciljnega imenika.
Na spodnjem posnetku prej ni 'besedilne' datoteke. Po podaji ukaza, 'besedilo' datoteka je bila kopirana v ciljni imenik, tj 'Namizje' .
lahko android igra gamepigeon
Linux cp -r
Možnost 'r' z ukazom copy lahko uporabite za kopiranje imenika, vključno z vso njegovo vsebino, iz izvornega imenika v ciljni imenik.
Sintaksa:
cp -r
primer:
cp -r library /home/sssit/Documents
V zgornjem primeru smo kopirali imenik 'knjižnica' v ciljni imenik /home/sssit/Dokumenti . Tu je bila vsa vsebina imenika 'knjižnica', vključno z njegovo vsebino, kopirana v ciljni imenik.
Linux Kopiraj več datotek ali imenikov
V ciljni imenik lahko hkrati kopirate več datotek ali imenikov. V tem primeru mora biti cilj imenik. Če želite kopirati več datotek, ki jih lahko uporabite nadomestni znaki (cp *.extension), ki ima enak vzorec.
Sintaksa:
cp *.
primer:
cp *.txt /home/sssit/Documents
V zgornjem primeru smo kopirali datoteke (datoteka1, datoteka2, datoteka3) z isto končnico '.txt' v imenik Dokumenti.
Linux cp --backup
Če datoteka, ki jo želite kopirati, že obstaja v ciljnem imeniku, lahko varnostno kopirate obstoječo datoteko z uporabo tega ukaza.
Sintaksa:
cp --backup
primer:
cp --backup file2.txt /home/sssit/Downloads
Kot lahko vidite zgoraj, 'datoteka2.txt' že obstaja v ciljnem imeniku. Zato smo ustvarili varnostno kopijo te datoteke in jo kopirali v isti imenik (z istim imenom).
Zdaj ima naš ciljni imenik, ki je 'Prenosi', dve datoteki z istim imenom (to je 'file2.txt').
Linux cp -i
Možnost cp '-i' vam omogoča enkratno potrditev, preden prepišete datoteko.
Sintaksa:
povezava java mysql
cp -i
primer:
cp -i file3.txt /home/sssit/Desktop
Kot lahko vidite, prosi za dovoljenje za prepisovanje datoteke 'datoteka3.txt' saj ta datoteka že obstaja v ciljnem imeniku. Zdaj lahko pritisnete in za prepis datoteke in n da ne prepiše datoteke.
Linux cp -l
Če želite ustvariti trdo povezavo datoteke namesto kopiranja te datoteke, lahko uporabite možnost 'l'.
Opomba: Pri ustvarjanju trde povezave datoteke bo številka inode obeh datotek ostala enaka. Medtem ko se v primeru kopiranja številka inode spremeni.
Sintaksa:
cp -l
primer:
cp -l file1.txt usr/
Upoštevajte, da smo ustvarili trdo povezavo datoteke 'datoteka1.txt' v 'usr' . Številka inode obeh datotek je enaka.
Linux cp -p
Možnost cp '-p' se uporablja za ohranitev lastnosti in atributov datoteke. Prav tako lahko ohranite izbrane lastnosti, ki jih želite.
Sintaksa:
cp -p
primer:
cp -p file2.txt usr/
Zdaj lahko povežete dve datoteki (izvirno in kopirano) na zgornji sliki, obe imata enake lastnosti.
Linux cp -u -v
Ukaz cp -u -v se uporablja, ko se želite prepričati, da ciljna datoteka manjka ali ne obstaja.
Sintaksa:
cp -u -v
primer:
cp -u -v docc file1.txt /home/sssit/Downloads/
Na zgornji sliki lahko vidite, da sta datoteki dve 'tuš' in 'datoteka1.txt' . Zdaj želimo kopirati ti dve datoteki v imenik »Prenos«. Vendar ne vemo, da v imeniku »Prenosi« datoteka »file1.txt« že obstaja.
Dajanje ukaza 'cp -u -v' bo samodejno poskrbel za že obstoječo datoteko (file1.txt) in je ne bo prepisal.
Ta ukaz je uporaben pri kopiranju velikih datotek.