Linux cp: Optionen und Überschreiben ohne Rückfrage | yes und \ (Backslash)

Affiliate-Hinweis v3.1
Affiliate-Hinweis v3.2 (mobil)
TestumgebungRHEL-FamilieAlmaLinux 9.8root-KontoGeprüft am 2026-10-05

cp fragt beim Kopieren mehrerer Dateien bei jeder einzelnen nach, ob sie überschrieben werden soll, und die Arbeit stockt. Der Befehl cp steht für Copy und kopiert Dateien und Verzeichnisse; dieser Beitrag zeigt die Grundlagen, die Optionen und zwei Wege, alles ohne Rückfrage zu überschreiben.

Der Befehl cp überschreibt eine gleichnamige Datei am Ziel, ohne zu fragen. Um das zu verhindern, ist [alias cp=’cp -i’] gesetzt, sodass vor dem Überschreiben eine Bestätigung kommt.

✅ Grundlegende Verwendung

Die grundlegende Syntax sieht so aus.

cp -[Optionen] <Zu kopierende Datei oder Verzeichnis​> <Zielpfad ​ oder Datei oder Verzeichnis (Pfad)​>

Zuerst schreibst du, was kopiert werden soll, dahinter das Ziel oder den neuen Namen.

cp-Befehl
# Datei > Datei kopieren 
cp file1 file2
# Datei > in ein Verzeichnis kopieren
cp file1 dir1/
# 2 Dateien > in ein Verzeichnis kopieren
cp file1 file2 dir1/
 testuser]# cp dir1/ dir2/
cp: -r not specified; omitting directory 'dir1/'

Zum Kopieren von Verzeichnissen brauchst du die Option -r oder -R oder -a.

  • -r/-R : Verzeichnis samt Inhalt rekursiv kopieren
  • -a : rekursiv kopieren und Attribute erhalten (enthält -r)

✅ Zwei Wege, mit cp alles zu überschreiben

Beim Ausführen von cp kommt die Frage [overwrite], weil für cp der Alias [cp -i] gesetzt ist.

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

Bei ein, zwei Dateien ist das kein Problem, aber bei vielen Dateien musst du für jede einzeln antworten.

Mit den beiden Wegen unten überschreibst du dann ohne Rückfrage.

yes | cp -ar /home/ ./

Beim ersten setzt du [yes |] davor; jede Rückfrage wird automatisch mit y beantwortet, und die Kopie läuft durch. Beim zweiten setzt du einen Backslash [\] vor den Befehl; dann wird der Alias übergangen und der ursprüngliche cp-Befehl ausgeführt.

\cp -ar /home/ ./

✅ Optionen des cp-Befehls & Simulator

OptionBeschreibung
-a--archiveKopiert und erhält dabei alle Rechte, Eigentümer, Gruppe, Zeitstempel usw. der Originaldatei[erhält Rechte, Eigentümer, Gruppe, Zeitstempel usw.] + [-d : den symbolischen Link selbst kopieren] + [-R : Verzeichnisse rekursiv kopieren]
-bExistiert die Zieldatei schon, wird sie vor dem Kopieren gesichert
-dIst die Quelle ein symbolischer Link, wird der Link selbst kopiert
-fExistiert die Zieldatei, wird sie zwangsweise gelöscht und dann kopiert
-i--interactiveFragt vor dem Überschreiben beim Benutzer nachalias cp='cp -i'
-l(Kleinbuchstabe)Als Hardlink kopieren
-PSymbolische Links nicht verfolgen, sondern als Link kopieren
-pEigentümer, Gruppe, Rechte und Zeitstempel des Originals unverändert erhalten
-r, -RVerzeichnisse rekursiv kopieren (samt Unterverzeichnissen und Dateien)Die Option -r ist kein POSIX-Standard und kann bei symbolischen Links oder Gerätedateien Probleme machen.
-sAls symbolischen Link kopieren (die Quelle muss als absoluter Pfad angegeben werden)
-uNicht überschreiben, wenn die Zieldatei neuer oder gleich ist
-vKopierfortschritt ausgeben (verbose)Zeigt für jede abgeschlossene Kopie eine Meldung
-xKopiert nicht, wenn Quelle und Ziel auf verschiedenen Dateisystemen liegen.
cp-Befehle-Simulatoralias cp='cp -i'
[root@server work]#
Läuft nur in deinem Browser und berührt keine echten Dateien. Tipp cp mit verschiedenen Optionen und prüf das Ergebnis mit ls, cat und diff. Mit ↑↓ auf der Tastatur holst du frühere Befehle zurück, und mit uknew help siehst du, welche Befehle es gibt.

🔲 Option -a: Dateiattribute erhalten & Unterverzeichnisse (& Dateien) kopieren

Um Unterverzeichnisse zu kopieren und dabei die Attribute der Originaldateien zu erhalten, reicht die Option [-a] allein. Manche Skripte und Automatisierungswerkzeuge verlangen aber ausdrücklich [-r], daher setzt man [-r] oder [-R] manchmal zusätzlich.

 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 : den symbolischen Link selbst kopieren]+[-R : Verzeichnisse rekursiv kopieren]+[-⁠-preserve=all]

Was --preserve=all umfasstBeschreibung
modeDateirechte (rwx usw.)
ownershipEigentümer (user) und Gruppe (group)
timestampsZeitstempel wie die letzte Änderungszeit
linksAnzahl der Hardlinks (gemeinsame inode bleibt erhalten)
contextSELinux-Sicherheitskontext
xattrErweiterte Attribute (zusätzlich zur Datei gespeicherte Metadaten)
allKurzform, die alle obigen Punkte auf einmal umfasst

🔲 Option -u: nur neue und geänderte Dateien kopieren

  • Kopiert nur, wenn am Ziel keine gleichnamige Datei existiert oder die Quelle neuer ist
  • Oft bei Backups und Synchronisation genutzt
 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

ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.