Mit -f archive.tar
, tar -c
in dem Archiv schreiben würde, tar -x
würde daraus extrahieren. -f -
ist eine spezielle Syntax, die "write to stdout" (beim Erstellen) oder "read from stdin" (beim Extrahieren) bedeutet.
Dies ermöglicht den Einsatz tar
in Rohren. Der Clientbefehl leitet tar
an ssh
. Auf der Remote-Seite läuft der SSH-Server ./ScriptServer.sh
und überträgt den eingehenden Stream an seine Standardeinheit. tar -f -
im Skript liest diesen Stream.
Du hast recht, das -f -
ist nicht dokumentiert man 1 tar
(zumindest in Handbüchern, die ich gelesen habe). Ohne -f
das Tool sollte sowieso stdout oder stdin verwendet werden. Einige andere Tools unterstützen -
als speziellen "Dateinamen", um explizit auf "stdout" oder "stdin" zu verweisen. Ich denke, die Unterstützung von -f -
in tar
ist nur eine Konformität mit diesem Halbstandard.