Android

Hur man kopierar filer och kataloger i Linux

Linux video hur man installerar exe filer i linux

Linux video hur man installerar exe filer i linux

Innehållsförteckning:

Anonim

Kopiering av filer och kataloger är en av de vanligaste uppgifterna du kommer att utföra när du arbetar på kommandoraden. I Linux finns det flera kommandon för att kopiera filer med cp och rsync som de mest använda verktygen.

Det är vanligt att använda cp kommandot när du kopierar filer och rsync kommandot när du kopierar kataloger.

För att kunna kopiera filer och kataloger måste du åtminstone ha läsbehörigheter i källfilen och skriva tillstånd i destinationskatalogen.

Kopiera filer med cp kommandot

På operativsystem Linux och Unix används cp kommandot för att kopiera filer och kataloger.

Det mest enkla användningsfallet är att kopiera en fil i den aktuella arbetsmapp. Om du till exempel file_backup.txt kopiera en fil med namnet file.txt till fil med namnet file_backup.txt i den aktuella katalogen, kör du följande kommando:

cp file.txt file_backup.txt

Om destinationsfilen finns skrivs den över. För att få en bekräftelseförfrågan innan du skriver över filerna använder du alternativet -i .

cp -i file.txt file_backup.txt

När du använder cp kommandot för att kopiera en fil kommer den som standard att ägas av användaren som utför kommandot. Använd alternativet -p att bevara filläget, ägande och tidsstämplar:

cp -p file.txt file_backup.txt

Ett annat alternativ som kan vara användbart är -v . När du använder det här alternativet skriver kommandot ut vad som görs:

cp -v file.txt file_backup.txt

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

Kopiera en fil till en katalog

Om du vill kopiera en fil till en katalog anger du den absoluta eller relativa sökvägen till katalogen. Om destinationskatalogen utelämnas kopieras filen till den aktuella katalogen.

I följande exempel kopierar vi filen file.txt till /backup katalogen:

cp file.txt /backup

När du bara anger katalognamnet som destination har den kopierade filen samma namn som originalfilen.

cp file.txt /backup/new_file.txt

Kommandot ovan kopierar filen till den angivna katalogen som new_file.txt .

Kopiera flera filer

För att kopiera flera filer och kataloger på en gång anger du namnen på källfiler och kataloger följt med destinationskatalogen som det sista argumentet:

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

Vid kopiering av flera filer måste destinationen vara en katalog.

Med cp-kommandot kan du också använda mönstermatchning. Om du till exempel vill kopiera alla .png filer från den aktuella katalogen till /backup katalogen använder du:

cp *.png /backup

Kopiera kataloger med cp kommando

Om du vill kopiera en katalog, inklusive alla dess filer och underkataloger, använder du alternativet -R eller -r . I följande exempel kopierar vi katalogen Pictures till Pictures_backup :

cp -R Pictures Pictures_backup

Kommandot ovan skapar destinationskatalogen och kopierar rekursivt alla filer och underkataloger från källan till destinationskatalogen.

Om destinationskatalogen redan finns kopieras själva källkatalogen och allt dess innehåll till destinationskatalogen. För att kopiera bara filer och underkataloger men inte -T använder -T alternativet -T :

cp -RT Pictures Pictures_backup

Alternativen som används vid kopiering av filer kan också användas vid kopiering av katalog. Den största skillnaden är att när du kopierar kataloger, måste du använda alternativet -R .

Kopiera filer och kataloger med rsync kommandot

rsync är ett snabbt och mångsidigt kommandoradsverktyg som synkroniserar filer och kataloger mellan två platser. Det kan användas för att kopiera filer till lokala och avlägsna platser.

rsync innehåller ett antal alternativ som styr alla aspekter av dess beteende. Det mest användbara alternativet är -a som kopierar kataloger rekursivt, överför special- och blockeringsenheter, bevarar symboliska länkar, ändringstider, grupp, äganderätt och behörigheter.

Om du vill kopiera en enda fil från en till en annan plats kör du följande kommando:

rsync -a file.txt file_backup.txt

Om destinationsfilen finns, kommer rsync att skriva över den.

Samma kommando kan användas för att kopiera en katalog:

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

rsync hotar källkatalogerna som slutar med en slash / annorlunda. Om du lägger till en släta snedstreck i källkatalogen kopierar kommandot endast källkatalogens innehåll till destinationskatalogen. När den bakre snedstrecken utelämnas kopierar rsync källkatalogen i destinationskatalogen. Det säkraste alternativet är att alltid inkludera släten / på både destinationen och källan.

För att lära dig mer om rsync kolla följande artiklar:

Slutsats

I den här guiden har vi visat dig hur du kopierar filer och kataloger i Linux- och Unix-baserade system med hjälp av cp och rsync verktygen.

cp rsync terminal