'cp' betyder kopi. 'cp'-kommandoen bruges til at kopiere en fil eller en mappe.
Introduktion til cp Command
Kommandoen cp bruges til at kopiere mapper og filer. Kommandoen indeholder tre primære driftstilstande, repræsenteret af argumenttyperne vist til programmet for at kopiere en fil til andre filer, flere filer til en hvilken som helst mappe eller for at kopiere hele mapper til andre mapper.
print stjernemønster
Ydermere accepterer værktøjet adskillige kommandolinjeoptionsflag til detaljering af de implementerede operationer. De to primære specifikationer er GNU cp og POSIX cp. GNU cp indeholder forskellige ekstra muligheder på POSIX-versionen. Kommandoen er også tilgængelig i EFI-skallen.
Driftstilstande for cp-kommando
cp-kommandoen indeholder tre primære driftstilstande. Disse tilstande afsluttes fra antallet og typen af argumenter, der vises til det program, der kaldes.
- Programmet kan kopiere den første fils indhold til den anden fil, hvilket gør den anden fil, hvis det er nødvendigt, når programmet indeholder to stinavnsargumenter til filer.
- Programmet kan kopiere alle kildefiler til den ønskede mappe, hvilket gør enhver fil, der ikke allerede er tilgængelig, når programmet indeholder et eller flere stinavn-argumenter for filer og forfølger dem til et sti-argument til en mappe.
- Kommandoen cp kan kopiere hver fil inde i kildebiblioteket til den ønskede mappe, hvilket gør alle mapper eller filer påkrævet, når programmets argumenter er stinavnene til to mapper. Denne driftstilstand har brug for et ekstra indstillingsflag for at repræsentere det rekursive biblioteks kopiering. Kilden vil blive kopieret til destinationen, mens der laves en ny mappe, hvis destinationen ikke eksisterer, hvis destinationsmappen allerede er tilgængelig.
Indstillinger for cp Command
Mulighed | Beskrivelse |
---|---|
--arkiv, -a | Det svarer til -dR --preserve=all. |
--kun attributter | Det kopierer ikke filens data, kun attributterne. |
-b | Det er ligesom backup, men accepterer ikke nogen argumenter. |
--backup[=CONTROL] | Den laver en sikkerhedskopi af alle eksisterende destinationsfiler. |
--kopi-indhold | Når den er rekursiv, kopierer den specielt filindhold. |
-d | Det svarer til --no-dereference --preserve=links. |
--kraft, -f | Hvis en eksisterende destinationsfil ikke kan åbnes, skal du slette den og prøve igen (denne mulighed undgås, hvis flaget -n også bruges). |
--interaktiv, -i | Den beder om bekræftelse før overskrivning (tilsidesætter det forrige -n flag). |
-H | I SOURCE følger den kommandolinjens symbolske links. |
--link, -l | Det specificerer hard link-filer i stedet for kopiering. |
--dereference, -L | I SOURCE følger den altid symbolske links. |
--no-klobber, -n | Den overskriver ikke nogen eksisterende fil (tilsidesætter flaget -i). |
--ikke-dereference, -P | I SOURCE følger den aldrig symbolske links. |
-s | Det svarer til --preserve=tilstand, tidsstempler, ejerskab. |
--bevar[=ATTR_LIST] | Det bevarer de beskrevne egenskaber. Hvis muligt ekstra attributter: alle, xattr, links, kontekst. |
--no-preserve=ATTR_LIST | Det bevarer ikke de beskrevne egenskaber. |
--forældre | Under mappen bruger den det fulde kildefilnavn. |
--rekursiv, -r, -R | Den kopierer mapper rekursivt. |
--reflink[=HVORNÅR] | Det styrer CoW/klone kopier. |
--fjern-destination | Det fjerner alle eksisterende destinationsfiler, før de forsøger at åbne dem (i modsætning til --force). |
--sparse=HVORNÅR | Det kontrollerer etableringen af sparsomme filer. |
--streng-slæb-skråstreg | Det fjerner de efterfølgende skråstreger fra alle SOURCE-argumenter. |
--symbolsk-link, -s | Det laver symbolske links i stedet for at kopiere. |
--suffix=ENDELSE, -S | Det tilsidesætter det almindelige backup-suffiks. |
--target-directory=DIRECTORY, -t | Den kopierer hvert SOURCE-argument til DIRECTORY. |
--no-target-mappe, -T | Den betragter DEST som en generel fil. |
--opdatering, -u | Den kopierer, hvis SOURCE-filen er nyere sammenlignet med destinationsfilen, eller hvis destinationsfilen ikke er angivet. |
--verbose, -v | Det specificerer, hvad der bliver gjort. |
--one-fil-system, -x | Det bliver på filsystemet. |
-MED | Den indstiller destinationsfilens SELinux sikkerhedskontekst til standardtypen. |
--kontekst[=CTX] | Det er det samme som -Z, eller hvis CTX er nævnt, sætter det SMACK eller SELinux sikkerhedskonteksten til CTX. |
--Hjælp | Den viser hjælpemenuen og afslutter. |
--version | Det giver versionsdetaljer og udgange. |
De sparsomme SOURCE-filer findes af en billig heuristik, og den relaterede DESR-fil oprettes sparsomt som standard. Det er adfærden valgt af --sparse=auto . Vi kan beskrive --sparsom=altid at lave en sparsom DEST-fil, hvis SOURCE-filen indeholder en lang nok rækkefølge på nul bytes. Vi kan også ansøge --sparsom=aldrig at begrænse etableringen af sparsomme filer.
Hvis --reflink[=altid] er nævnt, implementer en letvægtskopi, hvor datablokkene kun er blevet kopieret, hvis de er ændret. Hvis det ikke er muligt eller --reflink=auto er nævnt, fejler kopien og falder tilbage til standardkopien. Vi kan også ansøge --reflink=aldrig for at sikre, at en standardkopi er implementeret.
At kopiere en fil til den samme mappe vil syntaks være,
cp
I ovenstående snapshot har vi lavet en kopi af 'docu' og kaldte den som 'ny' . Hvis i tilfælde, (i vores tilfælde er det 'newdocu') allerede eksisterer, så vil den simpelthen overskrive den tidligere fil.
For at kopiere en fil i en anden mappe
Vi skal nævne stien til destinationsmappen.
I snapshot nedenfor er der tidligere ingen 'tekst'-fil. Efter at have givet kommandoen, 'tekst' filen er blevet kopieret til destinationsmappen, dvs 'Desktop' .
Linux cp -r
Mulighed 'r' med kommandoen kopier kan bruges til at kopiere en mappe inklusive alt dens indhold fra en kildemappe til destinationsmappen.
Syntaks:
cp -r
Eksempel:
cp -r library /home/sssit/Documents
I ovenstående eksempel har vi kopieret mappe 'bibliotek' til destinationsbiblioteket /home/sssit/Dokumenter . Her er alt indholdet af 'bibliotek'-biblioteket inklusive dets indhold blevet kopieret til destinationsbiblioteket.
Linux Kopier flere filer eller mapper
Flere filer eller mapper kan kopieres til en destinationsmappe på én gang. I dette tilfælde skal målet være en mappe. For at kopiere flere filer kan du bruge jokertegn (cp *.extension) med samme mønster.
Syntaks:
cp *.
Eksempel:
cp *.txt /home/sssit/Documents
I ovenstående eksempel har vi kopieret filer (fil1, fil2, fil3) med samme udvidelse '.txt' til dokumentbiblioteket.
Linux cp --backup
Hvis den fil, du vil kopiere, allerede findes i destinationsmappen, kan du sikkerhedskopiere din eksisterende fil ved at bruge denne kommando.
Syntaks:
cp --backup
Eksempel:
cp --backup file2.txt /home/sssit/Downloads
Som du kan se ovenfor, 'fil2.txt' findes allerede i destinationsbiblioteket. Derfor har vi lavet en sikkerhedskopi af denne fil og kopieret den i samme mappe (med samme navn).
Nu har vores destinationsmappe, der er 'Downloads', to filer med samme navn (det er 'fil2.txt').
Linux cp -i
Indstillingen cp '-i' giver dig mulighed for at bekræfte én gang, før du overskriver din fil.
Syntaks:
cp -i
Eksempel:
cp -i file3.txt /home/sssit/Desktop
Som du kan se, beder den om tilladelse til at overskrive filen 'fil3.txt' da denne fil allerede findes i destinationsmappen. Nu kan du trykke på og at overskrive fil og n ikke at overskrive filen.
java samling
Linux cp -l
Hvis du vil oprette et hårdt link til en fil i stedet for at kopiere den fil, kan du bruge muligheden 'l'.
Bemærk: Ved oprettelse af et hårdt link til filen vil inodenummeret på de to filer forblive det samme. I tilfælde af kopiering ændres inodenummeret.
Syntaks:
cp -l
Eksempel:
cp -l file1.txt usr/
Bemærk her, at vi har oprettet et hårdt link til filen 'fil1.txt' i 'usr' . Inodenummeret på begge filer er det samme.
np.sum
Linux cp -p
Indstillingen cp '-p' bruges til at bevare en fils egenskaber og attributter. Du kan også bevare de valgte egenskaber, som du ønsker.
Syntaks:
cp -p
Eksempel:
cp -p file2.txt usr/
Nu kan du matche de to filer (den originale og den kopierede) på ovenstående billede, begge har de samme egenskaber.
Linux cp -u -v
Kommandoen cp -u -v bruges, når du vil sikre dig, at destinationsfilen mangler eller ikke eksisterer.
Syntaks:
cp -u -v
Eksempel:
cp -u -v docc file1.txt /home/sssit/Downloads/
På ovenstående billede kan du se, at der er to filer 'bruser' og 'fil1.txt' . Nu vil vi kopiere disse to filer i 'Download'-mappen. Men vi ved ikke, at filen 'file1.txt' allerede eksisterer i mappen 'Downloads'.
Giver kommandoen 'cp -u -v' vil automatisk tage sig af den allerede eksisterende fil (file1.txt) og vil ikke overskrive den.
Denne kommando er nyttig til at kopiere store filer.