cp

cp — copy files and directories

cp kopiert Dateien und Verzeichnisse. Dabei wird immer erst die Quelle und dann das Ziel angegeben.

Syntax
cp [optionen] quelle ziel

Optionen Bedeutung
-a
Steht für „archive“. Mit diesem Schalter werden Zeitstempel, Besitzer, Gruppen, Dateirechte wie von der Quelle beibehalten.
-r
Steht für „rekursiv“. Mit diesem Schalter werden alle Ordner und Unterordner inkl. Dateien kopiert. Also ganze Verzeichnisbäume.
-v
Steht für “verbose” und Zeigt alles an was der Befehl cp gerade macht.

Beispiel Erklärung
cp /home/user/test.txt /tmp/
Kopiert die Datei „test.txt“ aus /home/user/ nach /tmp.
cp -r /home/user/ /tmp/
Kopiert alle Dateien und Unterordner von /home/user/ nach /tmp/
cp -ar /home/user/ /tmp/
Kopiert alle Dateien und Unterordner von /home/user/ nach /tmp/ und behält dabei alle Zeitstempel, Dateirechte, Benutzer und Gruppen des Originals (Der Quelle).

6 thoughts on “cp

  1. Danke für die Hilfe!

    Ich hatte per drag’n’drop in Knoppix 7.2.0 im PCMAnFM 1.1.0 Daten von einer Platte auf die andere kopiert. Habe nicht daran gedacht, das kopieren im Terminal zu machen und die Attribute mit zu übernehmen. Die Dateien haben ihren Timestamp beibehalten, jedoch nicht die Ordner. Habe noch nach Möglichkeiten gesucht nachträglich den Timestamp zu übertragen. Ich stieß hier zusätzlich auf den Befehl rsync und in den Optinen auf das Ignorieren von Dateien selber Größe. Mit folgendem Befehl kopierte ich die Daten von Platte SDD1 in einen Ordner (Backup) auf SDE1:
    „sudo rsync -atv -I –size-only –progress /media/sdd1/ /media/sde1/Backup“

    Vielleicht hilft das noch wem anderes weiter.

    Danke!

  2. Hi,
    erstmal danke für die sehr gut aufgemachte Info-Seite. Ich habe da mal eine Frage:

    Kann man beim Kopieren über der Shell einen Kopier-Bericht als txt.Datei quasi als Output-File bekommen. Z.b. soll da drin stehen welche Daten/Ordner kopiert worden sind und welche nicht. Schön wäre es noch wenn du das weist, wie man eine Prüfsummen-Check.

    Danke

    • Log Datei ist recht einfach

      Kopieren eines Ordners inkl. Unterordner und erzeugen einer Logfile
      cp -r -v QUELLE ZIEL > log.txt

      STDOUT wird hier einfach mit „>“ in eine Datei log.txt geschrieben.

      Prüfsummen-Check
      md5sum meinedatei

      Beim kopieren großer Ordner oder vielen Dateien sollte man lieber auf rsync setzten, dieses verwendet immer Prüfsummen um festzustellen ob die Datei(en) richtig übertragen wurde(n).
      Leider bin ich mit der Seite noch nicht ganz fertig daher fehlt der nich eine genaue Beschreibung und Beispiele zu rsync.

      • super danke für die Info.

        ich habe noch etwas rumgespielt und ein paar Sachen im Netz zusammengesucht und erfolgreich probiert.

        cp -r -v quelle ziel 1>> ./log_erfolgreich.txt 2>> ./log_fehlgeschlagen.txt

        ./ = aktueller Pfad (dort wo ich aktuell bin)
        1>> = Command 1 nimmt die erfolgreich kopierten Dateien und schreibt diesen Output in eine LOG Datei
        2>> = Command 2 nimmt die FEHLER und schreibt diesen Output in eine Fehler LOG Datei

        ich freue mich wenn du etwas zum thema rsync schreibst, vielen dank.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.