Een directory en de inhoud ervan kopiëren in Linux

Gebruik de opdracht 'cp' om volledige mappen van de ene plaats naar de andere te kopiëren en te plakken

Het maakt niet uit welk besturingssysteem u gebruikt, het kopiëren van een bestand of een map van de ene naar de andere locatie is de meest elementaire taak die u dagelijks uitvoert. Op een drukke dag op het werk, tijdens een projectopdracht op school of tijdens de doorontwikkeling van een project is het kopiëren van bestanden van locatie A naar locatie B onvermijdelijk.

Het kopiëren van bestanden of mappen gebeurt meestal met behulp van de GUI. Linux zorgt voor uw gewoonte om op de terminal te werken door een opdrachtregelhulpprogramma te bieden waarmee u bestanden of mappen van de ene naar de andere locatie kunt kopiëren. De ... gebruiken cp commando met een verscheidenheid aan opties geeft u de vrijheid om bestanden en mappen op meerdere manieren te kopiëren.

Laat me je door dit artikel leiden, waar je meer te weten komt over de cp commando en de manieren om mappen samen met hun inhoud te kopiëren.

Opties beschikbaar met cp opdracht

Dit zijn de meest gebruikte opties bij de cp commando in de context van het kopiëren van een map en al zijn inhoud.

OptiesBeschrijving
-vuitgebreide modus (toont voortgang)
-r/Rmappen recursief kopiëren
-Noverschrijf een bestaand bestand of bestaande map niet
-Iprompt voor overschrijven

Kopieer een map van de ene locatie naar de andere

Laten we beginnen met het meest elementaire gebruik van de cp opdracht. We zullen dit commando gebruiken met de optie -R.

De ... gebruiken -R optie zorgt ervoor dat de submappen en bestanden in de map die u kopieert, ook worden gekopieerd.

Syntaxis:

cp -r [source_location] [target_location]

Voorbeeld:

Ik heb twee mappen in mijn huidige werkmap genaamd 'project' en 'workspace'.

In dit voorbeeld gebruik ik de cp -r commando om de map 'project' samen met al zijn inhoud naar een nieuwe locatie te kopiëren, bijv. '/home/gaurav/workspace'. Dit betekent simpelweg dat ik de map met de naam 'project' kopieer naar een map met de naam 'werkruimte'.

Dit is de inhoud van de directory ‘project’. De ... gebruiken ls commando om de inhoud ervan weer te geven.

gaurav@ubuntu:~/project$ ls -al totaal 288 drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 17 sep 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 17 sep 18:25 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 sep 18:25 dem2 drwxr-xr -x 2 gaurav gaurav 4096 17 sep 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 sep 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 sep 17 18:26 temp.c gaurav@ ubuntu:~/project$

Nu, met behulp van de cp -r commando kunnen we de map 'project' naar elke gewenste locatie kopiëren.

gaurav@ubuntu:~$ cp -r /home/gaurav/project /home/gaurav/werkruimte gaurav@ubuntu:~$

Uitgang:

gaurav@ubuntu:~/workspace$ ls -al totaal 408 drwxrwxr-x 4 gaurav gaurav 4096 Sep 17 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 17 sep 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22 maart 2018 .metadata drwxr-xr-x 6 gaurav gaurav 4096 17 sep 18:27 project -rw-r--r -- 1 gaurav gaurav 1535 16 sep 17:13 source.c gaurav@ubuntu:~/workspace$ 

In de bovenstaande uitvoer kunnen we zien dat de map 'project' is gekopieerd van de oorspronkelijke locatie naar deze nieuwe locatie '/home/gaurav/workspace'. Laten we nu de map 'project' openen en controleren of alle inhoud erin ook is gekopieerd.

gaurav@ubuntu:~$ cd ./workspace/project gaurav@ubuntu:~/workspace/project$

Opmerking: ik heb gebruikt ./ hier in plaats van het volledige pad in te voeren. Het betekent gewoon dat het mijn homedirectory-pad is en dat de werkruimte zich in mijn home- of huidige werkdirectory bevindt. Voor meer uitleg hierover kun je dit artikel lezen.

Uitgang:

gaurav@ubuntu:~/workspace/project$ ls -al totaal 28 drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 sep 17 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 sep 17 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 sep 17 18:27 dem2 drwxr-xr-x 2 gaurav gaurav 4096 17 sep 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 sep 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 sep 17 18:27 temp.c gaurav@ubuntu: ~/werkruimte/project$ 

Uit deze uitvoer kunnen we concluderen dat alle inhoud van de map 'project' ook naar de nieuwe locatie wordt verplaatst.

Meerdere mappen kopiëren van de ene naar de andere locatie

Om meerdere mappen te kopiëren, cp commando kan op dezelfde manier worden gebruikt als hierboven vermeld. De enige verandering hier is dat u de meerdere bronpaden van de meerdere te kopiëren mappen moet invoeren.

Syntaxis:

cp -r [bronpad_1] [bronpad_n] [bestemmingspad]

Laten we deze opdracht controleren met een voorbeeld.

Voorbeeld:

gaurav@ubuntu:~/workspace$ cp -r ./snap ./project /home/gaurav/tomcat

Hier heb ik twee mappen 'snap' en 'project' gekopieerd van mijn huidige werkmap naar een nieuwe locatie '/home/gaurav/tomcat'.

Laten we nu controleren of de mappen met hun inhoud naar de nieuwe locatie zijn gekopieerd.

gaurav@ubuntu:~/tomcat$ ls -al totaal 9316 drwxrwxr-x 5 gaurav gaurav 4096 19 september 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 19 sep 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 19 sep 12:16 project drwxr-xr-x 7 gaurav gaurav 4096 19 sep 12:16 snap

Controleren of de inhoud van deze mappen ook gekopieerd wordt.

gaurav@ubuntu:~/tomcat/snap$ ls couchdb eclipse htop pycharm-community vim-editor gaurav@ubuntu:~/tomcat/snap$ 
gaurav@ubuntu:~/tomcat/project$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/tomcat/project$

Gebruik makend van cp commando met uitgebreide modus

De ... gebruiken cp commando met de optie -v schakelt de uitgebreide modus in. Deze functie toont de bestanden op de terminal die worden gekopieerd. De naam van het bestand of de map die wordt gekopieerd, wordt weergegeven op uw terminal.

Syntaxis:

cp -vr [source_directory] [target_location_path]

Voorbeeld:

gaurav@ubuntu:~$ cp -vr ./workspace/apache ./space

In dit voorbeeld wordt de directory ‘apache’ gekopieerd naar een nieuwe map ‘space’. ik heb de gebruikt -v optie met -R, zodat alle inhoud van de apache-map ook wordt gekopieerd.

Uitgang:

'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$

De uitvoer toont de map die wordt gekopieerd. Hetzelfde proces kan worden gedaan in het geval van het kopiëren van meerdere bestanden.

Vermijd overschrijven bij gebruik cp opdracht

Soms tijdens het gebruik van de cp commando om meerdere bestanden of mappen te kopiëren, kan het zijn dat u bestanden overschrijft die al naar de nieuwe locatie zijn gekopieerd. Om dit te voorkomen is het raadzaam om de -I optie met de cp opdracht. Dit zal u vragen voordat u een bestand of map overschrijft.

Syntaxis:

cp -ri [source_directory_path] [target_location_path]

Opmerking: Hier, in de syntaxis die ik heb gebruikt -R optie ook. Hiermee wordt ook de inhoud van de mappen gekopieerd. Het zal ook controleren of een van deze submappen en bestanden in de map worden overschreven.

Voorbeeld:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: overschrijf './tomcat/snap/pycharm-community/current'?

Hier heb ik geprobeerd een map met de naam 'snap' naar een nieuwe locatie te kopiëren. Maar de mapnaam 'snap' bestaat al op de nieuwe locatie. Daarom zal ik door de terminal worden gevraagd voordat ik de bestaande snap-directory overschrijf.

Jij kan typen 'Ja' of 'Nee' als reactie op deze prompt.

In het geval, als u geen gebruik maakt van de -I optie, wordt de bestaande map overschreven door de nieuwe map.

Sla het overschrijven van bestanden en mappen over met cp opdracht

We kunnen de -N optie om de terminal direct te instrueren om nooit te overschrijven en gewoon vergelijkbare bestanden en mappen over te slaan tijdens het gebruik van de cp opdracht.

Syntaxis:

cp -nr [source_directory_path] [target_location_path]

Met dit commando weet je zeker dat je bestanden en mappen niet worden overschreven.

Voorbeeld:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat gaurav@ubuntu:~$

Hier bestaat de directory 'snap' al op de doellocatie. Daarom, met behulp van -N optie zorgt ervoor dat deze map niet wordt overschreven.

in tegenstelling tot -I optie, hier wordt u niet gevraagd naar het overschrijven.

Gevolgtrekking

De ... gebruiken cp opdracht om mappen en hun inhoud in Linux te kopiëren is een eenvoudig proces. Voor meer informatie over de cp commando met andere beschikbare opties, kunt u de handleidingpagina bekijken door te typen man cp in je Linux-terminal.