| 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 |
|
|
|
|