Android

Hoe bestanden en mappen te kopiëren in Linux

Bestanden en mappen in de CLI | Linux

Bestanden en mappen in de CLI | Linux

Inhoudsopgave:

Anonim

Het kopiëren van bestanden en mappen is een van de meest voorkomende taken die u uitvoert wanneer u op de opdrachtregel werkt. In Linux zijn er verschillende opdrachten voor het kopiëren van bestanden, waarbij cp en rsync de meest gebruikte tools zijn.

Het is gebruikelijk om de opdracht cp gebruiken bij het kopiëren van bestanden en de opdracht rsync bij het kopiëren van mappen.

Om bestanden en mappen te kunnen kopiëren, moet u ten minste leesrechten op het bronbestand hebben en schrijfrechten op de doelmap.

Bestanden kopiëren met de opdracht cp

Op Linux- en Unix-besturingssystemen wordt de opdracht cp gebruikt voor het kopiëren van bestanden en mappen.

De meest eenvoudige use case is om een ​​bestand naar de huidige werkmap te kopiëren. Als u bijvoorbeeld een bestand met de naam file.txt naar het bestand file_backup.txt in de huidige map wilt kopiëren, voert u de volgende opdracht uit:

cp file.txt file_backup.txt

Als het doelbestand bestaat, wordt het overschreven. Gebruik de optie -i om een ​​bevestigingsprompt te krijgen voordat u de bestanden overschrijft.

cp -i file.txt file_backup.txt

Wanneer u de opdracht cp om een ​​bestand te kopiëren, is het nieuwe bestand standaard eigendom van de gebruiker die de opdracht uitvoert. Gebruik de optie -p om de bestandsmodus, het eigendom en de tijdstempels te behouden:

cp -p file.txt file_backup.txt

Een andere optie die nuttig kan zijn, is -v . Wanneer u deze optie gebruikt, drukt de opdracht af wat er wordt gedaan:

cp -v file.txt file_backup.txt

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

Kopieer een bestand naar een map

Om een ​​bestand naar een map te kopiëren, geeft u het absolute of relatieve pad naar de map op. Als de doelmap wordt weggelaten, wordt het bestand naar de huidige map gekopieerd.

In het volgende voorbeeld kopiëren we het bestand file.txt naar de map /backup :

cp file.txt /backup

Wanneer u alleen de mapnaam als bestemming opgeeft, heeft het gekopieerde bestand dezelfde naam als het oorspronkelijke bestand.

cp file.txt /backup/new_file.txt

De bovenstaande opdracht kopieert het bestand naar de opgegeven map als new_file.txt .

Kopieer meerdere bestanden

Om meerdere bestanden en mappen tegelijk te kopiëren, geeft u de namen van bronbestanden en mappen op, gevolgd door de doelmap als laatste argument:

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

Bij het kopiëren van meerdere bestanden moet de bestemming een map zijn.

Met de opdracht cp kunt u ook patroonovereenkomst gebruiken. Als u bijvoorbeeld alle .png bestanden van de huidige map naar de map /backup wilt kopiëren, gebruikt u:

cp *.png /backup

Directories kopiëren met cp Command

Gebruik de optie -R of -r om een ​​map te kopiëren, inclusief alle bestanden en submappen. In het volgende voorbeeld kopiëren we de map Pictures naar Pictures_backup :

cp -R Pictures Pictures_backup

De bovenstaande opdracht maakt de doelmap en kopieert recursief alle bestanden en submappen van de bron naar de doelmap.

Als de doelmap al bestaat, worden de bronmap zelf en alle inhoud ervan gekopieerd naar de doelmap. Gebruik de optie -T om alleen de bestanden en submappen te kopiëren, maar niet de -T :

cp -RT Pictures Pictures_backup

De opties die worden gebruikt bij het kopiëren van bestanden kunnen ook worden gebruikt bij het kopiëren van een map. Het belangrijkste verschil is dat u bij het kopiëren van mappen de optie -R gebruiken.

Bestanden en rsync kopiëren met de opdracht rsync

rsync is een snel en veelzijdig opdrachtregelhulpprogramma dat bestanden en mappen tussen twee locaties synchroniseert. Het kan worden gebruikt om bestanden naar lokale en externe locaties te kopiëren.

rsync bevat een aantal opties die elk aspect van zijn gedrag regelen. De handigste optie is -a die mappen recursief kopieert, speciale en blokkeer apparaten overbrengt, symbolische koppelingen, aanpassingstijden, groep, eigendom en machtigingen bewaart.

Voer de volgende opdracht uit om een ​​enkel bestand van de ene naar de andere locatie te kopiëren:

rsync -a file.txt file_backup.txt

Als het doelbestand bestaat, zal rsync het overschrijven.

Dezelfde opdracht kan worden gebruikt om een ​​map te kopiëren:

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

rsync bedreigt de bronmappen die eindigen met een slash / anders. Als u een slash toevoegt aan de bronmap, kopieert de opdracht alleen de inhoud van de bronmap naar de doelmap. Wanneer de volgende schuine streep wordt weggelaten, kopieert rsync naar de doelmap. De veiligste optie is om altijd de slash / op zowel de bestemming als de bron op te nemen.

Lees de volgende artikelen voor meer informatie over rsync :

Conclusie

In deze gids hebben we u laten zien hoe u bestanden en mappen in Linux- en Unix-systemen kunt kopiëren met behulp van de hulpprogramma's cp en rsync .

cp rsync-terminal