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

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

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

El comando tar de GNU incluido con las distribuciones de Linux tiene compresión incorporada. Puede crear un archivo .tar y luego comprimirlo con compresión gzip o bzip2 en un solo comando. Por lo tanto, el archivo resultante es un archivo .tar.gz o .tar.bz2.

Comprime un directorio completo o un solo archivo

Utilice el siguiente comando para comprimir un directorio completo o un solo archivo en Linux. También comprimirá todos los demás directorios en 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 interruptores:

  • -vs: VScrear un archivo.
  • -z: comprime el archivo con gzip.
  • -v: muestra el progreso en la terminal durante la creación del archivo, también llamado «vmodo «erbose». La v siempre es opcional en estos comandos, pero es útil.
  • -f: le permite especificar el Fnombre de archivo.

Suponga que tiene un directorio llamado «foo» 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

Comprime varios directorios o archivos a la vez

Si bien 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. Solo proporcione una lista de archivos o directorios en lugar de solo uno. Por ejemplo, suponga que desea comprimir el directorio / home / ubuntu / Downloads, el directorio / usr / local / stuff y el archivo /home/ubuntu/Documents/notes.txt. Acaba de ejecutar 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 sin incluir ciertos archivos y directorios. Puede hacer esto agregando un --exclude para cada directorio o archivo que desee excluir.

Por ejemplo, digamos que desea comprimir / home / ubuntu, pero no desea comprimir los directorios / home / ubuntu / Downloads y /home/ubuntu/.cache. He aquí cómo hacerlo:

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

los --exclude el interruptor es muy poderoso. No toma nombres de archivos y directorios, en realidad acepta plantillas. Puedes hacer mucho más 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

Utilice 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 bzip2, a menudo llamados archivos .tar.bz2, .tar.bz o .tbz. Para hacer esto, simplemente reemplace -z para gzip en los comandos aquí con -j para bzip2.

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

Por ejemplo, en lugar del primer ejemplo que proporcionamos para comprimir el directorio de cosas, ejecuta 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 en el directorio actual.

tar -xzvf archive.tar.gz

Este es el mismo que el comando de creación de archivo que usamos anteriormente, excepto por el -x el interruptor reemplaza el -c cambiar. Esto especifica que quieres thXrastrear un archivo en lugar de crear uno.

Es posible que desee extraer el contenido del archivo a un directorio específico. Puede hacer esto agregando el -C ir al final del pedido. 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 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 muchas opciones adicionales, por lo que no podemos enumerarlas todas aquí. Para más información. ejecutar el información de alquitrán en el shell para mostrar la página de información detallada del comando tar. presione el q para salir de la página de información cuando haya terminado. Usted puede también leer el manual de alquitrán 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 el software gratuito 7 cremalleras utilidad.

Deja un comentario

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

Experto Geek - Tu Guía en Tendencias Tecnológicas