Cómo comprimir y extraer archivos usando el comando tar en Linux

  • Chris Hoffman

    @chrisbhoffman

  • 10 de abril de 2016 , 6:40 am EDT

El comando tar en Linux se usa a menudo para crear archivos .tar.gz o .tgz, también llamados «tarballs». Este comando tiene una gran cantidad de opciones, pero solo necesita recordar algunas letras para crear rápidamente archivos con tar. El comando tar también puede extraer los archivos resultantes.

El comando GNU tar incluido con Linux distribuciones tiene compresión integrada. Puede crear un archivo .tar y luego comprimirlo con compresión gzip o bzip2 en un solo comando. Es por eso que el archivo resultante es un archivo .tar.gz o .tar.bz2.

Comprimir un directorio completo o un solo archivo

Use el siguiente comando para comprimir un directorio completo o un solo archivo en Linux. También comprimirá todos los demás directorios dentro de un directorio que especifique, en otras palabras , funciona de forma recursiva.

tar -czvf name-of-archive.tar.gz /path/to/directory-or-file

Esto es lo que realmente significan esos conmutadores:

  • -c: Crea un archivo.
  • -z: comprime el archivo con gzip.
  • -v: muestra el progreso en la terminal mientras se crea el archivo, también conocido como modo «detallado». La v siempre es opcional en estos comandos, pero es útil.
  • -f: Le permite especificar el nombre de archivo del archivo.
Anuncio

Supongamos que tiene un directorio llamado «cosas» en el directorio actual y desea guardarlo en un archivo llamado archive.tar.gz. Ejecutaría el siguiente comando:

tar -czvf archive.tar.gz stuff

O, digamos que hay un directorio en / usr / local / algo en el sistema actual y desea comprimirlo en un archivo llamado archive.tar.gz. Ejecutaría el siguiente comando :

tar -czvf archive.tar.gz /usr/local/something

Comprimir varios directorios o archivos a la vez

RELACIONADO: Cómo administrar archivos desde la terminal Linux: 11 comandos que necesita Conozca

Aunque tar se usa con frecuencia para comprimir un solo directorio, también puede usarlo para comprimir múltiples directorios, múltiples archivos individuales o ambos. Simplemente proporcione una lista de archivos o directorios en lugar de uno solo. Por ejemplo, digamos que desea comprimir / home / ubuntu / Do wnloads, el directorio / usr / local / stuff y el archivo /home/ubuntu/Documents/notes.txt. Simplemente ejecute el siguiente comando:

tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

Simplemente enumere todos los directorios o archivos que desee respaldar.

Excluir Directorios y archivos

En algunos casos, es posible que desee comprimir un directorio completo, pero no incluir ciertos archivos y directorios. Puede hacerlo agregando un --exclude modificador para cada directorio o archivo que desee excluir.

Anuncio

Por ejemplo, digamos desea comprimir / home / ubuntu, pero no desea comprimir los directorios / home / ubuntu / Downloads y /home/ubuntu/.cache. Así es como lo haría:

tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache

El interruptor --exclude es muy poderoso. No toma nombres de directorios y archivos, en realidad acepta patrones. Hay mucho más que puedes hacer con él. Por ejemplo, puede archivar un directorio completo y excluir todos los archivos .mp4 con el siguiente comando:

tar -czvf archive.tar.gz /home/ubuntu --exclude=*.mp4

Use la compresión bzip2 en su lugar

Si bien la compresión gzip se usa con mayor frecuencia para crear archivos .tar.gz o .tgz, tar también admite la compresión bzip2. Esto le permite crear archivos comprimidos en bzip2, a menudo llamados archivos .tar.bz2, .tar.bz o .tbz. Para hacerlo, simplemente reemplace -z para gzip en los comandos aquí con -j para bzip2.

Publicidad

Gzip es más rápido, pero generalmente se comprime un poco menos, por lo que obtienes un archivo algo más grande. Bzip2 es más lento, pero se comprime un poco más, por lo que obtienes un archivo algo más pequeño. Gzip también es más común, con algunos sistemas Linux reducidos que incluyen soporte gzip por defecto, pero no soporte bzip2. Sin embargo, en general, gzip y bzip2 son prácticamente lo mismo y ambos funcionarán de manera similar.

Por ejemplo, en lugar del primer ejemplo que proporcionamos para comprimir el directorio de cosas, ejecutaría el siguiente comando:

tar -cjvf archive.tar.bz2 stuff

Extraer un archivo

Una vez que tenga un archivo, puede extraerlo con el comando tar. El siguiente comando extraerá el contenido de archive.tar.gz al directorio actual.

tar -xzvf archive.tar.gz

Es el mismo que el comando de creación de archivo que usamos anteriormente, excepto el conmutador -x reemplaza al conmutador -c. Esto especifica que desea extraer un archivo en lugar de crear uno.

Anuncio

Es posible que desee extraer el contenido del archivo a un directorio específico. Puede hacerlo agregando el -C al final del comando. Por ejemplo, el siguiente comando extraerá el contenido del archivo archive.tar.gz al directorio / tmp.

tar -xzvf archive.tar.gz -C /tmp

Si el archivo es un archivo comprimido en bzip2, reemplace la «z» en los comandos anteriores por una «j».

Este es el uso más simple posible del comando tar. El comando incluye una gran cantidad de opciones adicionales, por lo que posiblemente no podamos enumerarlas todas aquí. Para más información. ejecute el comando info tar en el shell para ver la página de información detallada del comando tar. Presione la tecla q para salir de la página de información cuando haya terminado. También puede leer el manual de tar en línea.

Si está utilizando un escritorio gráfico de Linux, también puede usar la utilidad de compresión de archivos o el administrador de archivos incluido con su escritorio para crear o extraer archivos .tar. En Windows, puede extraer y crear archivos .tar con la utilidad gratuita 7-Zip.

Chris Hoffman
Chris Hoffman es editor en jefe de How-To Geek. Ha escrito sobre tecnología durante casi una década y fue columnista de PCWorld durante dos años. Chris ha escrito para The New York Times, ha sido entrevistado como experto en tecnología en estaciones de televisión como NBC 6 de Miami y su trabajo fue cubierto por medios de comunicación como la BBC. Desde 2011, Chris ha escrito más de 2,000 artículos que se han leído más de 500 millones de veces — y eso es solo aquí en How-To Geek. Lee la biografía completa «

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *