Hur man kopierar kataloger/mappar i Linux via kommandoraden!
Det finns olika kommandon i Linux operativsystem för att kopiera en mapp. Kommandot cp hjälper dig att göra det. För att organisera filer på din server behöver du kopiera. Med kommandot cp kan du kopiera en katalog och en hel underkatalog med dess innehåll och allt under den. cp och rsync är ett av de mest populära kommandona för att kopiera filer och kataloger.
I den här handledningen kommer vi att förklara hur du kopierar mappen i operativsystemet Linux.
Grundläggande syntax för cp-kommandot
cp-kommandot används för att kopiera filer eller kataloger i Linux. Det skapar en exakt kopia av en fil på en disk med ett annat namn.
Den grundläggande syntaxen för cp-kommandot visas nedan:
cp Source Destination
cp Source-1 Source-2 Source-3 Destination
Du bör se alla alternativ som är tillgängliga med cp-kommandot genom att köra följande kommando:
cp --help
Du bör se följande skärm:
Kopiera kataloger med kommandot cp
Om du vill kopiera en katalog, inklusive alla dess filer och underkataloger, använder du alternativet -R eller -r med kommandot cp.
Kopiera till exempel katalogen /etc till katalogen /opt med följande kommando:
cp -R /etc /opt/
Ovanstående kommando kommer att skapa en målkatalog och kopiera alla filer och underkataloger rekursivt till katalogen /opt.
Om målkatalogen redan finns och du bara vill kopiera filerna och underkatalogerna men inte målkatalogerna, kör cp-kommandot med -T-alternativet enligt nedan:
cp -RT /etc /opt/
Om du vill behålla de angivna attributen, t.ex. äganderätt, tidsstämplar, kontext och länkar, kör cp-kommandot med -a-alternativet enligt nedan:
cp -aR /etc /opt/
Om du vill visa utdata under kopieringsprocessen använder du -v-alternativet med cp-kommandot:
cp -avR /etc /opt/
Du bör se utdata enligt nedan:
Om du bara vill kopiera innehållet i katalogen /etc till /opt måste du ange jokertecknet star enligt nedan:
cp -avR /etc/* /opt/
Om du vill kopiera flera kataloger som /etc och /var till /opt-katalogen kör du följande kommando:
cp -avR /etc /var /opt/
Observera: För att kopiera kataloger måste du ha läsbehörighet på källkatalogen och skrivbehörighet på målkatalogen.
Kopiering av kataloger med kommandot rsync
rsync är ett avancerat verktyg för filkopiering som gör det möjligt att kopiera kataloger från en lokal till en avlägsen plats.
Den grundläggande syntaxen för rsync-kommandot visas nedan:
rsync SOURCE DESTINATION
Du kan se alla alternativ som är tillgängliga med rsync-kommandot enligt nedan:
rsync --help
Du bör se följande skärm:
För att kopiera katalogen /etc till /opt kör du följande kommando:
rsync -a /etc /opt
I ovanstående kommando kopierar alternativet -a en katalog med alla dess behörigheter och annan information, inklusive rekursiv kopia. Om målkatalogen finns kommer rsync att skriva över den.
Om du bara vill kopiera innehållet i katalogen /etc sätter du ett avslutande snedstreck / i slutet av /etc:
rsync -a /etc/ /opt
Du kan använda rsync med -v-alternativet för att visa verbose-utmatningen som visas nedan:
rsync -av /etc /opt
Du bör få se följande skärm:
Om du vill visa framstegen under kopieringsprocessen kör du rsync med alternativet -P enligt nedan:
rsync -avP /etc /opt
Du kan också använda alternativet -z med rsync-kommandot för att komprimera fildata under överföringen:
rsync -avz /etc /opt
Om du vill utesluta en viss katalog från källan kör du följande kommando:
rsync -a --exclude 'directoryname' /opt/
För att utesluta flera kataloger kör du följande kommando:
rsync -a --exclude {'directory1', 'directory2', 'directory3'} /opt/
Om du vill kopiera flera kataloger till /opt, kör följande kommando:
rsync -a /etc /usr /opt/
Slutsats
I ovanstående handledning har vi lärt oss hur man kopierar en katalog med kommandona cp och rsync. För mer information kan du besöka den officiella dokumentationen för Rsync på Rsync Doc.