GNU/Linux >> Tutoriales Linux >  >> Linux

Comprimir una carpeta con tar?

A tar y gzip una carpeta, la sintaxis es:

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

El - con czf es opcional.

Si quieres tar el directorio actual, use . para designar eso.

Para construir nombres de archivo de forma dinámica, use el date utilidad (mire su página de manual para las opciones de formato disponibles). Por ejemplo:

cd /var/www &&
tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .

Esto creará un archivo llamado algo así como 20120902-185558.tar.gz .

En Linux, lo más probable es que su tar también es compatible con la compresión BZip2 con el j en lugar de z opción. Y posiblemente otros. Consulte la página del manual en su sistema local.


Ejemplos de los algoritmos de compresión más comunes

El título de la pregunta para esto es simplemente "¿Comprimir una carpeta con tar?" Dado que este título es muy general, pero la pregunta y la respuesta son mucho más específicas, y debido a la gran cantidad de visitas que ha atraído esta pregunta, sentí que sería beneficioso agregar una lista actualizada de ejemplos de ambos. archivar/comprimir y extraer/descomprimir, con varios algoritmos de compresión de uso común.

Estos han sido probados con Ubuntu 18.04.4. Son muy simples para uso general, pero podrían integrarse fácilmente en los contenidos de preguntas más específicos del OP utilizando las técnicas en la respuesta aceptada y los comentarios útiles anteriores.

Una cosa a tener en cuenta para la audiencia más general es que tar no agregará las extensiones necesarias (como .tar.gz ) automáticamente:el usuario tiene que agregarlos explícitamente, como se ve en los siguientes comandos:

# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball
tar cvf filename.tar *

# 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory
tar xvf filename.tar

# 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip
tar cvzf filename.tar.gz *

# 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory
tar xvf filename.tar.gz # Note: same options as 2 above

# 5: tar (create bzip2'ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2
tar cvjf filename.tar.bz2 * # Note: little 'j' in options

# 6: Untar (extract bzip2'ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory
tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above

# 7: tar (create xz'ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz
tar cvJf filename.tar.xz * # Note: capital 'J' in options

# 8: Untar (extract xz'ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory
tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above

Consulte la página de manual de tar (es mejor usar man tar en su máquina específica) para obtener más detalles. A continuación, resumo las opciones utilizadas anteriormente directamente desde la página del manual:

-c, --crear
crear un nuevo archivo

-x, --extraer, --obtener
extraer archivos de un archivo

-v, --verbose
enumera detalladamente los archivos procesados

-z, --gzip
filtrar el archivo a través de gzip

-j, --bzip2
filtrar el archivo a través de bzip2

-J, --xz
filtrar el archivo a través de xz

-f, --file=ARCHIVO
usar archivo de almacenamiento o dispositivo ARCHIVO

No es necesario agregar el - delante de las opciones combinadas, o el = firmar entre el f opción y el nombre del archivo.

Obtuve todo esto de mi artículo reciente, que se ampliará en un artículo mucho más completo a medida que tenga tiempo para trabajar en él.


Linux
  1. Cómo tar (comprimir) archivos, excluyendo ciertos archivos o directorios

  2. Cómo archivar y comprimir archivos en Linux

  3. ¿Ordenar archivos en una carpeta específica con Ranger?

  4. ¿Cómo comprimir varios archivos en un archivo .xz?

  5. Cómo comprimir/descomprimir en Linux

Comando tar en Linux con ejemplos

Tar Vs Zip Vs Gz:diferencia y eficiencia

Comando tar de Linux:cómo comprimir archivos en Linux

Montar una carpeta remota con sshfs

Primeros pasos con el comando Tar

El tutorial Ultimate Tar Command con 10 ejemplos prácticos