«Untar» no es un comando de Linux: se hace con tar y la opción de extraer. Para un archivo .tar.gz:
tar -xzvf archivo.tar.gz
Eso deja el contenido en la carpeta actual. Si quieres entenderlo para no tener que buscarlo cada vez, estas son las letras:
Qué significa cada opción
| Opción | Significado |
|---|---|
x |
extraer |
c |
crear un archivo |
t |
listar el contenido sin extraer |
z |
comprimido con gzip (.gz) |
j |
comprimido con bzip2 (.bz2) |
J |
comprimido con xz (.xz) |
v |
verboso: enseña lo que va haciendo |
f |
fichero: el nombre del archivo va justo después |
C |
cambiar a esa carpeta antes de extraer |
La f tiene que ir la última del grupo, porque lo que viene detrás es el nombre del archivo. El orden de las demás letras da igual: -xzvf y -xvzf hacen lo mismo.
Reglas para acordarse
La tabla se entiende, pero a la hora de teclear lo que funciona es una frase tonta que se quede pegada. Las mías:
- Crear,
tar -cvzf: «Cuando una Vieja Zorra Furiosa…». La primera letra decide la operación, y laces la de crear. - Extraer,
tar -xvzf: «eXpulsa a la Vieja Zorra Furiosa». Misma zorra, distinto verbo: se cambia solo la primera letra. - Listar,
tar -tzf: «Tienes la Zorra Fichada»: miras qué hay dentro sin sacarla. - Otra carpeta,
-C: «Cámbiate de Casa». Mayúscula, para no confundirla con lacde crear. - Compresión: z de gzip, la más habitual; j minúscula para bzip2; J mayúscula para xz, la más nueva y la que más comprime: la letra grande para el que aprieta más.
- La
f, siempre al final: la furiosa cierra la frase porque detrás va el fichero. Si escribes-xvfz, tar intentará abrir un archivo llamadoz.
Con eso basta para no volver a buscarlo: primero el verbo (c, x, t), luego la compresión, la v si quieres ver lo que pasa y la f cerrando.
Los casos que se usan
# Extraer en otra carpeta (debe existir)
tar -xzvf archivo.tar.gz -C /ruta/destino
# Ver qué contiene, sin extraer
tar -tzf archivo.tar.gz
# Extraer solo un archivo o carpeta
tar -xzf archivo.tar.gz ruta/dentro/del/archivo.txt
# bzip2 y xz
tar -xjvf archivo.tar.bz2
tar -xJvf archivo.tar.xz
# Que tar detecte la compresión él solo (GNU tar al leer)
tar -xf archivo.tar.gz
Para el camino contrario, crear un archivo comprimido:
tar -czvf copia.tar.gz carpeta/
tar -czvf copia.tar.gz carpeta/ --exclude='*.log'
Errores habituales
gzip: stdin: not in gzip format: el archivo no es gzip aunque se llame así, o usastezcon un.tar.bz2. Comprueba confile archivoqué es de verdad.tar: Error is not recoverable: exiting now: suele ser un archivo dañado o una descarga incompleta (a veces una página de error guardada con extensión.tar.gz).Cannot open: No such file or directory: ruta mal escrita, o la carpeta de-Cno existe: créala antes conmkdir.Permission denied: extraes en una carpeta donde no puedes escribir; usa otra osudosi sabes lo que haces.
Mi propia chuleta de siempre, con el caso de tar -cvzf y tar -xvzf, está en tar y untar en línea de comandos de Linux.