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.gzy para bziptar xfj target.tar.bz2Respuestas:
Es una convención común usar
-en un argumento de nombre de archivo para significarstdinostdout;tarsigue 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 versionesenvsignifica "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 - -aes equivalente aset -- -a, y en algunos viejos shells Bourneset - -aera la única forma aceptada, pero esta es una excepción con elsetincorporado.--separar opciones de argumentos.