logo

cp Kommando i Linux/Unix | Linux kopi fil

'cp' betyr kopi. 'cp'-kommandoen brukes til å kopiere en fil eller en katalog.

Introduksjon til cp Command

cp-kommandoen brukes til å kopiere kataloger og filer. Kommandoen inneholder tre primære operasjonsmoduser, representert av argumenttypene som vises til programmet for å kopiere en fil til andre filer, flere filer til en hvilken som helst katalog, eller for å kopiere hele katalogene til andre kataloger.

skrive ut stjernemønster

Videre godtar verktøyet flere kommandolinjealternativflagg for detaljering av operasjonene som er implementert. De to primære spesifikasjonene er GNU cp og POSIX cp. GNU cp inneholder forskjellige ekstra alternativer på POSIX-versjonen. Kommandoen er også tilgjengelig i EFI-skallet.

Driftsmoduser for cp-kommandoen

cp-kommandoen inneholder tre primære driftsmoduser. Disse modusene fullføres fra antallet og typen argumenter som vises til programmet under påkalling.

  • Programmet kan kopiere den første filens innhold til den andre filen, noe som gjør den andre filen hvis nødvendig når programmet inneholder to stinavnargumenter til filer.
  • Programmet kan kopiere alle kildefiler til ønsket katalog, noe som gjør enhver fil som ikke allerede er tilgjengelig når programmet inneholder ett eller flere stinavn-argumenter til filer og forfølge disse til et sti-argument til en katalog.
  • cp-kommandoen kan kopiere hver fil i kildekatalogen til ønsket katalog, slik at alle kataloger eller filer er nødvendige når argumentene til programmet er banenavnene for to kataloger. Denne operasjonsmodusen trenger et ekstra alternativflagg for å representere den rekursive katalogens kopiering. Kilden vil bli kopiert til destinasjonen, mens en ny katalog lages hvis destinasjonen ikke eksisterer hvis destinasjonskatalogen allerede er tilgjengelig.

Alternativer for cp Command

Alternativ Beskrivelse
--arkiv, -a Det tilsvarer -dR --preserve=all.
--bare attributter Den kopierer ikke dataene til filen, bare attributtene.
-b Det er som backup, men aksepterer ingen argumenter.
--backup[=CONTROL] Den lager en sikkerhetskopi av alle eksisterende destinasjonsfiler.
--kopi-innhold Når den er rekursiv, kopierer den spesielt filinnhold.
-d Det tilsvarer --no-dereference --preserve=lenker.
--kraft, -f Hvis en eksisterende destinasjonsfil ikke kan åpnes, slett den og forsøk på nytt (dette alternativet unngås hvis flagget -n også brukes).
--interaktiv, -i Den ber om bekreftelse før overskriving (overstyrer forrige -n-flagget).
-H I SOURCE følger den kommandolinjens symbolske lenker.
--link, -l Den spesifiserer hardlink-filer i stedet for kopiering.
--hensyn, -L I SOURCE følger den alltid symbolske lenker.
--no-klabber, -n Den overskriver ikke noen eksisterende fil (overstyrer -i-flagget).
--ikke-dereferens, -P I SOURCE følger den aldri symbolske lenker.
-s Det tilsvarer --preserve=modus, tidsstempler, eierskap.
--bevare[=ATTR_LIST] Den bevarer de beskrevne egenskapene. Hvis mulig ekstra attributter: alle, xattr, lenker, kontekst.
--no-preserve=ATTR_LIST Den bevarer ikke de beskrevne egenskapene.
--foreldre Under katalogen bruker den hele kildefilnavnet.
--rekursiv, -r, -R Den kopierer kataloger rekursivt.
--reflink[=NÅR] Den kontrollerer CoW/klonekopier.
--fjern-destinasjon Den fjerner alle eksisterende destinasjonsfiler før du prøver å åpne dem (i motsetning til --force).
--sparse=NÅR Den kontrollerer etableringen av sparsomme filer.
--streng-etterfølgende-skråstreker Den fjerner de etterfølgende skråstrekene fra alle SOURCE-argumenter.
--symbolsk-lenke, -s Det lager symbolske lenker i stedet for å kopiere.
--suffiks=SUFFIX, -S Den overstyrer det vanlige sikkerhetskopieringssuffikset.
--målkatalog=KATALOG, -t Den kopierer hvert SOURCE-argument til DIRECTORY.
--no-target-directory, -T Den anser DEST som en generell fil.
--oppdatering, -u Den kopierer hvis SOURCE-filen er nyere sammenlignet med destinasjonsfilen eller hvis destinasjonsfilen ikke er spesifisert.
--verbose, -v Den spesifiserer hva som gjøres.
--ett-filsystem, -x Den forblir på filsystemet.
-MED Den setter målfilens SELinux sikkerhetskontekst til standardtypen.
--kontekst[=CTX] Det er det samme som -Z, eller hvis CTX er nevnt, setter det SMACK eller SELinux sikkerhetskonteksten til CTX.
--hjelp Den viser hjelpemenyen og avslutter.
--versjon Den gir versjonsdetaljer og utganger.

De sparsomme SOURCE-filene blir funnet av en billig heuristikk, og den relaterte DESR-filen er laget sparsomt som standard. Det er atferden valgt av --sparse=auto . Vi kan beskrive --sparsom=alltid å lage en sparsom DEST-fil hvis SOURCE-filen inneholder en lang nok rekkefølge på null byte. Vi kan også søke --sparsom=aldri for å begrense etableringen av sparsomme filer.

Hvis --reflink[=alltid] nevnes, implementere en lett kopi, der datablokkene kun er kopiert hvis de er endret. Hvis det ikke er mulig eller --reflink=auto er nevnt, mislykkes kopien og faller tilbake til standardkopien. Vi kan også søke --reflink=aldri for å garantere at en standard kopi implementeres.

Å kopiere en fil til samme katalog vil syntaks være,

 cp 

Linux-fil cp

I øyeblikksbildet ovenfor har vi laget en kopi av 'docu' og kalte den som 'ny' . Hvis i tilfelle, (i vårt tilfelle er det 'newdocu') allerede eksisterer, så vil den ganske enkelt overskrive den tidligere filen.

For å kopiere en fil i en annen katalog

Vi må nevne banen til destinasjonskatalogen.

I øyeblikksbildet nedenfor, tidligere er det ingen 'tekst'-fil. Etter å ha gitt kommandoen, 'tekst' filen har blitt kopiert til målkatalogen som er 'Desktop' .

Linux-fil cp

Linux cp -r

Alternativ 'r' med kopieringskommandoen kan brukes til å kopiere en katalog inkludert alt innholdet fra en kildekatalog til målkatalogen.

Syntaks:

 cp -r 

Eksempel:

 cp -r library /home/sssit/Documents 

linux cp -r

I eksemplet ovenfor har vi kopiert katalogen 'bibliotek' til målkatalogen /home/sssit/Dokumenter . Her har alt innholdet i 'bibliotek'-katalogen inkludert innholdet blitt kopiert til målkatalogen.

Linux Kopier flere filer eller kataloger

Flere filer eller kataloger kan kopieres til en målkatalog samtidig. I dette tilfellet må målet være en katalog. For å kopiere flere filer kan du bruke jokertegn (cp *.extension) med samme mønster.

Syntaks:

 cp *. 

Eksempel:

 cp *.txt /home/sssit/Documents 

Linux kopiere flere filer

I eksemplet ovenfor har vi kopiert filer (fil1, fil2, fil3) med samme utvidelse '.tekst' til dokumentkatalogen.

Linux cp --backup

Hvis filen du vil kopiere allerede finnes i målkatalogen, kan du sikkerhetskopiere den eksisterende filen ved å bruke denne kommandoen.

Syntaks:

 cp --backup 

Eksempel:

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

Linux fil cp backup

Som du kan se ovenfor, 'fil2.txt' finnes allerede i målkatalogen. Derfor har vi laget en sikkerhetskopi av denne filen og kopiert den i samme katalog (med samme navn).

Nå har målkatalogen vår som er 'Nedlastinger' to filer med samme navn (det vil si 'fil2.txt').

Linux cp -i

Alternativet cp '-i' lar deg bekrefte én gang før du overskriver filen.

Syntaks:

 cp -i 

Eksempel:

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

Linux cp -i

Som du kan se, ber den om tillatelse til å overskrive filen 'file3.txt' siden denne filen allerede finnes i målkatalogen. Nå kan du trykke og for å overskrive fil og n ikke å overskrive filen.

greibach normal form

Linux cp -l

Hvis du ønsker å lage en hard link til en fil i stedet for å kopiere den filen, kan du bruke alternativet 'l'.

Merk: Når du oppretter en hard link til filen, vil inodenummeret til de to filene forbli det samme. Mens i tilfelle kopiering, endres inodenummer.

Syntaks:

 cp -l 

Eksempel:

 cp -l file1.txt usr/ 

Linux-fil cp -l

Merk her at vi har laget en hard link til filen 'fil1.txt' i 'usr' . Inodenummeret til begge filene er det samme.

np.sammenknytte

Linux cp -p

Alternativet cp '-p' brukes til å bevare egenskapene og attributtene til en fil. Du kan også bevare de valgte egenskapene du ønsker.

Syntaks:

 cp -p 

Eksempel:

 cp -p file2.txt usr/ 

Linux cp -p

Nå kan du matche de to filene (den originale og den kopierte) i bildet ovenfor, begge har de samme egenskapene.

Linux cp -u -v

Kommandoen cp -u -v brukes når du vil forsikre deg om at målfilen mangler eller ikke eksisterer.

Syntaks:

 cp -u -v 

Eksempel:

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

Linux cp -u -v

På bildet ovenfor kan du se at det er to filer 'dusj' og 'fil1.txt' . Nå ønsker vi å kopiere disse to filene i 'Last ned'-katalogen. Men vi vet ikke at filen 'file1.txt' allerede eksisterer i 'Nedlastinger'-katalogen.

Å gi kommandoen 'cp -u -v' vil automatisk ta vare på den allerede eksisterende filen (fil1.txt) og vil ikke overskrive den.

Denne kommandoen er nyttig for å kopiere store filer.