Página principal » cómo » 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 de archivo .tar.gz o .tgz, también llamados "archivos comprimidos". Este comando tiene una gran cantidad de opciones, pero solo necesita recordar algunas letras para crear archivos rápidamente 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 integrada. Puede crear un archivo .tar y luego comprimirlo con gzip o bzip2 en un solo comando. Es por eso que el archivo resultante es un archivo .tar.gz o un archivo .tar.bz2.

    Comprimir 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 dentro de un directorio que especifique; en otras palabras, funciona de manera recursiva.

    tar -czvf nombre-de-archivo.tar.gz / ruta / a / directorio-o-archivo

    Esto es lo que realmente significan esos interruptores:

    • -do: doreate un archivo.
    • -z: Comprimir el archivo con gzip.
    • -v: muestra el progreso en el terminal mientras se crea el archivo, también conocido como "vmodo erbose ”. La v es siempre opcional en estos comandos, pero es útil.
    • -f: le permite especificar el Fnombre del archivo.

    Digamos que tiene un directorio llamado "cosas" en el directorio actual y desea guardarlo en un archivo llamado archive.tar.gz. Ejecutarías el siguiente comando:

    tar -czvf archive.tar.gz cosas

    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ías el siguiente comando:

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

    Comprimir múltiples directorios o archivos a la vez

    Mientras que 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 quiere comprimir el directorio / home / ubuntu / Downloads, el directorio / usr / local / stuff y el archivo /home/ubuntu/Documents/notes.txt. Acabas de ejecutar el siguiente comando:

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

    Solo liste tantos directorios o archivos como desee hacer una copia de seguridad.

    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 --excluir cambiar para cada directorio o archivo que desea excluir.

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

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

    los --excluir El interruptor 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, podría 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

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

    Gzip es más rápido, pero generalmente se comprime un poco menos, así que obtienes un archivo un poco más grande. Bzip2 es más lento, pero se comprime un poco más, así que obtienes un archivo un poco más pequeño. Gzip también es más común, con algunos sistemas Linux reducidos que incluyen el soporte de gzip por defecto, pero no el soporte de bzip2. En general, sin embargo, 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 cosas

    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 -X interruptor reemplaza al -do cambiar. Esto especifica que desea eXtramitar un archivo en lugar de crear uno.

    Es posible que desee extraer el contenido del archivo a un directorio específico. Puedes hacerlo añadiendo el -do cambiar al final del comando. Por ejemplo, el siguiente comando extraerá el contenido del archivo archive.tar.gz en el directorio / tmp.

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

    Si el archivo es un archivo comprimido con bzip2, reemplace la "z" en los comandos anteriores con 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 no podemos enumerarlas todas aquí. Para más información. corre el información tar comando en el shell para ver la página de información detallada del comando tar. presione el q clave para salir de la página de información cuando hayas terminado. También puedes 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.