logo

cp komanda Linux/Unix | Linux kopēšanas fails

“cp” nozīmē kopēt. Komanda 'cp' tiek izmantota, lai kopētu failu vai direktoriju.

Ievads cp Command

Komandu cp izmanto direktoriju un failu kopēšanai. Komandā ir trīs primārie darbības režīmi, ko attēlo argumentu tipi, kas parādīti programmai, lai kopētu failu uz citiem failiem, vairākus failus uz jebkuru direktoriju vai kopētu visus direktorijus citos direktorijos.

Turklāt utilīta pieņem vairākus komandrindas opciju karogus, lai detalizēti aprakstītu īstenotās darbības. Divas galvenās specifikācijas ir GNU cp un POSIX cp. GNU cp satur dažādas papildu opcijas POSIX versijā. Arī komanda ir pieejama EFI apvalkā.

Cp komandas darbības režīmi

Komandā cp ir trīs primārie darbības režīmi. Šie režīmi tiek pabeigti, sākot no argumentu skaita un veida, kas tiek parādīts izsaucējai programmai.

cik daudz pilsētu mums ir
  • Programma var kopēt pirmā faila saturu uz otro failu, padarot otro failu, ja tas ir nepieciešams, ja programma satur divus failu ceļa nosaukuma argumentus.
  • Programma var kopēt visus avota failus vajadzīgajā direktorijā, padarot jebkuru failu, kas vēl nav pieejams, ja programmā ir viens vai vairāki failu ceļa nosaukuma argumenti, un tos izmantojot kā ceļa argumentu direktorijā.
  • Komanda cp var kopēt katru failu avota direktorijā vajadzīgajā direktorijā, padarot visus direktorijus vai failus nepieciešamos, ja programmas argumenti ir divu direktoriju ceļu nosaukumi. Šim darbības režīmam ir nepieciešams papildu opcijas karodziņš, lai attēlotu rekursīvā direktorija kopēšanu. Avots tiks kopēts galamērķī, savukārt, ja galamērķa nav, ja galamērķa direktorijs jau ir pieejams, tiek izveidots jauns direktorijs.

Cp komandas opcijas

Opcija Apraksts
--arhīvs, -a Tas ir līdzvērtīgs -dR --preserve=all.
--tikai atribūti Tas nekopē faila datus, tikai atribūtus.
-b Tas ir kā dublējums, bet nepieņem nekādus argumentus.
--rezerves kopija[=CONTROL] Tas veido visu esošo mērķa failu dublējumu.
--kopēt-saturs Kad tas ir rekursīvs, tas kopē īpašu faila saturu.
-d Tas ir līdzvērtīgs --no-dereference --preserve=links.
--spēks, -f Ja kādu esošu mērķa failu nevar atvērt, izdzēsiet to un mēģiniet vēlreiz (šī opcija tiek novērsta, ja tiek izmantots arī karodziņš -n).
--interaktīvs, -i Tas prasa apstiprinājumu pirms pārrakstīšanas (ignorē iepriekšējo -n karogu).
-H Programmā SOURCE tas seko komandrindas simboliskajām saitēm.
--saite, -l Tas norāda cietās saites failus, nevis kopēšanu.
--atsauce, -L Vietnē SOURCE tas vienmēr seko simboliskām saitēm.
--no-klobētājs, -n Tas nepārraksta nevienu esošo failu (ignorē karogu -i).
--bez atsauces, -P Vietnē SOURCE tas nekad neseko simboliskām saitēm.
-lpp Tas ir līdzvērtīgs --preserve=mode, timestamps, property.
--konservēt[=ATTR_LIST] Tas saglabā aprakstītos atribūtus. Ja iespējams, papildu atribūti: viss, xattr, saites, konteksts.
--no-preserve=ATTR_LIST Tas nesaglabā aprakstītos atribūtus.
--vecāki Direktorijā tiek izmantots pilns avota faila nosaukums.
--rekursīvs, -r, -R Tas rekursīvi kopē direktorijus.
--reflink[=KAD] Tas kontrolē CoW / klonu kopijas.
--noņemt galamērķi Tas noņem visus esošos mērķa failus, pirms mēģināt tos atvērt (pretstatā --force).
--sparse=KAD Tas kontrolē retu failu izveidi.
--string-trailing-slashes Tas noņem visu SOURCE argumentu beigu slīpsvītras.
--simboliskā saite, -s Tas veido simboliskas saites, nevis kopē.
--sufikss=SUFFIX, -S Tas ignorē parasto rezerves sufiksu.
--target-directory=DIRECTORY, -t Tas kopē katru SOURCE argumentu uz DIRECTORY.
--no-target-directory, -T Tas uzskata DEST par vispārīgu failu.
--atjaunināt, -u Tas tiek kopēts, ja SOURCE fails ir jaunāks, salīdzinot ar mērķa failu, vai ja mērķa fails nav norādīts.
--verbose, -v Tas norāda, kas tiek darīts.
--viena faila sistēma, -x Tas paliek failu sistēmā.
-AR Tas iestata mērķa faila SELinux drošības kontekstu uz noklusējuma veidu.
--konteksts[=CTX] Tas ir tāds pats kā -Z, vai, ja tiek minēts CTX, tas iestata SMACK vai SELinux drošības kontekstu uz CTX.
-- palīdzēt Tas parāda palīdzības izvēlni un iziet.
-- versija Tas nodrošina informāciju par versiju un izejas.

Reti SOURCE faili tiek atrasti, izmantojot lētu heiristiku, un saistītais DESR fails pēc noklusējuma tiek izveidots reti. Tā ir jūsu izvēlētā uzvedība --sparse=auto . Mēs varam aprakstīt --reti=vienmēr lai izveidotu retu DEST failu, ja SOURCE fails ietver pietiekami garu nulles baitu secību. Varam arī pieteikties --sparse=nekad ierobežot retu failu izveidi.

Ja --reflink[=vienmēr] ir minēts, ieviest vieglo kopiju, kurā datu bloki ir kopēti tikai tad, ja tie ir mainīti. Ja tas nav iespējams vai --reflink=auto tiek minēts, kopija neizdodas un atgriežas pie standarta kopijas. Varam arī pieteikties --reflink=nekad lai garantētu standarta kopijas ieviešanu.

Lai kopētu failu tajā pašā direktorijā, sintakse būs

 cp 

Linux fails cp

Iepriekš redzamajā momentuzņēmumā esam izveidojuši kopiju 'docu' un nosauca to kā 'jauns' . Ja gadījumā, (mūsu gadījumā tas ir 'newdocu') jau pastāv, tad tas vienkārši pārrakstīs iepriekšējo failu.

Lai kopētu failu citā direktorijā

Mums ir jāpiemin galamērķa direktorijas ceļš.

Tālāk esošajā momentuzņēmumā agrāk nebija teksta faila. Pēc komandas došanas, 'teksts' fails ir kopēts mērķa direktorijā, kas ir 'Darbvirsma' .

Linux fails cp

Linux cp -r

Opcija 'r' ar komandu kopēt var izmantot, lai kopētu direktoriju, ieskaitot visu tā saturu, no avota direktorija uz mērķa direktoriju.

Sintakse:

 cp -r 

Piemērs:

 cp -r library /home/sssit/Documents 

Linux cp -r

Iepriekš minētajā piemērā mēs esam nokopējuši direktoriju 'bibliotēka' uz galamērķa direktoriju /home/sssit/Documents . Šeit viss 'bibliotēkas' direktorija saturs, ieskaitot tā saturu, ir kopēts mērķa direktorijā.

Linux kopēt vairākus failus vai direktorijus

Mērķa direktorijā vienlaikus var kopēt vairākus failus vai direktorijus. Šajā gadījumā mērķim ir jābūt direktorijam. Lai kopētu vairākus failus, varat izmantot aizstājējzīmes (cp *.extension), kam ir tāds pats modelis.

Sintakse:

 cp *. 

Piemērs:

 cp *.txt /home/sssit/Documents 

Linux kopēt vairākus failus

Iepriekš minētajā piemērā esam nokopējuši failus (fails1, fails2, fails3), kuriem ir vienāds paplašinājums '.txt' uz dokumentu direktoriju.

Linux cp — dublējums

Ja fails, kuru vēlaties kopēt, jau pastāv mērķa direktorijā, varat dublēt esošo failu, izmantojot šo komandu.

Sintakse:

 cp --backup 

Piemērs:

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

Linux faila cp dublējums

Kā redzat iepriekš, 'fails2.txt' jau pastāv mērķa direktorijā. Tāpēc mēs esam izveidojuši šī faila dublējumu un nokopējuši to tajā pašā direktorijā (ar tādu pašu nosaukumu).

Tagad mūsu galamērķa direktorijā, kas ir “Lejupielādes”, ir divi faili ar vienādu nosaukumu (tas ir “file2.txt”).

Linux cp -i

Opcija cp '-i' ļauj vienreiz apstiprināt pirms faila pārrakstīšanas.

Sintakse:

 cp -i 

Piemērs:

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

Linux cp -i

Kā redzat, tas prasa atļauju pārrakstīt failu 'fails3.txt' jo šis fails jau pastāv mērķa direktorijā. Tagad jūs varat nospiest un lai pārrakstītu failu un n lai nepārrakstītu failu.

Linux cp -l

Ja vēlaties izveidot faila cieto saiti, nevis kopēt šo failu, varat izmantot opciju 'l'.

Piezīme: Veidojot faila cieto saiti, abu failu inodes numurs paliks nemainīgs. Kopēšanas gadījumā mainās inodes numurs.

Sintakse:

savienojuma virkne java
 cp -l 

Piemērs:

 cp -l file1.txt usr/ 

Linux fails cp -l

Ņemiet vērā, ka esam izveidojuši faila cieto saiti 'fails1.txt' iekšā 'usr' . Inode numurs abiem failiem ir vienāds.

Linux cp -p

Opciju cp “-p” izmanto, lai saglabātu faila rekvizītus un atribūtus. Varat arī saglabāt atlasītos rekvizītus, kurus vēlaties.

Sintakse:

 cp -p 

Piemērs:

 cp -p file2.txt usr/ 

Linux cp -p

Tagad varat saskaņot divus failus (sākotnējo un kopēto) iepriekš redzamajā attēlā, abiem ir vienādas īpašības.

Linux cp -u -v

Komanda cp -u -v tiek izmantota, ja vēlaties pārliecināties, ka trūkst mērķa faila vai tas neeksistē.

Sintakse:

 cp -u -v 

Piemērs:

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

Linux cp -u -v

Augšējā attēlā var redzēt, ka ir divi faili 'duša' un 'fails1.txt' . Tagad mēs vēlamies kopēt šos divus failus direktorijā Lejupielādēt. Taču mēs nezinām, ka direktorijā “Lejupielādes” jau ir fails “file1.txt”.

Dodot komandu 'cp -u -v' automātiski parūpēsies par jau esošo failu (file1.txt) un nepārrakstīs to.

Šī komanda ir noderīga lielu failu kopēšanai.