Android

Hvordan kopiere filer og kataloger i Linux

Linux Tutorial for Beginners: Introduction to Linux Operating System

Linux Tutorial for Beginners: Introduction to Linux Operating System

Innholdsfortegnelse:

Anonim

Kopiering av filer og kataloger er en av de vanligste oppgavene du utfører når du jobber på kommandolinjen. I Linux er det flere kommandoer for å kopiere filer med cp og rsync som de mest brukte verktøyene.

Det er en vanlig praksis å bruke cp kommandoen når du kopierer filer og rsync kommandoen når du kopierer kataloger.

For å kunne kopiere filer og kataloger, må du minst ha lesetillatelser på kildefilen og skrive tillatelse i destinasjonskatalogen.

Kopiere filer med cp kommandoen

På operativsystemene Linux og Unix brukes cp kommandoen til å kopiere filer og kataloger.

Den mest enkle brukssaken er å kopiere en fil i den gjeldende arbeidskatalogen. For å kopiere en fil som heter file.txt til fil som heter file_backup.txt i den gjeldende katalogen, kjører du følgende kommando:

cp file.txt file_backup.txt

Hvis destinasjonsfilen eksisterer, blir den overskrevet. Bruk alternativet -i å få en bekreftelsesmelding før du overskriver filene.

cp -i file.txt file_backup.txt

Når du bruker cp kommandoen til å kopiere en fil, vil den som standard eies av brukeren som utfører kommandoen. Bruk alternativet -p for å bevare filmodus, eierskap og tidsstempler:

cp -p file.txt file_backup.txt

Et annet alternativ som kan være nyttig er -v . Når du bruker dette alternativet, skriver kommandoen ut hva som blir gjort:

cp -v file.txt file_backup.txt

'file.txt' -> 'file_backup.txt'

Kopier en fil til en katalog

Hvis du vil kopiere en fil til en katalog, angir du den absolutte eller relative banen til katalogen. Hvis destinasjonskatalogen er utelatt, kopieres filen til gjeldende katalog.

I eksemplet file.txt kopierer vi filen file.txt til /backup katalogen:

cp file.txt /backup

Når du bare spesifiserer katalognavnet som destinasjon, vil den kopierte filen ha samme navn som originalfilen.

cp file.txt /backup/new_file.txt

Kommandoen over vil kopiere filen til den spesifiserte katalogen som new_file.txt .

Kopier flere filer

Hvis du vil kopiere flere filer og kataloger samtidig, angir du navnene på kildefiler og kataloger fulgt med destinasjonskatalogen som det siste argumentet:

cp file.txt dir file1.txt file2.txt dir1

Når du kopierer flere filer, må destinasjonen være en katalog.

Cp-kommandoen lar deg også bruke mønstermatching. For å kopiere alle .png filer fra den gjeldende katalogen til /backup katalogen, bruker du for eksempel:

cp *.png /backup

Kopierer kataloger med cp Command

Hvis du vil kopiere en katalog, inkludert alle filer og underkataloger, bruker du alternativet -R eller -r . I eksemplet nedenfor kopierer vi katalogen Pictures til Pictures_backup :

cp -R Pictures Pictures_backup

Kommandoen over vil opprette destinasjonskatalogen og kopiere rekursivt alle filer og underkataloger fra kilden til destinasjonskatalogen.

Hvis destinasjonskatalogen allerede eksisterer, vil selve kildekatalogen og alt innholdet bli kopiert til destinasjonskatalogen. For å kopiere bare filene og underkatalogene, men ikke målkatalogene, bruker du alternativet -T :

cp -RT Pictures Pictures_backup

Alternativene som brukes når du kopierer filer, kan også brukes når du kopierer katalog. Hovedforskjellen er at når du kopierer kataloger, må du bruke alternativet -R .

Kopiere filer og kataloger med rsync kommandoen

rsync er et raskt og allsidig kommandolinjeverktøy som synkroniserer filer og kataloger mellom to steder. Den kan brukes til å kopiere filer til lokale og eksterne steder.

rsync inneholder en rekke alternativer som kontrollerer alle aspekter av atferden. Det mest nyttige alternativet er -a som kopierer kataloger rekursivt, overfører spesielle og blokkerer enheter, bevarer symboliske lenker, endringstider, gruppe, eierskap og tillatelser.

Hvis du vil kopiere en enkelt fil fra ett til et annet sted, kjører du følgende kommando:

rsync -a file.txt file_backup.txt

Hvis destinasjonsfilen eksisterer, vil rsync overskrive den.

Den samme kommandoen kan brukes til å kopiere en katalog:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync truer kildekatalogene som ender med en etterfølgende skråstrek / annerledes. Hvis du legger til en etterfølgende skråstrek i kildekatalogen, kopierer kommandoen bare kildekatalogens innhold til destinasjonskatalogen. Når den etterfølgende skråstrek er utelatt, vil rsync kopiere kildekatalogen i destinasjonskatalogen. Det sikreste alternativet er å alltid inkludere etterfølgende skråstrek / på både destinasjonen og kilden.

For å lære mer om rsync sjekk følgende artikler:

Konklusjon

I denne guiden har vi vist deg hvordan du kopierer filer og kataloger i Linux og Unix-baserte systemer ved å bruke cp og rsync verktøyene.

cp rsync terminal