Ich habe diesen Link gefunden, wie man tgz in einem Schritt öffnet .
gzip -dc target.tar.gz | tar xf -
Was bedeutet das?
command-line
tar
ripper234
quelle
quelle
tar xfz target.tar.gz
und für bziptar xfj target.tar.bz2
Antworten:
Es ist eine übliche Konvention,
-
in einem Dateinamenargument zu bedeuten,stdin
oderstdout
;tar
folgt der gleichen Konvention. Von der Manpage:quelle
-
bedeutet. Stdin / stdout ist bei weitem die häufigste Bedeutung, aber es gibt andere. Für einige Versionenenv
bedeutet dies beispielsweise "mit einer leeren Umgebung beginnen".Eine andere Konvention besteht darin, '-' zu verwenden, um das Ende von Flags und den Anfang von Dateinamen anzugeben. Dieses Verhalten ist zumindest in getopt (3) in RedHat 4 integriert. Ich kann keine Red Hat-Manpage finden, die '-' verwendet, um das Ende der Argumente anzugeben. Alle scheinen '-' zu verwenden, um dies zu tun. Die awk-Manpage hat in diesem Zusammenhang '-', daher verwenden möglicherweise nur alte "Erbstück" -Unix- oder Solaris-Befehle '-' als Argument - Dateinamen-Trennzeichen.
quelle
--
signalisiert das Ende von Optionen, also ist alles, was danach kommt, ein Operand.-
ist keine Option, also ist es und alles, was danach kommt, ein Operand. Dies ist Standardverhalten . Für viele Befehle, wie beispielsweisetar
, der Operand-
bedeutet Standard Eingang oder Ausgang . Auf vielen Muschelnset - -a
ist gleichbedeutend mitset -- -a
und auf einigen alten Bourne-Muschelnset - -a
war die einzig akzeptierte Form, aber dies ist eine Ausnahme mit derset
eingebauten.--
, Optionen von Argumenten zu trennen.