Harting Development

Linux cp: Mühelose Datei- und Ordnerkopien

Lukas Fuchs vor 2 Jahren Automatisierung & Scripting 3 Min. Lesezeit

Syntax und Optionen von 'cp'

Die Syntax des 'cp'-Befehls lautet:

cp [OPTIONEN] QUELLE... ZIEL

Optionen

Mit 'cp' stehen dir zahlreiche Optionen zur Verfügung, um Kopiervorgänge anzupassen:

  • -a, --archive: Kopiert rekursiv alle Dateien und Ordner, einschließlich versteckter Dateien und Berechtigungen.
  • -f, --force: Überschreibt Zieldateien ohne Bestätigung.
  • -i, --interactive: Fordert vor dem Überschreiben von Zieldateien eine Bestätigung an.
  • -l, --link: Erstellt einen symbolischen Link anstelle einer Kopie.
  • -n, --no-clobber: Überschreibt Zieldateien nicht, wenn sie bereits vorhanden sind.
  • -p, --preserve: Behält Zeitstempel, Berechtigungen und erweiterte Attribute bei.
  • -r, --recursive: Kopiert rekursiv in alle Unterverzeichnisse.
  • -s, --symbolic-link: Kopiert symbolische Links als solche und nicht als Zieldateien.
  • -u, --update: Kopiert nur Dateien, die neuer als die entsprechenden Zieldateien sind.
  • -v, --verbose: Zeigt den Fortschritt des Kopiervorgangs an.

Kopieren von Dateien und Ordnern

Wenn du Dateien oder Ordner auf deinem Linux-System kopieren möchtest, kannst du den Befehl cp verwenden. Die Syntax ist wie folgt:

cp [Optionen] Quelle Ziel

Wobei:

  • Quelle die zu kopierende Datei oder der Ordner ist
  • Ziel der Ort ist, an den du die Datei oder den Ordner kopieren möchtest

Kopieren von Dateien

Um eine Datei zu kopieren, gib einfach den Dateinamen als Quelle und das Zielverzeichnis als Ziel an. Beispielsweise kopiert der folgende Befehl die Datei datei.txt in das Verzeichnis /tmp:

cp datei.txt /tmp

Kopieren von Ordnern

Um einen Ordner zu kopieren, füge die Option -r hinzu, um rekursives Kopieren zu aktivieren. Dies kopiert den Ordner und alle seine Unterordner und Dateien. Beispielsweise kopiert der folgende Befehl den Ordner ordner in das Verzeichnis /home/benutzer:

cp -r ordner /home/benutzer

Optionen für die Zielverarbeitung

  • -i: Interaktiv: Fordert dich auf, zu bestätigen, ob du vorhandene Dateien überschreiben möchtest.
  • -f: Erzwinge: Überschreibt vorhandene Dateien ohne Nachfrage.
  • -n: Keine Überschreibung: Überschreibt keine vorhandenen Dateien.

Rekursives Kopieren

Beim rekursiven Kopieren wird der Inhalt eines Ordners einschließlich aller Unterordner und Dateien kopiert. Dies ist nützlich, wenn du die gesamte Struktur eines Verzeichnisses an einen anderen Ort verschieben oder sichern möchtest.

Syntax

cp -R [Optionen] Quellverzeichnis Zielverzeichnis
  • -R (rekursiv): Aktiviert das rekursive Kopieren.

Möglichkeiten

  • Kopieren von versteckten Dateien und Ordnern: Verwende die Option -a (archivieren), um auch versteckte Dateien und Ordner zu kopieren.
  • Kopieren von Verzeichnisberechtigungen: Die Option -p (berechtigungsübertragend) behält die Berechtigungen des Quellverzeichnisses im Zielverzeichnis bei.
  • Kopieren von Zeitstempeln: Mit der Option -t (zeitstempelübertragend) werden die Zeitstempel der Dateien im Zielverzeichnis beibehalten.

Beispiel

Um den Ordner /home/benutzer/Dokumente rekursiv in den Ordner /backup/Dokumente zu kopieren, führe folgenden Befehl aus:

cp -R /home/benutzer/Dokumente /backup/Dokumente

H3: Abbrechen von Kopiervorgängen

Um einen laufenden Kopiervorgang abzubrechen, drücke Strg+C auf deiner Tastatur. Dies funktioniert jedoch nur, wenn das Terminal nicht im Hintergrund läuft.

Verhindern von Überschreibungen

Beim Kopieren von Dateien und Ordnern kann es vorkommen, dass du Zielpfade verwendest, die bereits Dateien mit demselben Namen enthalten. In solchen Fällen musst du entscheiden, ob die vorhandenen Dateien überschrieben werden sollen oder nicht. 'cp' bietet Optionen, mit denen du Überschreibungen verhindern kannst, sodass du dir keine Sorgen machen musst, wichtige Daten zu verlieren.

Option '--no-clobber'

Die Option --no-clobber weist 'cp' an, Kopiervorgänge abzubrechen, wenn ein Zielpfad bereits eine Datei mit demselben Namen enthält. Dadurch werden Überschreibungen verhindert und die Sicherheit deiner vorhandenen Daten gewährleistet.

cp --no-clobber quelle.txt ziel.txt

Option '--interactive'

Die Option --interactive öffnet ein Dialogfeld, in dem du gefragt wirst, ob du eine Datei überschreiben möchtest, wenn sie am Zielpfad bereits vorhanden ist. Dies ist eine nützliche Option, wenn du dir nicht sicher bist, ob eine Überschreibung erforderlich ist oder nicht.

cp --interactive quelle.txt ziel.txt

Verhindern von Überschreibungen bei rekursiven Kopien

Wenn du Ordner rekursiv kopierst, kannst du die Option --preserve verwenden, um sicherzustellen, dass vorhandene Dateien am Zielpfad nicht überschrieben werden. Diese Option erhält die vorhandene Dateistruktur und verhindert unerwünschte Überschreibungen.

cp -R --preserve quelleverzeichnis zielverzeichnis

Tipp

Wenn du mit der Befehlszeile nicht vertraut bist, kannst du auch grafische Dateimanager wie nautilus oder dolphin verwenden. Diese Tools verfügen über integrierte Optionen, mit denen du Überschreibungen beim Kopieren von Dateien und Ordnern verhindern kannst.

Erhaltung von Berechtigungen und Zeitstempeln

Wenn du Dateien und Ordner kopierst, ist es oft wichtig, ihre ursprünglichen Berechtigungen und Zeitstempel beizubehalten. So stellst du sicher, dass die kopierten Dateien die gleichen Zugriffsrechte und Zeitstempel haben wie die Originale.

Dateiberechtigungen

Um die Berechtigungen zu erhalten, verwende die Option -p (preserve). Diese Option kopiert die Berechtigungen des Quelldateis oder -ordners auf die Zieldatei oder den Zielordner.

sudo cp -p /pfad/zur/quelldatei /pfad/zur/zieldatei

Zeitstempel

Um die Zeitstempel zu erhalten, verwende die Option -a (all). Diese Option kopiert alle Attribute der Quelldatei oder des Quellordners, einschließlich der Zeitstempel, auf die Zieldatei oder den Zielordner.

sudo cp -a /pfad/zur/quelldatei /pfad/zur/zieldatei

Hinweis: Diese Optionen wirken sich nur auf die Eigentümer- und Gruppenberechtigungen aus. Andere Berechtigungen, wie z. B. ACLs, werden nicht kopiert.

Kopieren mit Symbolischen Links

Symbolische Links sind Softwareressourcen, die auf eine andere Datei oder einen anderen Ordner verweisen. Sie fungieren als Abkürzungen und ermöglichen es dir, auf Dateien oder Ordner an einem anderen Speicherort zuzugreifen, ohne sie an den aktuellen Ort zu kopieren. Das Kopieren mit symbolischen Links kann in bestimmten Situationen von Vorteil sein:

Vorteile der Verwendung symbolischer Links

  • Speicherplatz sparen: Da symbolische Links keine Daten duplizieren, sondern nur auf sie verweisen, sparen sie Speicherplatz auf deinem System.
  • Aktualisierungen an einem Ort vornehmen: Wenn du eine Änderung an der Zieldatei vornimmst, wird diese Änderung automatisch auf alle symbolischen Links angewendet, die auf sie verweisen.
  • Erleichterter Dateizugriff: Symbolische Links ermöglichen es dir, auf Dateien oder Ordner zuzugreifen, die sich an einem anderen Ort befinden, ohne zwischen Speicherorten wechseln zu müssen.

Erstellen symbolischer Links

Um einen symbolischen Link zu erstellen, verwende den Befehl ln -s:

ln -s [Zielpfad] [Symbolischer Linkname]

Ersetze [Zielpfad] durch den Pfad zur Zieldatei oder zum Zielordner und [Symbolischer Linkname] durch den Namen des symbolischen Links.

Kopieren mit symbolischen Links

Zum Kopieren einer Datei oder eines Ordners als symbolischen Link verwende die Option -s des Befehls cp:

cp -s [Quellpfad] [Zielpfad]

Ersetze [Quellpfad] durch den Pfad zur Quellressource und [Zielpfad] durch den Pfad zum Symbolischen Link. Beispielsweise kannst du mit folgendem Befehl die Datei original.txt als symbolischen Link verlinkt.txt im Ordner dokumente kopieren:

cp -s /home/benutzername/original.txt /home/benutzername/dokumente/verlinkt.txt

Unterschiede zwischen hartem Link und symbolischem Link

  • Harte Links: Verweisen direkt auf die Originaldatei oder den Originalordner und teilen denselben Inode (also dieselben Metadaten). Wenn du eine Datei mit einem harten Link löschst, wird auch die Originaldatei gelöscht.
  • Symbolische Links: Verweisen nur auf den Pfad zur Originaldatei oder zum Originalordner und haben einen eigenen Inode. Wenn du einen symbolischen Link löschst, wird nur der Link gelöscht, nicht die Originaldatei.

Verwendung von Platzhaltern und Shell-Erweiterung

Platzhalter

Platzhalter sind Sonderzeichen, mit denen du eine Gruppe von Dateien oder Ordnern in Shell-Befehlen angeben kannst. Ersetzte einfach die entsprechenden Zeichen durch Platzhalter, um Kopien deiner Dateien anzupassen.

  • *: Steht für eine beliebige Anzahl von Zeichen in einem Dateinamen.
  • ?: Steht für ein einzelnes beliebiges Zeichen.
  • []: Steht für einen Bereich von Zeichen. Zum Beispiel: [a-z] steht für alle Kleinbuchstaben.

Beispiele für Platzhalter

# Kopiere alle Dateien mit der Endung ".txt" in den Ordner "Texte".
cp *.txt Texte
# Kopiere alle Dateien, die mit "Log" beginnen und mit einem Ziffer enden (z. B. "Log1", "Log2", ...).
cp Log[0-9]* Sicherung

Shell-Erweiterung

Shell-Erweiterung bezieht sich auf die Möglichkeit, die Shell (z. B. Bash) anzuweisen, Muster in Dateinamen zu erweitern. Dies kann dir helfen, bestimmte Gruppen von Dateien oder Ordnern anzugeben, ohne Platzhalter explizit verwenden zu müssen.

Beispiele für Shell-Erweiterung

# Kopiere alle Dateien im aktuellen Verzeichnis, die mit "Datei" beginnen.
cp Datei* neues_verzeichnis
# Kopiere alle versteckten Dateien (beginnen mit ".") im Home-Verzeichnis.
cp ~/.* ~/sicherung

Vorteile der Verwendung von Platzhaltern und Shell-Erweiterung

  • Flexibilität: Passe Kopierbefehle an, um bestimmte Gruppen von Dateien oder Ordnern schnell und einfach anzugeben.
  • Effizienz: Vermeide umständliches Auflisten einzelner Dateien oder Ordnernamen, insbesondere wenn du eine große Anzahl von Elementen kopieren musst.
  • Konsistenz: Stelle sicher, dass du immer die richtige Gruppe von Dateien oder Ordnern kopierst, indem du Platzhalter oder Shell-Erweiterung verwendest.

Fehlerbehandlung

Beim Kopieren von Dateien und Ordnern mit dem Befehl cp können verschiedene Fehler auftreten. Es ist wichtig, diese Fehler zu verstehen, um sie zu beheben und eine erfolgreiche Ausführung des Befehls zu gewährleisten.

Fehlende Berechtigungen

Wenn du versuchst, eine Datei oder einen Ordner in ein Verzeichnis zu kopieren, für das du keine Schreibberechtigung hast, erhältst du eine Fehlermeldung wie:

cp: Zielordner schreibgeschützt

Stelle sicher, dass du die entsprechenden Berechtigungen hast, um die Dateien oder Ordner in das Zielverzeichnis zu kopieren.

Nicht vorhandenes Zielverzeichnis

Wenn du versuchst, eine Datei oder einen Ordner in ein Verzeichnis zu kopieren, das nicht vorhanden ist, erhältst du eine Meldung wie:

cp: Zielordner existiert nicht

Erstelle das Zielverzeichnis, bevor du den Kopiervorgang erneut ausführst.

Datei oder Ordner bereits vorhanden

Wenn du versuchst, eine Datei oder einen Ordner zu kopieren, die am Zielort bereits vorhanden ist, erhältst du eine Meldung wie:

cp: Ziel existiert bereits

Verwende die Option -f (force), um die vorhandene Datei oder den Ordner zu überschreiben.

Unzureichender Speicherplatz

Wenn du versuchst, eine große Anzahl von Dateien oder Ordnern zu kopieren, kann ein Fehler aufgrund von unzureichendem Speicherplatz auftreten. Überprüfe den verfügbaren Speicherplatz und gib Speicherplatz frei, bevor du den Kopiervorgang erneut ausführst.

Ungültige Syntax

Wenn du den Befehl cp mit ungültiger Syntax ausführt, erhältst du eine Fehlermeldung. Überprüfe die Befehlssyntax und korrigiere etwaige Fehler.

Weitere Tipps zur Fehlerbehebung

  • Überprüfe den Pfad zu den Quell- und Zielverzeichnissen sorgfältig auf Tippfehler.
  • Verwende die Option -v (verbose), um detailliertere Informationen über den Kopiervorgang anzuzeigen, einschließlich etwaiger Fehler.
  • Lese die Manpage von cp (man cp) für weitere Informationen zu möglichen Fehlern und Lösungen.

Weitere Beiträge

Folge uns

Neue Beiträge

Netzwerk & Routing

HP LaserJet Pro MFP M28w mit WLAN verbinden: Schritt-für-Schritt-Anleitung für eine stabile Einrichtung

AUTOR • Jun 12, 2026
Netzwerk & Routing

Teckin WLAN Steckdose Bedienungsanleitung und praktische Tipps: So richte ich sie schnell und sauber ein

AUTOR • Jun 12, 2026
Netzwerk & Routing

Netzwerk zurücksetzen Problemlösung für Internetverbindungen: So behebe ich Verbindungsprobleme schnell

AUTOR • Jun 12, 2026
Automatisierung & Scripting

npm installieren: Die umfassende Anleitung für Programmieranfänger

AUTOR • Jun 12, 2026
Netzwerk & Routing

Hama WLAN Steckdose Bedienungsanleitung für die intelligente Steckdose: So richte ich sie in Minuten ein

AUTOR • Jun 12, 2026
Systemadministration

Ordnergröße unter Linux ermitteln: Praktischer Leitfaden für schnelle Analyse im Terminal

AUTOR • Jun 12, 2026
Netzwerk & Routing

sweg wlan: Die ultimative Anleitung zur Verbindung und Nutzung ohne Stress

AUTOR • Jun 12, 2026
Automatisierung & Scripting

Honeywell Thermostat Stuck on Hold? Here’s What to Do

AUTOR • Jun 12, 2026
Automatisierung & Scripting

Home Assistant Steckdose Kontrolle über den Stromverbrauch: So misst und automatisierst du den Verbrauch richtig

AUTOR • Jun 12, 2026
Cloud & Virtualisierung

AppImage mühelose Anwendungsausführung unter Ubuntu: So startest du Apps ohne Installation

AUTOR • Jun 12, 2026
Linux-Server

MacBook Dual Boot mit Linux: So richtest du es sauber ein

AUTOR • Jun 12, 2026
Linux-Server

Schnappschuesse unter Linux: Methoden und Tools fuer einfache Bildschirmaufnahmen im Vergleich

AUTOR • Jun 12, 2026
Netzwerk & Routing

Smarte Temperaturmessung zu Hause: Alles Wissenswerte über das FRITZ! Thermometer

AUTOR • Jun 12, 2026
Linux-Server

Dual Boot Installation von Windows und Linux: Der umfassende Leitfaden für sauberes Setup ohne Chaos

AUTOR • Jun 12, 2026
Systemadministration

Linux RAM Informationen: Ein umfassender Überblick für bessere Analyse und Performance

AUTOR • Jun 12, 2026
Linux-Server

Ordner unter Linux löschen: Schritt-für-Schritt-Anleitung ohne Risiko

AUTOR • Jun 12, 2026
Linux-Server

Linux find Befehl: Dateien und Verzeichnisse effizient suchen – so findest du alles schneller

AUTOR • Jun 12, 2026
Linux-Server

Proton: Müheloses Spielen von Windows-Spielen unter Linux ohne Frust

AUTOR • Jun 12, 2026
Linux-Server

Linux ln: Verknüpfungen und symbolische Links verstehen und richtig nutzen

AUTOR • Jun 12, 2026
Systemadministration

FRITZ!Repeater zurücksetzen: Schritt-für-Schritt Anleitung für Werkseinstellungen

AUTOR • Jun 12, 2026

Beliebte Beiträge

Cloud & Virtualisierung

XAMPP auf Linux installieren und konfigurieren: eine Schritt-für-Schritt-Anleitung für Anfänger

AUTOR • Apr 17, 2024
Linux-Server

Arch Linux: Offizieller Download und Installationsanleitung

AUTOR • Apr 17, 2024
Linux-Server

Linux DistroWatch: Die umfassende Datenbank für Linux-Distributionen

AUTOR • Apr 17, 2024
Netzwerk & Routing

Fernzugriff auf Linux-Rechner: Optimale Lösungen für Remote-Desktops

AUTOR • Apr 17, 2024
Netzwerk & Routing

Router Reset: So setzt man seinen Router zurück und löst damit Verbindungsprobleme

AUTOR • Apr 19, 2024
Netzwerk & Routing

WLAN-Sticks für Linux: Verbinden Sie sich unter Linux kabellos

AUTOR • Apr 17, 2024
Linux-Server

Linux-Backups beherrschen: Eine umfassende Anleitung für zuverlässige Datensicherung

AUTOR • Apr 17, 2024
Linux-Server

Linux-DAWs: Die besten Audio-Workstations für den Open-Source-Enthusiasten

AUTOR • Apr 17, 2024
Linux-Server

Linux-Dateien und Ordner umbenennen: Eine schrittweise Anleitung

AUTOR • Apr 17, 2024
Netzwerk & Routing

WLAN-Anrufe auf Xiaomi-Geräten: Funktionsweise und Einrichtung

AUTOR • Apr 19, 2024
Systemadministration

Formatieren einer Festplatte unter Linux: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Linux-Server

Die Welt der Mini-PCs und Linux: Eine perfekte Kombination

AUTOR • Apr 17, 2024
Linux-Server

Opera GX für Linux: Der ultimative Gaming-Browser für Linux-Enthusiasten

AUTOR • Apr 17, 2024
Sicherheit & Hardening

Radius-Server: Das Fundament für sichere Netzwerkauthentifizierung

AUTOR • May 09, 2024
Netzwerk & Routing

IP-Adresse unter Linux ermitteln: Komplette Anleitung

AUTOR • Apr 17, 2024
Netzwerk & Routing

LAN-Brücken: Verbindung von LAN-Segmenten für nahtlose Netzwerkerweiterung

AUTOR • May 09, 2024
Systemadministration

Anleitung zur Größenänderung von Partitionen unter Linux

AUTOR • Apr 17, 2024
Netzwerk & Routing

DJI Fernbedienung mit WLAN verbinden: Schritt-für-Schritt-Anleitung

AUTOR • Dec 12, 2024
Linux-Server

Netflix im Browser: So streamst du deine Lieblingsinhalte mühelos

AUTOR • Apr 17, 2024
Sicherheit & Hardening

Die Linux Hosts-Datei: ultimative Anleitung zur Steuerung Ihres DNS

AUTOR • Apr 17, 2024