In Linux kopiert ihr Ordner und Dateien mit dem CP-Befehl schnell und effizient im Terminal. Anhand dieser Beispiele meistert ihr den CP-Befehl.

CP-Befehl: Was tut er?

Der CP-Befehl kopiert Dateien und Verzeichnisse in Linux. Er gehört zu den sogenanntem „GNU Core Utilities“ (Coreutils), die sich über das Terminal ausführen lassen. Wird der Befehl zusammen mit bestimmten Optionen ausgeführt, ist er noch mächtiger.

Die Syntax von CP

  • cp [Option] [Quelle(n)] [Ziel]

CP: Kopieren in Linux

Folgende Beispiele zeigen euch, was der CP-Befehl alles bewirken kann.

Eine Datei kopieren in Linux

Angenommen ihr befindet euch in einem Verzeichnis, das die Datei „Text1.txt“ enthält. Um die Datei in euer Heimverzeichnis zu kopieren, lautet der Befehl:

  • cp Text1.txt ~

oder:

  • cp Text1.txt /home/benutzer/

Das „benutzer“ ersetzt ihr durch euren Benutzernamen in Linux. Ihr erhaltet keine Bestätigung im Terminal. Es gibt nur eine Ausgabe, wenn der Befehl gescheitert ist.

Mehrere Dateien kopieren

Um mehrere Dateien zu kopieren, lautet der Befehl analog wie folgt:

  • cp text1.txt text2.txt text3.txt /pfad/zum/zielordner/

Erklärung: Linux erstellt eine Kopie der Dateien „text1.txt“, „text2.txt, und „text3.txt“ im Verzeichnis /pfad/zum/zielordner/.

Kopierte Datei gleichzeitig umbenennen

Ihr könnt im CP-Befehl auch angeben, welchen Dateinamen die kopierte Datei im Zielordner erhalten soll:

  • cp text1.txt /pfad/zum/zielordner/ „Meine Einkaufliste.txt“

Erklärung: Linux erstellt eine Kopie der Datei „text1.txt“ mit dem Dateinamen „Meine Einkaufsliste.txt“ im Ordner /pfad/zum/zielordner/.

Schnell eine Kopie einer Datei erstellen

Wenn ihr den Zielordner weglasst, erstellt Linux eine Kopie der Originaldatei im gleichen Verzeichnis mit dem angegebenen Dateinamen:

  • cp text1.txt text2.txt

Erklärung: Linux erstellt eine Kopie der Datei „text1.txt“ mit dem Dateinamen „text2.txt“.

CP mit Optionen nutzen

Einen Ordner kopieren

Um Ordner zu kopieren, benötigt ihr die Option „-r“ (rekursiv):

  • cp Textsammlung /pfad/zum/ziel/

Erklärung: Kopiert den Ordner „Textsammlung“ in das Verzeichnis /pfad/zum/ziel/.

Datei kopieren mit gleichen Metadaten des Originals

Wenn ihr mit CP eine Datei in Linux kopiert, erhält diese das aktuelle Erstellungsdatum. Wenn ihr aber wirklich alle Attribute und Metadaten der ursprünglichen Datei in der Kopie beibehalten möchtet, geht das mit der Option „-a“ (archive):

  • cp -a text1.txt text2.txt

Erklärung: Hierbei erstellt Linux eine Kopie von „text1.txt“ mit dem Dateinamen „text2.txt“. Beide Dateien haben die gleichen Zugriffsrechte und Metadaten. Dazu gehört auch das Erstellungsdatum.

Nummeriertes Backup erstellen

Angenommen ihr schreibt an einer Arbeit und möchtet die zugehörige Textdatei regelmäßig als Backup sichern, sodass ihr auf frühere Zustände zurückgreifen könnt. Dafür nutzt ihr den folgenden Befehl:

  • cp -f -v --backup=numbered text.txt text.txt

Erklärung: Der Befehl erstellt ein Backup der Datei „text.txt“ im gleichen Ordner. Damit das funktioniert, wird die Option „-f“ benötigt. Außerdem zeigt uns die Option „-v“ an, was der Befehl bewirkt hat. Die Ausgabe sieht so aus:

~$ cp -f -v --backup=numbered text.txt text.txt
'text.txt‘ -> 'text.txt.~1~‘
~$ cp -f -v --backup=numbered text.txt text.txt
'text.txt‘ -> 'text.txt.~2~‘
~$ cp -f -v --backup=numbered text.txt text.txt
'text.txt‘ -> 'text.txt.~3~‘

Wenn ihr im Ordner schaut, werdet ihr die Dateien „text.txt.~1~“, „text.txt.~1~“ und „text.txt.~1~“ aber nicht sehen, weil sie standardmäßig versteckt erstellt werden. Drückt im Datei-Manager die Tastenkombination [Strg] + [H], um versteckte Dateien und Ordner anzuzeigen:

Wenn ihr versteckte Dateien anzeigen lasst, seht ihr die Backup-Dateien. Bild: GIGA
Wenn ihr versteckte Dateien anzeigen lasst, seht ihr die Backup-Dateien. (Bildquelle: GIGA)

Um die Backup-Dateien zu öffnen, zieht ihr sie mit der Maus in das zugehörige Programm, das diese lesen kann. In unserem Beispiel ist es ein gewöhnlicher Texteditor wie Xed oder Gedit.

Liste von CP-Optionen

Diese Liste zeigt die wichtigsten Optionen für den CP-Befehl und was sie bewirken:

OptionErklärungBeispiel
-aKopiert die Datei mit Rechteeinstellungen und Metadaten der Originaldatei.cp -a text.txt /pfad/zum/zielordner/
-dKopiert symbolische Links.cp -d text.txt /pfad/zum/zielordner/
-fBeim Kopiervorgang wird das Überschreiben erzwungen.cp -d text.txt /pfad/zum/zielordner/
-iFragt um Erlaubnis, bevor eine gleichnamige Datei überschrieben wird.cp -i text.txt /pfad/zum/zielordner/
-lErstellt einen Hardlink, statt einer Kopie.cp -l text.txt /pfad/zum/zielordner/
-nÜberschreibt vorhandene Dateien NICHT.cp -n text.txt /pfad/zum/zielordner/
-pOrignaldatei vererbt ihre Atrribute der Kopie.cp -p text.txt /pfad/zum/zielordner/
-rKopiert Verzeichnisse inklusive Unterverzeichnisse.cp -r /pfad/zum/quellordner /pfad/zum/zielordner/
-sErstellt einen symbolischen Link auf die Originaldatei.cp -s text.txt /pfad/zum/zielordner/
-uKopiert die Datei nur, wenn die Zieldatei älter als das Original ist.cp -u text.txt /pfad/zum/zielordner/
-vGibt nach dem Kopieren eine Meldung aus.cp -v text.txt /pfad/zum/zielordner/