Terug naar hoofdinhoud

Linux commando: cp

08 juli 2026

Een bestand kopieren voelt als het gewoonste wat je op een computer kunt doen. Je typt cp, het oude bestand, de nieuwe naam, en drukt op Enter. Klaar. Maar dat rustige commandootje verbergt een paar van de scherpste randjes in Linux: het kan je werk stilletjes overschrijven, het behandelt het kopieren van een map als een speciaal geval waar je expliciet om moet vragen, en op een modern bestandssysteem kan het een bestand van 10 GB in een fractie van een seconde kopieren zonder extra schijfruimte te gebruiken. cp goed leren is leren hoe Linux over bestanden denkt.

1. De basis

De taak van cp is om een bestand te kopieren: het leest de bytes van een bron en schrijft een onafhankelijke kopie naar een bestemming. Het origineel blijft precies waar het was, onaangeroerd. Daarna heb je twee losse bestanden die toevallig dezelfde inhoud bevatten maar hun eigen leven leiden; verander het ene en het andere beweegt niet mee.

Die onafhankelijkheid is het hele punt, en het is wat cp onderscheidt van zijn neefje mv. Wanneer je een bestand verplaatst binnen hetzelfde bestandssysteem, wordt er helemaal niets gekopieerd; alleen de naam verandert. Wanneer je een bestand kopieert, worden de gegevens echt opnieuw gelezen en geschreven, dus een kopie van een groot bestand kost echte tijd en echte ruimte. Houd dat verschil in gedachten; het verklaart bijna alles wat cp doet.

Het commando leest van links naar rechts: het laatste argument is de bestemming, en alles daarvoor is een bron.

$ cp report.txt report-backup.txt

Het commando dat iedereen op dag een leert. Achter die twee letters schuilt een verrassende hoeveelheid zorg over wat "een kopie" echt betekent: rechten, tijdstempels, symbolische links, mappen, en of het oude bestand op de bestemming blijft bestaan.

Dit artikel begint met de eenvoudigst mogelijke kopie en bouwt op naar het kopieren van hele mapbomen, het behouden van metadata, backups maken in plaats van overschrijven, en de copy-on-write-truc die enorme kopieen bijna onmiddellijk laat voelen. Aan het einde weet je niet alleen hoe je een bestand kopieert, maar precies wanneer cp er een gaat vernietigen.

Het juiste denkmodel: cp maakt een tweede, onafhankelijk bestand. Het origineel is veilig; het gevaar zit altijd bij de bestemming, want standaard overschrijft cp alles wat daar al staat, zonder een woord.

Naar boven

2. Waar komt de naam vandaan?

De naam cp is simpelweg een afkorting van copy (kopieren). Deze keer zit er geen verborgen betekenis in; de twee letters zijn de eerste twee medeklinkers van het woord.

cp  =  CoPy

Zoals de meeste vroege Unix-commando's werd de naam bewust tot het absolute minimum teruggebracht. Het vroege Unix werd getypt op trage teletype-terminals die elk teken op papier afdrukten, dus korte namen bespaarden zowel typtijd als papier. Daarom is het commando cp en niet copy. Diezelfde reflex gaf ons mv (move), rm (remove) en ls (list): een hele woordenschat van werkwoorden van twee letters.

Als je ooit naar Windows overstapt, let dan op dat de shell daar het vollere woord copy gebruikt. De Unix-gewoonte van korte namen is een historische vingerafdruk, geen natuurwet.

Naar boven

3. Een korte geschiedenis

Het commando cp is een van de originele Unix-gereedschappen. Het werd geleverd met Unix 1st Edition bij Bell Labs in 1971, naast cat, mv en rm, en is sindsdien aanwezig op elk Unix-achtig systeem: Linux, macOS, de BSD's, Solaris en AIX. Het kernidee, "lees een bestand en schrijf het weg onder een nieuwe naam", is in ruim vijftig jaar niet veranderd.

Wat wel is veranderd, is wat er onder de motorkap gebeurt. Decennialang was cp een simpele lus die een blok bytes las en het weer wegschreef. Moderne versies zijn veel slimmer: ze kunnen de kernel vragen om gegevens te kopieren zonder ze door het programma te slepen, ze kunnen lange reeksen nullen herkennen en overslaan (sparse-bestanden), en op sommige bestandssystemen delen ze gegevensblokken tussen de bron en de kopie totdat een van beide verandert.

PeriodeMijlpaal
1971 cp verschijnt in Unix 1st Edition bij Bell Labs
Jaren 80 BSD en System V voegen recursief kopieren en behoud van metadata toe
Jaren 90 GNU coreutils cp wordt de standaardversie op Linux
2011 GNU cp krijgt --reflink voor copy-on-write-klonen (Btrfs, later XFS)
2021 coreutils 9.0 gebruikt automatisch reflink-kopieen wanneer het bestandssysteem het ondersteunt

Er zijn twee families die je in de praktijk tegenkomt. De meeste Linux-systemen draaien de GNU coreutils-versie van cp. macOS en de BSD's leveren de BSD-versie. Ze zijn het eens over de alledaagse opties zoals -r, -i, -p en -f. De verschillen zitten in de extra's: GNU voegt lange opties toe (bijvoorbeeld --preserve, --parents en --reflink) die BSD anders spelt of mist. Dit artikel gebruikt de GNU-versie, die je op vrijwel elke Linux-server vindt.

Naar boven

4. Eenvoudige toepassingen

4.1 De eenvoudigst mogelijke kopie

Geef cp een bron en een bestemmingsnaam, en het maakt een kopie onder die naam. In de voorbeelden hieronder is de regel die met $ begint wat je typt; een commando dat niets afdrukt, is gewoon geslaagd, wat de normale Unix-manier is om "alles goed" te zeggen.

$ cp notes.txt notes-copy.txt
$ ls
notes.txt  notes-copy.txt

Je hebt nu twee onafhankelijke bestanden. Als je notes-copy.txt bewerkt, blijft notes.txt precies zoals het was.

4.2 Kopieren naar een map

Als de bestemming een bestaande map is, zet cp de kopie erin en behoudt de oorspronkelijke bestandsnaam. Dit is het meest voorkomende dagelijkse gebruik: een bestand in een map laten vallen.

$ cp report.txt /home/peter/backups/
$ ls /home/peter/backups/
report.txt

De afsluitende schuine streep op backups/ is een goede gewoonte: het maakt je bedoeling duidelijk en, als je de mapnaam verkeerd typt, faalt cp luid in plaats van stilletjes een bestand met de naam backups aan te maken.

4.3 Meerdere bestanden tegelijk kopieren

Wanneer je meer dan twee argumenten geeft, behandelt cp het laatste als een bestemmingsmap en kopieert het elk bestand ervoor naar die map. Hier telt de regel "het laatste argument is de bestemming" echt.

$ cp index.html style.css script.js /var/www/site/

Alle drie de bestanden komen in /var/www/site/ terecht. Als dat laatste argument geen bestaande map is, weigert cp en drukt het een foutmelding af, wat een handig vangnet is.

4.4 Een hele map kopieren: -r

Standaard weigert cp een map te kopieren. Dat verrast nieuwelingen, maar het is bewust: een map kopieren betekent alles erin kopieren, mogelijk duizenden bestanden, dus cp laat je er expres om vragen. De optie -r (kort voor recursive, recursief) geeft toestemming om in de map af te dalen en de hele boom te kopieren.

$ cp project project-backup
cp: -r not specified; omitting directory 'project'

$ cp -r project project-backup
$ ls
project  project-backup

De naam "recursief" beschrijft het mechanisme: cp gaat de map binnen, kopieert elk bestand, en telkens wanneer het een andere map tegenkomt, herhaalt het dezelfde stappen daarbinnen, helemaal naar beneden. Je ziet ook -R; voor dagelijks gebruik zijn de twee gelijk, en ze verschillen alleen in zeldzame randgevallen met speciale bestanden.

Een enkel bestand kopieren is de makkelijke helft. Zodra er een map bij komt kijken, verandert cp van karakter: het heeft -r nodig, en of de bestemming al bestaat verandert stilletjes waar je bestanden terechtkomen. Sectie 6 komt terug op die valkuil.

Naar boven

5. Gematigde toepassingen

5.1 Niet stilletjes overschrijven: -i en -n

Standaard overschrijft cp een bestaand bestemmingsbestand zonder waarschuwing. Als report-backup.txt al iets belangrijks bevat, wist een onvoorzichtige kopie het uit. Twee opties maken cp voorzichtiger.

De optie -i (kort voor interactive, interactief) vraagt het voordat het overschrijft, zodat je een fout kunt tegenhouden:

$ cp -i new.txt report-backup.txt
cp: overwrite 'report-backup.txt'? n

De optie -n (kort voor no-clobber, niet-overschrijven) is de stille versie: het slaat elk bestand over dat al bestaat en vraagt nooit, wat handig is in scripts waar je alleen ontbrekende bestanden wilt aanvullen.

$ cp -n new.txt report-backup.txt      # existing file is left untouched

5.2 Zien wat er gebeurt: -v

De optie -v (kort voor verbose, uitgebreid) drukt een regel per gekopieerd bestand af. Bij een grote recursieve kopie verandert dit een stille, verontrustende pauze in een zichtbare lijst met voortgang.

$ cp -rv photos /backup/
'photos/2023' -> '/backup/photos/2023'
'photos/2023/beach.jpg' -> '/backup/photos/2023/beach.jpg'
'photos/2024/city.jpg' -> '/backup/photos/2024/city.jpg'

5.3 De metadata behouden: -p

Een gewone kopie is een nieuw bestand. Het krijgt een verse wijzigingstijd (nu) en neemt zijn rechten over van je huidige instellingen, niet van het origineel. Meestal is dat prima. Voor backups en systeembestanden niet: vaak wil je dat de kopie de rechten, eigenaar en tijdstempels van het origineel behoudt. De optie -p (kort voor preserve, behouden) doet precies dat.

$ cp file.conf copy.conf          # copy has a new timestamp and default mode
$ cp -p file.conf copy-kept.conf  # copy keeps mode, owner, and times

Je kunt om meer of minder vragen met de lange vorm --preserve=, waarbij je kiest uit mode, ownership, timestamps, links en all:

$ cp --preserve=timestamps a.log b.log   # keep only the times

5.4 De archief-snelkoppeling: -a

Wanneer je een mapboom kopieert die symbolische links, speciale rechten en bestanden bevat die je precies zo wilt laten, is het uittypen van elke behoud-optie omslachtig. De optie -a (kort voor archive, archief) bundelt de juiste standaardinstellingen: het is hetzelfde als -dR --preserve=all. Het kopieert recursief, behoudt elk attribuut, en verandert symbolische links niet in echte bestanden.

$ cp -a /etc/nginx /root/nginx-backup   # a faithful, complete copy

"Elk attribuut" betekent meer dan mode, eigenaar en tijdstempels. --preserve=all (en dus -a) probeert ook de uitgebreide attributen (xattr), ACL's en de SELinux-beveiligingscontext te behouden, voor zover het bestemmingsbestandssysteem ze ondersteunt. Die dekking is de reden dat cp -a het dichtst bij "maak een exacte kopie van deze boom" komt, en waarom het de juiste keuze is om een map onveranderd te backuppen.

Er zit wel een grens aan. cp behoudt wat het lokale bestandssysteem begrijpt; kopieren naar een bestandssysteem of een andere machine die rechten anders behandelt, kan een deel van die metadata stilletjes laten vallen. Voor getrouwe kopieen tussen Linux-systemen grijpen veel beheerders nog steeds naar rsync (met -a) of tar, waar sectie 7 op terugkomt.

Naar boven

6. Gevorderde toepassingen

6.1 De mapvalkuil: bestemming bestaat wel of niet

Dit is het meest verwarrende aan cp -r, en het overkomt iedereen minstens een keer. Wanneer je een map kopieert, hangt het resultaat ervan af of de bestemming al bestaat.

$ cp -r src dst        # dst does NOT exist: dst becomes a copy of src
$ cp -r src dst        # dst DOES exist:     src is copied INSIDE dst
                       #                     giving dst/src

Voer hetzelfde commando twee keer uit en je krijgt twee verschillende indelingen. De eerste keer maakt dst aan als een kopie van src. De tweede keer plaatst het, omdat dst nu bestaat, een kopie van src binnen die map, wat dst/src oplevert. Om alleen de inhoud van een map naar een andere te kopieren, benoem je de inhoud expliciet:

$ cp -r src/. dst/     # copy what is inside src into dst, no extra level

De vorm src/. betekent "de inhoud van src", waarmee je de hele bestaat-of-niet-vraag omzeilt. Wanneer een backupscript op mysterieuze wijze backup/backup/backup produceert, is deze regel bijna altijd de oorzaak.

6.2 Backups in plaats van overschrijven: -b

Soms wil je een bestand overschrijven maar de oude versie voor de zekerheid bewaren. De optie -b (kort voor backup) hernoemt het bestaande bestemmingsbestand uit de weg voordat het nieuwe wordt geschreven, en voegt standaard een ~ aan de naam toe.

$ cp -b new.conf app.conf
$ ls
app.conf  app.conf~          # the old app.conf is now app.conf~

Met --backup=numbered krijg je app.conf.~1~, app.conf.~2~, enzovoort, zodat herhaalde kopieen nooit een eerdere versie verliezen. Dit is een lichte veiligheidsgewoonte voor het met de hand bewerken van configuratiebestanden.

6.3 Paden herbouwen: --parents

De optie --parents herbouwt het volledige mappad van de bron onder de bestemming. Het is onmisbaar wanneer je verspreide bestanden wilt kopieren met behoud van hun mapstructuur.

$ cp --parents src/config/app.ini /backup/
$ ls /backup/
src                          # the full src/config/ path is rebuilt
$ ls /backup/src/config/
app.ini

In plaats van app.ini rechtstreeks in /backup/ te dumpen, herbouwt cp src/config/ eronder. Zo blijft een set gekopieerde bestanden precies zo geordend als ze waren.

Twee opties laten cp links maken in plaats van echte kopieen, wat ruimte bespaart wanneer je geen echt onafhankelijke tweede kopie nodig hebt.

OptieKort voorWat het maakt
-l link Een harde link: een tweede naam voor dezelfde gegevens op schijf
-s symbolic-link Een symlink: een klein verwijzingsbestand dat het oorspronkelijke pad benoemt

Een harde link (-l) is helemaal geen kopie; het is een andere naam voor dezelfde bytes, dus het gebruikt geen extra ruimte en bewerken via een van beide namen verandert het ene onderliggende bestand. Een symbolische link (-s) is een klein wegwijzertje dat via het pad naar het origineel wijst, en het breekt als het origineel wegverhuist. Geen van beide is een backup, want er is nog steeds maar een echte kopie van de gegevens.

Wanneer een bron zelf een symbolische link is, moet cp beslissen: kopieer de link, of kopieer het bestand waar hij naar wijst? De optie -L (kort voor dereference, dereferentieren) volgt de link en kopieert het echte bestand. De optie -P (kort voor no-dereference, niet-dereferentieren) kopieert de link zelf, zodat er een link in de bestemming achterblijft. Met -a krijg je het gedrag van -P, wat meestal juist is voor getrouwe backups.

Naar boven

7. Iets wat de meeste gebruikers niet weten

Hier komt het echt verrassende deel. Op een modern copy-on-write-bestandssysteem zoals Btrfs of XFS hoeft cp de gegevens helemaal niet te dupliceren. Met --reflink maakt het een kopie die dezelfde gegevensblokken deelt als het origineel. De twee bestanden zien er volledig onafhankelijk uit, maar op schijf wijzen ze naar dezelfde bytes totdat een van beide wordt gewijzigd. Pas dan, en alleen voor de blokken die daadwerkelijk veranderen, worden er nieuwe gegevens geschreven. Dit heet copy-on-write.

$ cp --reflink=always huge.img huge-copy.img   # near-instant, uses ~0 extra space

Een virtuele-machine-image van 10 GB op deze manier kopieren is in een fractie van een seconde klaar en voegt bijna niets toe aan je schijfgebruik. Sinds coreutils 9.0 (2021) probeert GNU cp automatisch een reflink (--reflink=auto) en valt het stilletjes terug op een gewone kopie op bestandssystemen die het niet aankunnen, dus op het juiste bestandssysteem krijg je dit misschien al gratis. macOS met APFS ondersteunt dezelfde copy-on-write-truc.

Een reflink-kopie is geen link en geen snapshot: het is een echt, apart bestand dat toevallig opslag deelt totdat je het bewerkt. Het geeft je de veiligheid van een kopie met de snelheid en ruimte van een link.

7.2 cp leest en schrijft; mv doet vaak geen van beide

Mensen behandelen cp en mv als een bijeenhorend paar, maar onder de motorkap zijn ze heel verschillend. Binnen een enkel bestandssysteem verandert mv alleen een naam in een map; de gegevens bewegen nooit, en daarom is een enorm bestand verplaatsen onmiddellijk. cp leest altijd elke byte van de bron en schrijft die weer weg, dus datzelfde enorme bestand kopieren kost echte tijd en verdubbelt de gebruikte ruimte. Zodra mv naar een ander bestandssysteem gaat, kan het echter niet gewoon hernoemen, dus valt het terug op het kopieren van de gegevens en daarna het verwijderen van het origineel, wat precies is wat cp doet plus een rm.

Daarom laat een kopie het origineel op zijn plaats en een verplaatsing niet, en daarom kan een onderbroken mv tussen schijven gevaarlijker zijn dan een onderbroken cp.

7.3 Er is geen ongedaan maken, en de bron is niet altijd veilig

Het beroemde gevaar van cp zit bij de bestemming: cp a b vernietigt wat b ook was, zonder bevestiging en zonder prullenbak. Er is geen ongedaan maken. Maar er is een subtielere valkuil. Een bestand op zichzelf kopieren wordt opgemerkt en geweigerd:

$ cp a a
cp: 'a' and 'a' are the same file

Toch kan de shell dat voor cp verbergen. Een glob zoals cp * backup.txt in een map waar backup.txt al onder * valt, kan de bestemming als bron meesturen, en gecombineerd met andere bestanden is het resultaat zelden wat je bedoelde. Wanneer je met jokertekens kopieert, kijk dan goed naar wat de * daadwerkelijk uitbreidt.

7.4 Onder de motorkap: wat "kopieren" echt kost

Een traditionele cp is een kleine lus: open() de bron, open() (of maak) de bestemming, lees dan herhaaldelijk een blok bytes met read() en schrijf het weg met write() tot het einde van het bestand, en close() ten slotte beide. Moderne cp verbetert dit op drie manieren die het weten waard zijn.

TechniekWat het doet
Sparse-detectie (--sparse) Merkt lange reeksen nullen op en slaat het schrijven ervan over, zodat een grotendeels leeg bestand (zoals een VM-schijfimage) klein kopieert
copy_file_range() Vraagt de kernel om de gegevens rechtstreeks te kopieren, zonder ze door het programma te trekken
Reflink (copy-on-write) Deelt gegevensblokken met de bron totdat een bestand verandert

Je hoeft niets hiervan met de hand aan te vragen; GNU cp kiest de snelste veilige methode voor het bestandssysteem waarop je zit. De sparse-afhandeling staat standaard op --sparse=auto, maar je kunt het forceren met --sparse=always of uitschakelen met --sparse=never. De les is dat "kopieer dit bestand" niet een vaste bewerking is. Wat het kost aan tijd en ruimte hangt af van het bestandssysteem onder je voeten.

7.5 Weten waar cp stopt

Een deel van expertise is weten wanneer een ander gereedschap beter past. cp is perfect voor een eenmalige, lokale kopie. Daarbuiten nemen anderen het over.

BehoefteGebruikWaarom
Mappen synchroniseren, alleen gewijzigde delen rsync Kopieert alleen de verschillen en kan hervatten; ideaal voor herhaalde backups
Kopieren naar een andere machine scp / rsync Kopieert over het netwerk met SSH
Verplaatsen binnen een bestandssysteem mv Hernoemt onmiddellijk in plaats van gegevens te dupliceren
Een boom in een bestand bundelen tar Behoudt de hele structuur en metadata als een enkel archief
Een hele schijf of partitie klonen dd Kopieert ruwe blokken, inclusief het bestandssysteem zelf, niet alleen de bestanden erin

Leer toch eerst cp. Het staat op elke machine waarop je ooit zult inloggen, ook op een reddingsshell, en alles wat rsync en tar doen is gebouwd op hetzelfde idee van een bron lezen en een getrouwe kopie schrijven.

Naar boven

8. Beste werkwijzen

  • Ga ervan uit dat de bestemming wordt overschreven. Vraag je voor cp a b af wat b nu bevat. Er is geen ongedaan maken. Gebruik -i als je met de hand werkt en het niet zeker weet.
  • Gebruik -a om een map te backuppen. Het kopieert recursief en behoudt rechten, tijdstempels en symbolische links, die een gewone cp -r stilletjes kan veranderen.
  • Let op de mapvalkuil. Bij cp -r src dst verschilt het resultaat afhankelijk van of dst bestaat. Gebruik src/. als je "de inhoud van src" bedoelt.
  • Zet een afsluitende schuine streep op een bestemmingsmap. cp file dir/ faalt luid als dir ontbreekt, in plaats van stilletjes een bestand met de naam dir te maken.
  • Verkies rsync voor alles wat je herhaalt. Voor backups die je meer dan eens uitvoert, kopieert rsync alleen wat er is veranderd en kan het hervatten na een onderbreking.
  • Grijp zonder aarzelen naar de handleiding. De gewoonte die beginners van professionals onderscheidt, is man cp typen op het moment dat er een vraag opkomt.
$ man cp                            # the full manual page
$ cp --help                         # a quick flag summary (GNU)
$ info coreutils 'cp invocation'    # the verbose GNU manual
Naar boven

9. Veelgemaakte fouten

9.1 Drie veelvoorkomende mythes

MytheWerkelijkheid
"cp vraagt het voordat het overschrijft." Nee. Standaard overschrijft het stilletjes. Voeg -i of -n toe voor de veiligheid.
"cp -p behoudt alles." Kale -p behoudt mode, eigenaar en tijdstempels, maar geen symlinks-als-links. Gebruik -a voor een getrouwe boom.
"Een groot bestand kopieren kost altijd veel ruimte." Op Btrfs of XFS deelt een reflink-kopie blokken en gebruikt bijna niets totdat je de kopie bewerkt.

9.2 Andere valkuilen om te vermijden

  • Overschrijven zonder het te merken. cp new important vernietigt important zonder waarschuwing. Er is geen prullenbak en geen ongedaan maken.
  • Vergeten van -r voor een map. cp dir dst faalt met "omitting directory". Voeg -r toe, en let dan op de bestaat-of-niet-regel.
  • De dubbele-nesting-verrassing. cp -r src dst een tweede keer uitvoeren levert dst/src op, niet nog een dst. Gebruik src/. om de inhoud te kopieren.
  • Rechten verliezen op systeembestanden. Een gewone kopie van een config of script krijgt je standaard-mode en een nieuw tijdstempel. Gebruik -p of -a wanneer dat telt.
  • Een kopie op dezelfde schijf als backup vertrouwen. Als de schijf faalt, gaan beide bestanden samen. Een echte backup staat op aparte opslag.
Naar boven

10. Samenvatting

Het commando cp lijkt triviaal, maar het is een heldere les in hoe Linux over bestanden, opslag en metadata denkt.

  • cp is kort voor "copy". Het leest een bron en schrijft een onafhankelijke kopie; het origineel is veilig, maar de bestemming wordt zonder waarschuwing overschreven.
  • Het stamt uit Unix in 1971 en draait vandaag op elk Unix-achtig systeem, al is wat het onder de motorkap doet veel slimmer geworden.
  • Het laatste argument is de bestemming. Kopieren naar een bestaande map behoudt de bestandsnaam; meerdere bestanden kopieren vereist dat het laatste argument een map is.
  • Mappen hebben -r (recursief) nodig. Of de bestemming al bestaat verandert waar de bestanden terechtkomen; gebruik src/. om de inhoud te kopieren.
  • -i vraagt het voor het overschrijven, -n slaat bestaande bestanden over, -v toont voortgang, -b bewaart een backup van het oude bestand.
  • -p behoudt mode, eigenaar en tijdstempels; -a is de archief-snelkoppeling voor een getrouwe mapboom, inclusief symbolische links.
  • -l maakt een harde link en -s een symlink in plaats van een echte kopie; geen van beide is een backup, want de gegevens bestaan nog maar een keer.
  • Op Btrfs of XFS maakt --reflink een copy-on-write-kopie die bijna onmiddellijk is en blokken deelt totdat een bestand verandert.
  • Weet waar cp stopt: rsync voor herhaalde of externe kopieen, mv om binnen een bestandssysteem te verplaatsen, en tar om een boom te bundelen.
  • Bij twijfel, typ man cp.

Dit is de snelle referentie die het bewaren waard is:

cp a b               copy file a to b (overwrites b silently)
cp a b c dir/        copy several files into a directory
cp -r dir dst        copy a directory tree
cp -r src/. dst/     copy the CONTENTS of src into dst
cp -i a b            ask before overwriting b
cp -n a b            skip b if it already exists
cp -p a b            keep mode, owner, and timestamps
cp -a dir dst        faithful copy: recursive, all attributes, links kept
cp -b a b            back up the old b as b~ before overwriting
cp --parents s/f d/  rebuild the source path under d/
cp --reflink=auto a b  copy-on-write copy where the filesystem allows

Kleine commando's zoals cp verbergen een verrassende hoeveelheid van hoe Linux is gebouwd, en een enkele onvoorzichtige kopie kan uren werk ongedaan maken. Als je servers ertoe doen en je wilt ze laten backuppen en onderhouden door iemand die begrijpt wat er echt onder de motorkap gebeurt, dan is dat precies het soort werk waar ik graag bij help.

Naar boven
Linux commando: cp
Peter Martin
Peter Martin
Joomla Specialist

Peter is Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.