logo

Hur man kopierar filer och kataloger i Linux | cp kommando

I Linux-datorernas värld är ett vanligt och viktigt jobb att kopiera filer. Nyckelverktyget för denna uppgift är kommandot cp. I den här enkla guiden kommer vi att utforska hur man kopierar en fil i Linux, titta på de grundläggande stegen, olika val du kan göra och ge tydliga exempel. Vi tar också en titt bakom kulisserna för att förstå hur cp-kommandot fungerar. Låt oss komma igång på denna enkla resa för att bli bekanta med ins och outs för att kopiera filer i Linux!

Innehållsförteckning



Syntax för cp-kommandot

Den grundläggande syntaxen för att kopiera en fil med hjälp avcp>kommandot är som följer:

cp source_file destination>

Detta kommando skapar en kopia av ` source_file`> vid den angivna ` destination`> . Om destinationen är en katalog , kopieras filen till den katalogen.

Hur man kopierar filer i Linux medcp>Kommando

Den ` cp`> command är ett mångsidigt verktyg som används i Unix-liknande operativsystem för att kopiera filer och kataloger. Den erbjuder tre huvudsakliga driftsätt, som var och en tjänar olika syften.



1. Kopiera mellan två filer i Linux

Om ` cp`> kommandot innehåller två filnamn, det kopierar innehållet i den första filen till den andra filen. Om den andra filen inte finns skapas den och innehållet kopieras in i den. Men om den andra filen redan finns skrivs den över utan förvarning.

windows.öppna javascript
cp Src_file Dest_file>
  • Om ` Dest_file`> inte finns, den skapas.
  • Om ` Dest_file`> redan finns, den skrivs över utan någon förvarning.

Exempel 1:

  • Inledningsvis finns det bara en fil (` a.txt`> ) i katalogen.
  • Den ` cp`> kommandot används för att kopiera innehållet i ` a.txt`> till ` b.txt`> .
  • Efter att kommandot körts, båda ` a.txt`> och den nyskapade ` b.txt`> samexistera i katalogen.
cp a.txt b.txt>
Kopiera en fil i Linux

kopiera en fil i Linux



Vi använde ` ls ` kommando för att visa alla filer i den aktuella katalogen.

Exempel 2:

  • Till en början finns det två filer (` a.txt`> och ` c.txt`> ) i katalogen.
  • Den ` cp`> kommandot används för att kopiera innehållet i ` a.txt`> till ` c.txt`> .
  • Efter kommandots körning visas innehållet i ` c.txt`> skrivs över med innehållet i ` a.txt`.>
cp a.txt c.txt>
Kopiera en fil i Linux

Kopiera en fil i Linux

Vi använde ` ls ` kommando för att visa alla filer i den aktuella katalogen och använda ` katt `kommando för att visa innehållet i textfilen.

2. Kopiera filer till en katalog i Linux

Närcp>kommandot har ett eller flera källfilsargument och följs av ett destinationskatalogargument, det kopierar varje källfil till målkatalogen med samma namn. Om målkatalogen inte finns skapas den. Om det redan finns skrivs filerna över utan förvarning.

cp Src_file1 Src_file2 Src_file3 Dest_directory>

Exempel:

Anta att vi måste kopiera tre filnamn a.txt , b.txt och c.txt till ett katalognamn ny

cp a.txt b.txt c.txt new/>
Kopiera flera filer till en annan katalog

Kopiera flera filer till en annan katalog

Vi använde ` ls ` kommando för att visa alla filer i den nya katalogen för att bekräfta den lyckade kopian av filen i den katalogen.

3. Hur man kopierar kataloger i Linux

I det här läget, omcp>kommandot innehåller två katalognamn, det kopierar alla filer från källkatalogen till målkatalogen. Den ` -R`> alternativet används vanligtvis för att indikera rekursiv kopiering för kataloger.

cp -R Src_directory Dest_directory>
kopiera filer mellan två kataloger

kopiera filer mellan två kataloger

Beteendet beror på om ` Dest_directory`> finns eller inte. Om det inte finns, ` cp`> skapar den och kopierar innehållet i ` Src_directory`> rekursivt. Om ` Dest_directory`> finns, kopian av ` Src_directory`> blir en underkatalog under ` Dest_directory`>

Alternativ tillgängliga i cp Command i Linux

Det finns många alternativ cp kommando, här kommer vi att diskutera några av de användbara alternativen:

Alternativ Detalj
-jag

Interaktiv kopiering med en varning innan målfilen skrivs över.

-b

Skapar en säkerhetskopia av målfilen i samma mapp med ett annat namn och format.

-f

Tvingar fram kopiering, även om användaren saknar skrivtillstånd; tar bort destinationsfilen om det behövs.

-r eller -R

Kopierar katalogstruktur rekursivt.

-s

Bevarar filegenskaper (ändringstid, åtkomsttid, ägande, behörighetsbitar).

25 av 100
`*`

Använder jokertecknet * för att representera alla filer och kataloger som matchar ett mönster.

1. Kopiera en fil i Linux med alternativet `-i`

-i(interaktiv): i står för interaktiv kopiering. Med detta alternativ varnar systemet först användaren innan målfilen skrivs över. cp frågar efter ett svar, om du trycker och sedan skriver den över filen och lämnar den okopierad med något annat alternativ.

Grundläggande syntax:

cp -i [Source_file] [Destination_file]>

Exempel:

cp -i a.txt b.txt>
Kopiera en fil i Linux med `-i`

Kopiera en fil i Linux med `-i`

Här,

  • `ls`> kommandot visar befintliga filer: ` a.txt`> och ` b.txt`> .
  • `cat a.txt`> visar innehållet i ` a.txt`> .
  • `cat b.txt`> visar innehållet i ` b.txt`> .
  • `cp -i a.txt b.txt`> initierar en interaktiv kopia.
  • Systemet uppmanar dig att bekräfta överskrivning av` b.txt`> .
  • Användaren svarar med 'y' för att bekräfta.
  • `cat b.txt`> visar det uppdaterade innehållet, som nu matchar ` a.txt`> .

2. Kopiera en fil i Linux med alternativet `-f`

-f(kraft): Om systemet inte kan öppna målfilen för skrivoperation eftersom användaren inte har skrivbehörighet för den här filen, kan du använda -f alternativ med cp kommandot raderas destinationsfilen först och sedan kopieras innehållet från källa till destinationsfil.

Grundläggande syntax:

cp -f [Source_file] [Destination_file]>

Exempel:

cp -f a.txt b.txt>
Kopiera en fil i Linux med `-f`

Kopiera en fil i Linux med `-f`

Här,

  • `ls`> kommandot visar befintliga filer: ` a.txt`> och ` b.txt`> .
  • `cat a.txt`> visar innehållet i ` a.txt`> .
  • `cat b.txt`> visar innehållet i ` b.txt`> .
  • `cp -f a.txt b.txt`> initierar en kraftfull kopia.
  • Målfilen (b.txt) skrivs över utan uppmaning.
  • `cat b.txt`> visar det uppdaterade innehållet, som nu matchar ` a.txt`> .

3. Kopiera en fil i Linux med alternativet `-r` eller `-R`

Kopierar katalogstruktur rekursivt. Med detta alternativ cp kommandot visar dess rekursiva beteende genom att kopiera hela katalogstrukturen rekursivt.

Grundläggande syntax:

cp -r [Directory_name1] [Directory_name2]>

Exempel:

cp -r geeksforgeeks gfg>

4. Kopiera en fil i Linux med alternativet `-p`

-p(bevara): Med -s alternativ cp bevarar följande egenskaper för varje källfil i motsvarande målfil: tidpunkten för den senaste dataändringen och tiden för den senaste åtkomsten, äganderätten (endast om den har behörighet att göra detta) och filbehörighetsbitarna.

Notera: För att bevara egenskaperna måste du vara root-användare i systemet, annars förändras egenskaperna.

Grundläggande syntax:

cp -p [Source_file] [Destination_file]>

Exempel:

cp -p a.txt c.txt>

5. Kopiera en fil i Linux med alternativet `*`

Kopiera med * jokertecken: Jokertecknet stjärna representerar allt, dvs alla filer och kataloger. Anta att vi har många textdokument i en katalog och vill kopiera dem till en annan katalog, det tar mycket tid om vi kopierar filer 1 gånger 1 eller kommandot blir för långt om du anger alla dessa filnamn som argument, men genom att använda * jokertecken det blir enkelt.

Grundläggande syntax:

cp *.txt [Destination Directory or file]>

Exempel:

cp *.txt Folder1>
Kopiera en fil i Linux med `*`

Kopiera en fil i Linux med `*`

Slutsats

De 'cp'. kommando är ett viktigt verktyg som används för att kopiera filer eller grupper av filer och kataloger i Unix-liknande operativsystem. Om vi ​​talar om dess syntax tar den in minst två filnamn som argument (källa och destination). Som nämnts har kommandot tre principer: kopiering av två filnamn, kopiering av ett eller flera argument och kopiering av två katalognamn. Sedan nämner vi också de många alternativen som är tillgängliga när du använder 'cp'. kommando: `-jag` , '-b'. , `-f , `-r` , '-p'. . För att arbeta med easy i Unix-skal för filhantering bör man känna till hur det fungerar 'cp'. kommando.