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). |
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!
Sie sollten in der Syntaxbeschreibung auch „cp“ und nicht „ls“ angeben #-)
Danke korrigiert
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.