Aprende leyendo en orden

tar — empaquetar y extraer archivos

Este artículo forma parte del Curso de Linux, con el que dominarás desde cero habilidades prácticas de Linux, desde los comandos básicos hasta los scripts de shell.
Agrupa varios archivos en un único archivo sin compresión con tar -cf docs.tar docs, lista el contenido con tar -tf docs.tar y recupéralo con tar -xf — ilustrado y ejecutado de forma práctica en una terminal del navegador.

Crear y listar — tar -cf / tar -tf

tar agrupa varios archivos o directorios en un único archivo. Ese único archivo se llama archivo tar, y por convención se nombra con extensión .tar. Puedes crear el archivo con tar -cf archive.tar target y consultar el contenido con tar -tf archive.tar. -c significa crear (create), -t significa listar (list) y -f especifica el nombre del archivo.

SintaxisEfecto
tar -cf a.tar dirAgrupa dir en un único a.tar
tar -tf a.tarLista el contenido (archivos) dentro de a.tar
tar -xf a.tarExtrae a.tar y restaura los archivos originales
tar -xf a.tar -C destEstablece el directorio de destino de la extracción en dest
Crear con tar -cf, Listar con tar -tf
d/a.txtd/b.txtd/ (directorio a agrupar)tar -cf d.tar dd.tar(agrupado en uno)Fácil de compartir y guardartar -tf d.tard/a.txtd/b.txtVer el contenido-c crea-t lista
tar -cf d.tar d agrupa d en un único d.tar, y tar -tf d.tar lista los archivos incluidos sin extraerlos.
mkdir -p docs                 # Crear el directorio fuente
printf 'note A\n' > docs/a.txt   # Poner dos archivos dentro
printf 'note B\n' > docs/b.txt
tar -cf docs.tar docs         # Agrupar docs en docs.tar
tar -tf docs.tar              # Listar docs/ docs/a.txt docs/b.txt
# En un servidor en producción, tar -czf docs.tar.gz docs también comprime con gzip mientras agrupa (este entorno de aprendizaje es solo sin compresión)

Este curso aprende tar con archivos sin compresión

La compresión gzip como tar -czf funciona en servidores en producción como Ubuntu. Este curso aprende cómo funciona tar con los modos sin compresión -cf / -tf / -xf (no ejecutes compresión en este entorno de aprendizaje).

① Crea el directorio fuente con mkdir -p docs.

② Crea dos archivos dentro con printf 'note A\n' > docs/a.txt y printf 'note B\n' > docs/b.txt.

③ Usa la opción de creación de tar para agrupar docs en un único archivo llamado docs.tar. (Agrupar no imprime nada en pantalla.)

④ Ejecuta ls para confirmar que se creó docs.tar.

⑤ Usa la opción de listado de tar para listar el contenido de docs.tar y confirma que docs/a.txt y docs/b.txt están incluidos. (Si lo ejecutas correctamente, aparecerá una explicación.)

Linux console
0 / 6 completado(s)
Loading Linux Terminal...

Extraer — tar -xf y -C

Para recuperar los archivos originales de un archivo tar, usa tar -xf archive.tar. -x significa extraer (extract). Si lo ejecutas tal cual, extrae en el directorio actual, pero añadiendo -C target extrae en el directorio que especifiques. Después de extraer, comprueba los archivos recuperados con ls.

Extraer con tar -xf (-C establece el destino)
docs.tarContenidodocs/a.txt etc.Extraer estotar -xf docs.tarSin destino especificadodocs/ en el directorio actualtar -xf docs.tar-C out-C establece el destinodocs/ dentro de out/Extraer tal cualExtraer en out
tar -xf docs.tar extrae en el directorio actual, mientras que tar -xf docs.tar -C out extrae en out especificando el destino.
mkdir -p pack                 # Crear el directorio fuente
printf 'x\n' > pack/a.txt        # Poner un archivo dentro
tar -cf pack.tar pack         # Agrupar pack en pack.tar
mkdir -p out                  # Preparar el directorio de destino
tar -xf pack.tar -C out       # Extraer en out/
ls out                        # out/pack ha sido extraído

① Crea el directorio fuente con mkdir -p pack y crea un archivo dentro con printf 'x\n' > pack/a.txt.

② Usa la opción de creación de tar para agrupar pack en pack.tar.

③ Ejecuta ls para confirmar que se creó pack.tar.

④ Prepara el directorio de destino de extracción con mkdir -p out.

⑤ Añade la opción que especifica el destino de extracción a la opción de extracción de tar y extrae pack.tar dentro de out.

⑥ Ejecuta ls out para confirmar que pack fue extraído dentro de out.

Linux console
0 / 7 completado(s)
Loading Linux Terminal...
QUIZ

Verificación de conocimientos

Responde cada pregunta una a una.

Pregunta 1¿Qué sucede cuando ejecutas tar -cf docs.tar docs?

Pregunta 2¿Qué comando lista el contenido de un archivo docs.tar sin extraerlo?

Pregunta 3En tar -xf pack.tar -C out, ¿qué especifica -C out?