Kopieren von mehreren Dateien
CIP Index Up Left Right

Kopieren von mehreren Dateien

Der Befehl zum Kopieren einer Datei lautet cp . Mit ihm kann man normalerweise nur eine Datei kopieren. Gibt man als Ziel ein Verzeichnisnamen an, so kann man schon mehrere Dateien als Quellparameter angeben und somit in das als letzter Parameter übergebene Verzeichnis kopieren.

cp hat noch eine Option -r, mit der man ganze Directory-Bäume kopieren kann. Voraussetzung ist nur, das kein Directory des Zielbaumes schon existiert. Kopiert wird allerdings nur der Inhalt der Dateien, nicht z.B. Zugriffsrechte.

Eine andere Möglichkeit des Kopierens mehrerer Dateien auf einmal ist das Zusammenpacken in ein Archiv. Zusätzlich kann man das Archiv vor dem Kopieren noch Komprimieren. Diese Methode ist vorzuziehen, wenn man die Dateien über das Netz kopiert.

Sehr elegant geht das Kopieren eines größeren Baumes z.B. mit tar:

tar cf - dir | ( cd target; tar xvf - )
Dabei bedeutet die Option "-" dem tar, daß er das erstellte Archiv nach stdout ausgibt und es somit mit der Pipe weiterleitbar wird. Natürlich könnte man auch noch gzip und gunzip in die Pipe einhängen. Mit diesem Verfahren werden auch Datei-Attribute mitkopiert (außer für Verzeichnisse; dazu benutzt man am besten gtar mit der Option -p).

Zwischen verschiedenen Rechnern

Möchte man zwischen verschiedenen Rechnern Daten kopieren, kann man im allgemeinen über den Automounter gehen, d.h. man mountet das Zielverzeichnis auf dem Quellrechner (z.B. über den /net Mountpunkt) und kopiert als wäre es ein lokales Filesystem.

Ansonsten kann man rcp benutzen (Siehe bei Remote-Kommandos) oder den tar-Stream durch eine Remote-Shell schicken:

tar cf - dir | rsh host cd target\; tar xvf -