Cómo usar el comando Tar en Linux

Tar es uno de los comandos de Linux más usados para comprimir archivos. Utilizar Tar tiene muchas ventajas y por eso los profesionales lo aman. Aquí tienes todo lo que necesitas para empezar.

Tar significa Tape Archive (archivo de cinta) y se utiliza para comprimir una colección de archivos y carpetas.

Para qué se usa el comando Tar en Linux

Con el comando Tar, puedes comprimir y descomprimir archivos. Este comando viene con múltiples opciones, aunque hay algunas que quizás necesites recordar.

En la mayoría de los casos, una vez que se realiza la compresión con Tar, se obtiene un archivo .tar. Si se realiza una compresión adicional usando gzip, se tendrá como resultado un archivo .tar.gz.

Las ventajas del comando Tar de Linux:

  • El comando Tar tiene una relación de compresión del 50%, lo que significa que comprime eficientemente.
  • Reduce drásticamente el tamaño de las carpetas y archivos comprimidos.
  • Tar en Linux no altera las características de los archivos y directorios. Los permisos y otras particularidades permanecen intactos mientras se comprime.
  • El comando Tar está disponible en las versiones más comunes de Linux. También se encuentra disponible en el firmware de Android, así como en versiones compatibles de Linux más antiguas.
  • Comprime y descomprime rápidamente.
  • Es fácil de usar.

Si bien esto nos ayuda a comprender los beneficios del comando Tar, una pregunta para responder es ¿bajo qué escenario elegirías usarlo?

  • Si estás trabajando en sistemas basados ​​en Linux y necesitas compresión de archivos.
  • Para transferir una gran cantidad de archivos y carpetas de un servidor a otro.
  • Para hacer una copia de seguridad de tu sitio web, de datos o de cualquier otra cosa.
  • Para reducir el uso de espacio en tu sistema, ya que la compresión ocupará menos espacio
  • Para cargar y descargar carpetas.

Cómo usar el comando Tar en Linux

Veamos qué operaciones básicas puedes llevar a cabo utilizando Tar. Antes de comenzar, necesitarás SSH en tu servidor VPS. ¡Aquí hay una guía para ayudarte!

Crear un archivo .tar en Linux

Puedes crear compresiones .tar tanto para un archivo como para directorios. Un ejemplo de este tipo de archivo es:

tar -cvf sampleArchive.tar /home/sampleArchive

Aquí /home/sampleArchive es el directorio que necesita ser comprimido creando sampleArchive.tar.

Este comando usa las opciones cvf que significan:

  • c – crear un nuevo archivo .tar
  • v – muestra una descripción detallada del progreso de la compresión
  • f – nombre del archivo

Crear un archivo .tar.gz en Linux

Si deseas una mejor compresión, también puedes usar .tar.gz. Un ejemplo de esto es:

tar -cvzf sampleArchive.tar.gz /home/sampleArchive

La opción adicional z representa la compresión gzip. Alternativamente, puedes crear un archivo .tgz que sea similar a tar.gz. Te mostramos un ejemplo de esto último a continuación:

tar -cvzf sampleArchive.tgz /home/sampleArchive

Crear un archivo .tar.bz2 en Linux

El archivo .bz2 proporciona más compresión en comparación con gzip. Sin embargo, esta alternativa tomará mas tiempo para comprimir y descomprimir. Para usarla, debes usar la opción -j. Un ejemplo de cómo se vería la operación es el siguiente:

tar -cvjf sampleArchive.tar.bz2 /home/sampleArchive

Dicha operación es similar a .tar.tbz o .tar.tb2. Te mostramos un ejemplo a continuación:

tar -cvjf sampleArchive.tar.tbz /home/sampleArchive
tar -cvjf sampleArchive.tar.tb2 /home/sampleArchive

Cómo descomprimir archivos .tar en Linux

El comando Tar de Linux también se puede utilizar para extraer un archivo. El siguiente comando extraerá los archivos en el directorio actual:

tar -xvf sampleArchive.tar

Si deseas extraer tus archivos a un directorio diferente, puedes usar la opción -C. Te mostramos un ejemplo de esto a continuación:

tar -xvf sampleArchive.tar -C /home/ExtractedFiles/

Puedes usar un comando similar para descomprimir archivos .tar.gz, tal como se muestra a continuación:

tar -xvf sampleArchive.tar.gz
tar -xvf sampleArchive.tar.gz -C /home/ExtractedFiles/

Los archivos .tar.bz2 o .tar.tbz o .tar.tb2 pueden descomprimirse de manera similar. Para esto deberás teclear el siguiente comando en la línea de comando:

tar -xvf sampleArchive.tar.bz2

Cómo listar el contenido de un archivo en Linux

Una vez que hayas creado el archivo, puedes listar el contenido mediante un comando similar al siguiente:

tar -tvf sampleArchive.tar

Esto mostrará la lista completa de archivos junto con las marcas de tiempo y los permisos. Del mismo modo, para .tar.gz, puedes usar un comando como:

tar -tvf sampleArchive.tar.gz

Esto también funcionaría para archivos .tar.bz2 como se muestra a continuación:

tar -tvf sampleArchive.tar.bz2

Cómo descomprimir un único archivo .tar

Una vez que creas un archivo comprimido, puedes extraer un único archivo de ese comprimido. Esto lo puedes lograr con el comando que te mostramos a continuación:

tar -xvf sampleArchive.tar example.sh

Aquí example.sh es un archivo único que se extraerá del comprimido sampleArchive.tar. Alternativamente, también puedes usar el siguiente comando:

tar --extract --file= sampleArchive.tar example.sh

Para extraer un solo archivo de un comprimido .tar.gz puedes usar un comando similar al mostrado a continuación:

tar -zxvf sampleArchive.tar.gz example.sh

O alternativamente:

tar --extract --file= sampleArchive.tar.gz example.sh

Para extraer un solo archivo de un comprimido .tar.bz2 puedes usar un comando como este:

tar -jxvf sampleArchive.tar.bz2 example.sh

O, alternativamente, uno como este:

tar --extract --file= sampleArchive.tar.bz2 example.sh

Como puedes ver, el comando tar tiene mucha flexibilidad en su sintaxis.

Cómo extraer múltiples archivos de los archivos .tar

En caso de que desees extraer varios archivos, usa el siguiente formato del comando:

tar -xvf sampleArchive.tar "file1" "file2"

Para .tar.gz puedes usar:

tar -zxvf sampleArchive.tar.gz "file1" "file2"

Para .tar.bz2 puedes usar:

tar -jxvf sampleArchive.tar.bz2 "file1" "file2"

Extraer múltiples archivos con un patrón

Si deseas extraer del comprimido patrones específicos de archivos como solo los .jpg, usa el comando wildcards. Una muestra de dicho comando se muestra a continuación:

tar -xvf sampleArchive.tar --wildcards '*.jpg'

Para .tar.gz puedes usar:

tar -zxvf sampleArchive.tar.gz --wildcards '*.jpg'

Para .tar.bz2 puedes usar:

tar -jxvf sampleArchive.tar.bz2 --wildcards '*.jpg'

Cómo agregar archivos a un archivo .tar

Si bien puedes extraer archivos específicos, también puedes agregar archivos nuevos a un archivo comprimido existente. Para hacerlo, debes usar la opción -r que significa agregar. El comando Tar puede agregar tanto archivos como directorios.

A continuación se muestra un ejemplo en el que estamos agregando example.jpg al sampleArchive.tar existente.

tar -rvf sampleArchive.tar example.jpg

También podemos agregar un directorio. En el ejemplo que te mostramos a continuación, el directorio image_dir se agrega al archivo sampleArchive.tar

tar -rvf sampleArchive.tar image_dir

No puedes agregar archivos o carpetas a comprimidos .tar.gz o .tar.bz2.

Cómo verificar un archivo .tar en Linux

Usando Tar puedes verificar un archivo. Esta es una de las formas en que puedes hacerlo:

tar -tvf sampleArchive.tar

Esto no se puede aplicar en archivos .tar.gz o .tar.bz2.

Cómo verificar el tamaño del archivo en Linux

Una vez que crees un archivo, puedes verificar su tamaño. Este se mostrará en KB (Kilobytes).

A continuación te mostramos varios ejemplos del comando a usar para verificar el tamaño de diferentes tipos de archivos comprimidos:

tar -czf - sampleArchive.tar | wc -c
tar -czf - sampleArchive.tar.gz | wc -c
tar -czf - sampleArchive.tar.bz2 | wc -c

Conclusión

Como puedes ver, Tar de Linux es una herramienta realmente poderosa que todo entusiasta de este sistema operativo debería conocer. Puedes explorar las páginas del manual para el comando Tar ejecutando el comando man tar. ¡Esperamos que este artículo te haya ayudado a mejorar tu desempeño en Linux!

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.