Home
Spiekbriefje
HOWTO's NL
Kabel internet
Poortnummers
IT begrippen
Default Passwords
   
Bestanden en directory's kopiëeren met de opdracht cp


De opdracht cp wordt gebruikt om bestanden en directory's te kopiëren
Er zijn bijna veertig opties beschikbaar bij deze opdracht

We doen hier nu de meest gebruikte

Meestal zal je cp in zijn eenvoudigste vorm gebruiken:

# cp bestand1 bestand2
Met deze opdracht wordt bestand2 nieuw aangemaakt
In tegenstelling van mv blijft bestand1 nu bestaan
Toch moet je hier ook voorzichtig mee zijn want als je een bestand kopiëert en je gebruikt de naam van een bestaand bestand zal deze worden overschreven

# cat > bestand1
dit is bestand1
# cat > bestand2
dit is bestand2
# cat > bestand3
dit is bestand3
# ls -l bestand*

-rw-rw-r--
-rw-rw-r--
-rw-rw-r--
1
1
1
msa
msa
msa

msa
msa
msa

14
15
14
dec 31
dec 31
dec 31
20:31
20:31
20:31
bestand1
bestand2
bestand3
Kopiëer nu bestand1 naar bestand2 en controleer de grootte en inhoud van het bestand

#cp bestand1 bestand2
# ls -l bestand*
-rw-rw-r--
-rw-rw-r--
-rw-rw-r--
1
1
1
msa
msa
msa

msa
msa
msa

14
14
14
dec 31
dec 31
dec 31
20:31
20:35
20:31
bestand1
bestand2
bestand3
#cat bestand2
dit is bestand1
Het is nu duidelijk dat bestand2 is vervangen door bestand1
je kan dit probleem voorkomen door een van de opties -i of -b te gebruiken, die exact dezelfde functie hebben als bij de opdracht mv

# cp -i bestand1 bestand2
cp: overwrite 'bestand2' ? n
# cp -bi bestand1 bestand2
cp: overwrite 'bestand2' ? y
# ls bestand*
bestand1 bestand2 bestand2~ bestand3

Zoals je ziet is er een back-up van bestand2 gemaakt, het bestand dat werd overschreven
Met de opdracht cp kun je ook verschillende bestanden tegelijk kopiëren
In het volgende voorbeeld kopiëren we alle bestanden in directoy temdir1 naar de tempdir2:

# cp tempdir1/* tempdir2
# tree tempdir2
tempdir2
| - - temp1bestand1
| - - temp1bestand2
' - - temp1bestand3

0 directories, 3 files
Net als bij de opdracht rm kun je bij cp de optie -r (recursief) gebruiken
met deze optie kun je een complete directory naar een andere directory kopiëren
Om bijvoorbeeld tempdir1 naar tempdir2 te kopiëren gebruik je de volgende opdracht:

# cp -r tempdir1 tempdir2
# tree tempdir2
tempdir2
| - - temp1bestand1
| - - temp1bestand2
| - - temp1bestand3
' - - tempdir1
      | - - temp1bestand1
      | - - temp1bestand2
      | - - temp1bestand3

1 directory, 6 files

En de laatste optie die we behandelen is de optie -P, die lijkt op -p van de opdracht mkdir
Als je een bestand kopiëert dat zich enkele directoryniveaus diep bevindt, wordt normaal alleen het bestand zelf gekopiëerd
In het volgende voorbeeld wordtalleen temp1bestand1 naar de directory tempdir3 gekopiëerd

# tree tempdir2
tempdir2
| - - temp1bestand1
| - - temp1bestand2
| - - temp1bestand3
' - - tempdir1
      | - - temp1bestand1
      | - - temp1bestand2
      | - - temp1bestand3

1 directory, 6 files
# cp tempdir2/tempdir1/temp1bestand1 tempdir3

Mocht je echter niet alleen het bestand, maar ook de complete directorystructuur willen kopiëren

gebruik dan de optie -P

# cp -P tempdir2/tempdir1/temp1bestand1 tempdir3
# tree tempdir3
tempdir3
' - - tempdir2
      ' - - tempdir1
           ' temp1bestand1

2 directories, 1 file
Hier heeft cp niet alleen het bestand, maar ook de aangegeven directorystructuur gekopiëerd