Detlef Strehlow schrieb:
Am Dienstag, 10. Juni 2003 21:09 schrieb Thomas Hertweck:
Detlef Strehlow schrieb:
[...] P.S. cd /OLD tar -cSp --numeric-owner -f - . | ( cd //NEW && tar xSpvf - ) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (Böhmische Wälder)
[...Erklaerung...]
Also nimm die Daten von /OLD erzeuge ein Archiv (c) behalte die Rechte entspr. der UID usw. (p --numeric-owner), gehe mit kleinen Dateien (0 byte ?, attribute ?) vernünftig um (S),packe das Archiv nach /dev/rmt0 (f) (remotetape, aber nicht wirklich tue nur so, in Wirklichkeit gebe es an Stdout -->Pipe). Jetzt nehme das aus der Pipe entgegen (so als wenn es vom tape kommt, weil tar seinen Ursprung beim Tape hatte ?) (f), extrahiere es (x), dann das übrige wie vorher (Rechte und spärliche Dateien :-) ) und packe es nach /NEW und das sehr wortreich (zeige was Du tust)
Jetzt fehlen nur noch der einzeln stehende - und der . Punkt sollte doch das gegenwärtige Verzeichnis sein oder ? & war doch eigentlich ein Zeichen um einen Prozess in den Hintergrund zu verlagern
Also, - steht in diesem Zusammenhang fuer stdin bzw. stdout. Die - stehen nicht alleine da, sondern gehoe- ren zur Option -f. Der Punkt ist das aktuelle Ver- zeichnis, da hast Du Recht. & schickt tatsaechlich einen Prozess in den Hintergrund, && ist aber etwas anderes: Es verknuepft zwei (oder noch mehr) Befehle, wobei alles nach dem && nur ausgefuehrt wird, falls der Befehl vor dem && erfolgreich war. Die Klammern ( und ) sorgen dafuer, dass der Befehl dazwischen in einer Sub-Shell ausgefuehrt wird. Siehe zu den ganzen Dingen auch "man bash" oder ein anderes Buch *g* zur Shellprogrammierung.
Warum aber soll es so schneller sein als simples Kopieren.
Von schneller hat niemand etwas gesagt :-)
Zusätzlich muss es ja noch gepackt und entpackt werden. Es sei denn die Packroutinen von tar sind schneller als IO-Operationen der Platten
Nein, diese Aussage macht keinen Sinn, denn von Platte gelesen und auf Platte geschrieben werden muss es in beiden Faellen. Du kannst mal einen Versuch machen: schau mal was passiert, wenn Du ein Verzeichnis mit Links einmal mit obiger Methode und einmal mit cp "ko- pierst"... Cu, Thomson