Vi har kört kommandona och exemplen som nämns i den här artikeln på ett Debian 10 Buster-system men du kan replikera dem på nästan alla Linux-distros.
Linux-kommandoraden, Terminal, kan lätt nås via applikationen. Launcher-sökning enligt följande:
Exempel 1: Kopiera en enda fil till en målkatalog
Den enklaste användningen av cp-kommandot är att kopiera en enda källfil till en målkatalog. Här är syntaxen du kan använda för att göra det:
$ cp källfil / mål / katalogExempel:
I det här exemplet kopierar jag en fil med namnet sample_file.txt till min dokumentmapp:
Senare verifierade jag närvaron av filen i målmappen via ls-kommandot.
Exempel 2: Kopiera flera filer till en målkatalog
Med cp-kommandot kan du kopiera flera filer till en målkatalog med hjälp av följande syntax:
$ cp sourcefile1 sourcefile2 sourcefile3… / target / katalogExempel:
I det här exemplet kopierar jag två exempelfiler till min dokumentmapp via cp-kommandot:
Senare verifierade jag närvaron av dessa filer i målmappen genom kommandot ls.
Exempel 3: Kopiering av filer på ett interaktivt sätt
Om det finns en fil med samma namn i målmappen kan du använda cp-kommandot för att fråga dig innan du skriver över målfilen. Du kan använda omkopplaren -i på följande sätt:
$ cp -i källfil / mål / katalogExempel:
I det här exemplet en fil med namnet sample_file.txt finns redan i min dokumentmapp, därför uppmanar cp-kommandot med -i-flaggan om jag vill skriva över det. Filen skrivs över om jag skriver in y vid denna fråga.
Exempel 4: Kopiera filer tillsammans med en utförlig utdata
En utförlig utskrift skriver ut vad kommandot gör. Detta kan införlivas i cp-kommandot med -v-omkopplaren enligt följande:
$ cp -v källfil / mål / katalogExempel:
Du kan se i följande exempel hur cp-kommandot skriver ut en utförlig utgång när du kopierar ett kommando:
Exempel 5: Kopiera en katalog rekursivt
Med alternativet -r med cp-kommandot kopieras alla filer och mappar i en katalog rekursivt till en annan plats. Så här kan du använda cp-kommandot i det här scenariot:
$ cp -r katalog1 katalog2Exempel:
I följande exempel kopieras hela mappen 1 med alla dess filer till mappen2.
Senare verifierade jag innehållet i folder2 genom kommandot ls. Mappen2 innehåller en kopia av källmappen nu.
Exempel 6: Kopiera en katalog rekursivt medan du arkiverar
Genom att använda -a-omkopplaren med cp-kommandot kan du göra två saker samtidigt:
- Kopiera filer från en katalog rekursivt till en annan katalog
- Håll behörigheterna, tidsstämpeln, symboliska länkar och alla sådana egenskaper intakta när du kopierar filer.
Så här kan du använda cp-kommandot i det här scenariot:
$ cp -a katalog1 katalog2Exempel:
I följande exempel kopieras hela mappen 1 med alla dess filer till mappen2. Filerna kommer också att arkiveras som verifieras senare via kommandot 'ls -l'.
Exempel 7: Kopiera en fil om den är nyare än målfilen
Ibland vill du bara kopiera en fil till målkatalogen om den är nyare än målfilen. Detta kan göras genom att använda -u-omkopplaren med cp-kommandot:
$ cp -u sourcefileORsourcedirectory / target / katalogExempel:
I det här exemplet redigerade jag en fil sample_file.txt från min källmapp. Dessa filer kopierades redan till målmappen innan jag redigerade filen. Detta kan ses i följande utdata från kommandot 'ls -l':
När jag nu kopierade källmappen till målmappen verifierade den detaljerade utdata att endast den filen kommer att kopieras som redigerades av mig.
Exempel 8: Kopiera en fil men skriv inte över om det redan finns en målfil
Du kan be cp-kommandot att inte skriva över filen om den redan finns på målplatsen. Detta kan göras med -n-omkopplaren enligt följande:
$ cp -n källfil / mål / katalogExempel:
I det här exemplet försökte jag först kopiera en fil till målplatsen där den redan fanns. Växeln -i uppmanade mig om jag vill skriva över den.
I det andra kommandot lade jag till -n-omkopplaren. Den ignorerade -i-omkopplaren men skrev inte över den redan existerande filen i målkatalogen.
Exempel 9: Skapa en symbolisk länk till en fil i målkatalogen
Med växeln -s i cp-kommandot kan du skapa en symbolisk länk till källfilen i målmappen istället för att kopiera källfilen.
$ cp -s källfil / mål / katalogExempel:
I följande exempel skapade jag en symbolisk länk till filen sample_file.txt i målmappen.
Senare verifierade jag närvaron av den symboliska länken i målmappen genom kommandot 'ls -l'.
Exempel 10: Skapa en hård länk till en fil i målkatalogen
När du skapar en hård länk till en fil i en annan mapp kopieras inte filen till målmappen. istället skapas en hård länk till källfilen. Inodnumret för både källfilen och den kopierade hårda länken är densamma. Så här skapar du en hård länk:
$ cp -l källfil / mål / katalogExempel:
I det här exemplet skapade jag en hård länk till källfilen i mappen Dokument.
Genom kommandot 'ls -il' verifierade jag att både originalfilen och den hårda länken har samma inodnummer.
Detta var allt du behövde veta för att behärska cp-kommandot i Linux. Genom att använda en kombination av dessa växlade kan du göra filkopiering mycket mer anpassningsbar.