Encontré este enlace sobre cómo abrir tgz en un solo paso .
gzip -dc target.tar.gz | tar xf -
¿Qué significa el '-'?
command-line
tar
ripper234
fuente
fuente
tar xfz target.tar.gz
y para bziptar xfj target.tar.bz2
Respuestas:
Es una convención común usar
-
en un argumento de nombre de archivo para significarstdin
ostdout
;tar
sigue la misma convención. Desde la página del manual:fuente
-
significa para él. Stdin / stdout es, con mucho, el significado más común, pero hay otros. Por ejemplo, para algunas versionesenv
significa "comenzar con un entorno vacío".Otra convención es usar '-' para indicar el final de las banderas y el comienzo de los nombres de los archivos. Ese comportamiento está integrado en el getopt (3) en RedHat 4, al menos. No puedo encontrar una página de manual de Red Hat que use '-' para indicar el final de los argumentos, todos parecen usar '-' para hacer eso. La página de manual de awk tiene '-' en ese contexto, por lo que quizás solo los viejos comandos de "herencia" de Unix o Solaris usan '-' como argumento - separador de nombres de archivo.
fuente
--
señala el final de las opciones, por lo que todo lo que viene después es un operando.-
no es una opción, por lo tanto, y todo lo que viene después es un operando. Este es un comportamiento estándar . Para muchos comandos, comotar
, el operando-
significa entrada o salida estándar . En muchos shells,set - -a
es equivalente aset -- -a
, y en algunos viejos shells Bourneset - -a
era la única forma aceptada, pero esta es una excepción con elset
incorporado.--
separar opciones de argumentos.