Opties van het cp-commando en alles overschrijven zonder vragen | yes en backslash

Affiliatemelding v3.1
Affiliatemelding v3.2 (mobiel)
TestomgevingRHEL-familieAlmaLinux 9.8root-accountGecontroleerd op 05-10-2026

cp vraagt bij het kopiëren van meerdere bestanden voor elk bestand of het overschreven moet worden, en het werk stokt. Het commando cp is de afkorting van Copy en kopieert bestanden en mappen. Dit artikel behandelt het basisgebruik, de opties en twee manieren om alles zonder vraag te overschrijven.

Het cp-commando overschrijft een bestand met dezelfde naam op de bestemming zonder te vragen. Om dat te voorkomen is [alias cp='cp -i'] ingesteld, zodat er vóór het overschrijven om bevestiging wordt gevraagd.

✅ Basisgebruik

De basissyntaxis is als volgt.

cp -[opties] <bron: Bestand of map​> <doel: pad of Bestand of map pad​>

Schrijf eerst wat je kopieert, daarna de bestemming of de nieuwe naam.

cp-commando
# bestand > bestand kopiëren 
cp file1 file2
# bestand > in een map kopiëren
cp file1 dir1/
# 2 bestanden > in een map kopiëren
cp file1 file2 dir1/
 testuser]# cp dir1/ dir2/
cp: -r not specified; omitting directory 'dir1/'

Een map kopiëren vereist de optie -r, -R of -a.

  • -r/-R : een map en de inhoud recursief kopiëren
  • -a : recursief kopiëren met behoud van kenmerken (inclusief -r)

✅ Twee manieren om met cp alles te overschrijven

Het cp-commando vraagt [overwrite] omdat voor cp de alias [cp -i] is ingesteld.

cp -a
cp: overwrite 'messages_ori'? y
~]# alias cp
alias cp='cp -i'

Bij een of twee bestanden is dat prima, maar bij veel bestanden moet je voor elk bestand antwoorden.

In dat geval overschrijven de twee methoden hieronder zonder vraag.

yes | cp -ar /home/ ./

De eerste is [yes |] ervoor zetten: dat beantwoordt elke vraag met y, zodat het kopiëren gewoon doorgaat. De tweede is een backslash [\] voor het commando zetten: dat slaat de alias over en voert het oorspronkelijke cp-commando uit.

\cp -ar /home/ ./

✅ Opties van het cp-commando & simulator

OptieUitleg
-a--archiveKopiëren met behoud van alle rechten, eigenaar, groep en tijdstempels van het origineel[behoudt rechten, eigenaar, groep, tijdstempels en meer] + [-d : de symbolische link zelf kopiëren] + [-R : mappen recursief kopiëren]
-bBestaat het doelbestand al, maak er dan eerst een back-up van
-dIs de bron een symbolische link, kopieer dan de link zelf
-fBestaat het doelbestand, verwijder het dan geforceerd en kopieer
-i--interactiveVraagt vóór het overschrijven om bevestigingalias cp='cp -i'
-l(kleine letter)Kopiëren als harde link
-PKopieert de symbolische link zoals hij is, zonder hem te volgen
-pBehoudt eigenaar, groep, rechten en tijdstempels van het origineel
-r, -RKopieert mappen recursief (inclusief submappen en bestanden)De optie -r is geen POSIX-standaard en kan problemen geven met symbolische links en apparaatbestanden.
-sKopiëren als symbolische link (de bron moet een absoluut pad zijn)
-uNiet overschrijven als het doelbestand nieuwer of gelijk is
-vToont de voortgang van het kopiëren (verbose)Toont een melding voor elke voltooide kopie
-xKopieert niet als bron en doel op verschillende bestandssystemen staan.
Simulator van het cp-commandoalias cp='cp -i'
[root@server work]#
Hij draait alleen in je browser en raakt geen echte bestanden. Probeer verschillende cp-opties en bekijk het resultaat met ls, cat en diff. Met ↑↓ haal je eerdere commando's terug, en typ uknew help om de beschikbare commando's te zien.

🔲 -a: bestandskenmerken behouden & submappen en bestanden kopiëren

Alleen de optie [-a] is genoeg om submappen te kopiëren met behoud van de kenmerken van de originele bestanden. Sommige scripts en automatiseringstools eisen [-r] echter expliciet, dus soms wordt [-r] of [-R] er ook bij gezet.

 testuser]# cp -a dir1 dir2
 testuser]# ll dir*
dir1:
total 0
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:15 file2

dir2:
total 0
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:15 file2
 testuser]# 

[-d : de symbolische link zelf kopiëren]+[-R : mappen recursief kopiëren]+[--preserve=all]

Wat --preserve=all omvatUitleg
modeBestandsrechten (rwx enz.)
ownershipEigenaar (user) en groep (group)
timestampsTijdstempels zoals de laatste wijzigingstijd
linksAantal harde links (gedeelde inode blijft behouden)
contextSELinux-beveiligingscontext
xattrUitgebreide kenmerken (extra metadata bij het bestand)
allAfkorting die alle bovenstaande items omvat

🔲 -u: alleen nieuwe en gewijzigde bestanden kopiëren

  • Kopieert alleen als er op de bestemming geen bestand met dezelfde naam staat, of als de bron nieuwer is
  • Vaak gebruikt voor back-ups en synchronisatie
 testuser]# cp -u file1 file2
 testuser]# ll file*
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:30 file2
Linux

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.