'cp' betyder kopia. 'cp'-kommandot används för att kopiera en fil eller en katalog.
Introduktion till cp Command
Kommandot cp används för att kopiera kataloger och filer. Kommandot innehåller tre primära driftlägen, representerade av argumenttyperna som visas för programmet för att kopiera en fil till andra filer, flera filer till vilken katalog som helst eller för att kopiera hela katalogerna till andra kataloger.
Vidare accepterar verktyget flera kommandoradsalternativflaggor för att detaljera de implementerade operationerna. De två primära specifikationerna är GNU cp och POSIX cp. GNU cp innehåller olika extra alternativ på POSIX-versionen. Kommandot är också tillgängligt i EFI-skalet.
Driftlägen för cp-kommandot
Kommandot cp innehåller tre primära driftlägen. Dessa lägen slutförs från antalet och typen av argument som visas för programmet som anropas.
java loopar
- Programmet kan kopiera den första filens innehåll till den andra filen, vilket gör den andra filen om nödvändigt när programmet innehåller två sökvägsargument till filer.
- Programmet kan kopiera alla källfiler till önskad katalog, vilket gör vilken fil som helst som inte redan är tillgänglig när programmet innehåller ett eller flera sökvägsargument för filer och förföljer dem till ett sökvägsargument till en katalog.
- Kommandot cp kan kopiera varje fil i källkatalogen till den önskade katalogen, vilket gör att alla kataloger eller filer krävs när programmets argument är sökvägsnamnen för två kataloger. Detta driftläge behöver en extra alternativflagga för att representera den rekursiva katalogens kopiering. Källan kommer att kopieras till destinationen, medan en ny katalog skapas om destinationen inte finns om destinationskatalogen redan är tillgänglig.
Alternativ för cp Command
Alternativ | Beskrivning |
---|---|
--arkiv, -a | Det är ekvivalent med -dR --bevara=allt. |
--Endast attribut | Den kopierar inte filens data, bara attributen. |
-b | Det är som backup men accepterar inga argument. |
--backup[=CONTROL] | Den gör en säkerhetskopia av alla befintliga målfiler. |
--kopia-innehåll | När den är rekursiv kopierar den specialfilinnehåll. |
-d | Det motsvarar --no-dereference --preserve=länkar. |
--kraft, -f | Om någon befintlig målfil inte kan öppnas, ta bort den och försök igen (det här alternativet undviks om flaggan -n också används). |
--interaktiv, -i | Den ber om bekräftelse innan den skrivs över (åsidosätter den tidigare flaggan -n). |
-H | I SOURCE följer den kommandoradens symboliska länkar. |
--länk, -l | Den anger hårda länkfiler snarare än kopiering. |
--föraktsamhet, -L | I SOURCE följer den alltid symboliska länkar. |
--no-klobber, -n | Den skriver inte över någon befintlig fil (återsätter flaggan -i). |
--no-dereference, -P | I SOURCE följer den aldrig symboliska länkar. |
-s | Det motsvarar --preserve=läge, tidsstämplar, ägande. |
--bevara[=ATTR_LIST] | Den bevarar de beskrivna attributen. Om möjligt extra attribut: alla, xattr, länkar, sammanhang. |
--no-preserve=ATTR_LIST | Det bevarar inte de beskrivna attributen. |
--föräldrar | Under katalogen använder den hela källfilens namn. |
--rekursiv, -r, -R | Den kopierar kataloger rekursivt. |
--reflink[=NÄR] | Den kontrollerar CoW/klonkopior. |
--ta bort-destination | Den tar bort alla befintliga målfiler innan de försöker öppna dem (i motsats till --force). |
--sparse=NÄR | Den kontrollerar upprättandet av glesa filer. |
--sträng-släp-snedstreck | Det tar bort de avslutande snedstreck från alla SOURCE-argument. |
--symbolisk-länk, -s | Det gör symboliska länkar snarare än att kopiera. |
--suffix=SUFFIX, -S | Det åsidosätter det vanliga säkerhetskopieringssuffixet. |
--target-directory=DIRECTORY, -t | Den kopierar varje SOURCE-argument till DIRECTORY. |
--no-target-directory, -T | Den betraktar DEST som en allmän fil. |
--uppdatering, -u | Den kopierar om SOURCE-filen är nyare jämfört med destinationsfilen eller om destinationsfilen inte är specificerad. |
--verbose, -v | Den anger vad som görs. |
--ett-filsystem, -x | Det stannar i filsystemet. |
-MED | Den ställer in målfilens SELinux säkerhetskontext till standardtypen. |
--kontext[=CTX] | Det är samma som -Z, eller om CTX nämns ställer det in SMACK eller SELinux säkerhetskontext till CTX. |
--hjälp | Den visar hjälpmenyn och avslutar. |
--version | Det ger versionsdetaljer och utgångar. |
De glesa SOURCE-filerna hittas av en billig heuristik, och den relaterade DESR-filen skapas gles som standard. Det är beteendet som valts av --sparse=auto . Vi kan beskriva --glesa=alltid att göra en gles DEST-fil om SOURCE-filen innehåller en tillräckligt lång ordning på noll byte. Vi kan också ansöka --glesa=aldrig för att begränsa upprättandet av glesa filer.
Om --reflink[=alltid] nämns, implementera en lättviktskopia, där datablocken har kopierats endast om de ändrats. Om det inte är möjligt eller --reflink=auto nämns, misslyckas kopian och faller tillbaka till standardkopian. Vi kan också ansöka --reflink=aldrig för att garantera en standardkopia implementeras.
Att kopiera en fil till samma katalogsyntax kommer att vara,
cp
I ögonblicksbilden ovan har vi skapat en kopia av 'docu' och döpte den till 'ny' . Om i fallet, (i vårt fall är det 'newdocu') redan existerar, då kommer den helt enkelt att överskriva den tidigare filen.
För att kopiera en fil i en annan katalog
Vi måste nämna sökvägen till destinationskatalogen.
I ögonblicksbilden nedan, tidigare finns det ingen 'text'-fil. Efter att ha gett kommandot, 'text' filen har kopierats till målkatalogen dvs 'Skrivbord' .
Linux cp -r
Alternativ 'r' med kommandot kopiera kan användas för att kopiera en katalog inklusive allt dess innehåll från en källkatalog till målkatalogen.
Syntax:
cp -r
Exempel:
cp -r library /home/sssit/Documents
I exemplet ovan har vi kopierat katalogen 'bibliotek' till målkatalogen /home/sssit/Dokument . Här har allt innehåll i 'bibliotek'-katalogen inklusive dess innehåll kopierats till målkatalogen.
Linux Kopiera flera filer eller kataloger
Flera filer eller kataloger kan kopieras till en målkatalog samtidigt. I det här fallet måste målet vara en katalog. För att kopiera flera filer kan du använda jokertecken (cp *.extension) med samma mönster.
alfabet till siffror
Syntax:
cp *.
Exempel:
cp *.txt /home/sssit/Documents
I exemplet ovan har vi kopierat filer (fil1, fil2, fil3) med samma tillägg '.Text' till dokumentkatalogen.
Linux cp --backup
Om filen du vill kopiera redan finns i målkatalogen kan du säkerhetskopiera din befintliga fil med hjälp av detta kommando.
Syntax:
cp --backup
Exempel:
cp --backup file2.txt /home/sssit/Downloads
Som du kan se ovan, 'fil2.txt' finns redan i målkatalogen. Därför har vi skapat en säkerhetskopia av den här filen och kopierat den i samma katalog (med samma namn).
Nu har vår destinationskatalog som är 'Nedladdningar' två filer med samma namn (det vill säga 'fil2.txt').
Linux cp -i
Alternativet cp '-i' låter dig bekräfta en gång innan du skriver över din fil.
hur många städer finns i USA
Syntax:
cp -i
Exempel:
cp -i file3.txt /home/sssit/Desktop
Som du kan se ber den om tillåtelse att överskriva filen 'file3.txt' eftersom denna fil redan finns i målkatalogen. Nu kan du trycka och för att skriva över filen och n att inte skriva över filen.
Linux cp -l
Om du vill skapa en hård länk till en fil istället för att kopiera den filen, kan du använda alternativet 'l'.
Notera: När du skapar en hård länk för filen kommer inodnumret för de två filerna att förbli detsamma. Vid kopiering ändras inodnumret.
Syntax:
cp -l
Exempel:
cp -l file1.txt usr/
Notera här att vi har skapat en hård länk till filen 'fil1.txt' i 'usr' . Inodnumret för båda filerna är samma.
Linux cp -p
Alternativet cp '-p' används för att bevara egenskaperna och attributen för en fil. Du kan också bevara de markerade egenskaperna som du vill.
Syntax:
cp -p
Exempel:
cp -p file2.txt usr/
Nu kan du matcha de två filerna (den ursprungliga och den kopierade) i bilden ovan, båda har samma egenskaper.
Linux cp -u -v
Kommandot cp -u -v används när du vill se till att målfilen saknas eller inte finns.
Syntax:
Charat i sträng
cp -u -v
Exempel:
cp -u -v docc file1.txt /home/sssit/Downloads/
På bilden ovan kan du se att det finns två filer 'dusch' och 'fil1.txt' . Nu vill vi kopiera dessa två filer i katalogen 'Ladda ner'. Men vi vet inte att filen 'file1.txt' redan finns i katalogen 'Nedladdningar'.
Ge kommandot 'cp -u -v' kommer automatiskt att ta hand om den redan befintliga filen (file1.txt) och kommer inte att överskriva den.
Detta kommando är användbart för att kopiera stora filer.