GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo gzip todos los archivos en todos los subdirectorios en un archivo comprimido en bash

hay muchos métodos de compresión que funcionan recursivamente en la línea de comandos y es bueno saber quién es la audiencia final.

es decir, si se va a enviar a alguien que ejecuta Windows, probablemente lo mejor sea zip:

zip -r file.zip folder_to_zip

unzip filenname.zip

para otros usuarios de Linux o para ti mismo tar es genial

tar -cvzf filename.tar.gz folder

tar -cvjf filename.tar.bz2 folder  # even more compression

#change the -c to -x to above to extract

Hay que tener cuidado con el alquitrán y cómo se alquitran/extraen las cosas, por ejemplo, si ejecuto

cd ~
tar -cvzf passwd.tar.gz /etc/passwd
tar: Removing leading `/' from member names
/etc/passwd


pwd

/home/minombredeusuario

tar -xvzf passwd.tar.gz

esto creará/home/myusername/etc/passwd

no estoy seguro si todas las versiones de tar hacen esto:

 Removing leading `/' from member names

La publicación de @amitchhajer funciona para GNU tar. Si alguien encuentra esta publicación y necesita que funcione en un NO GNU sistema, pueden hacer esto:

tar cvf - folderToCompress | gzip > compressFileName

Para expandir el archivo:

zcat compressFileName | tar xvf -

tar -zcvf compressFileName.tar.gz folderToCompress

todo en folderToCompress irá a compressFileName

Editar:después de la revisión y los comentarios, me di cuenta de que las personas pueden confundirse con compressFileName sin una extensión. Si lo desea, puede usar la extensión .tar.gz (como se sugiere) con compressFileName


Linux
  1. Cómo eliminar todos los archivos de una carpeta excepto un archivo específico en Linux

  2. Cómo extraer archivos .gz y .tar.gz en Linux

  3. ¿Cómo verificar la subcadena en Shell Script Bash?

  4. Cómo gzip todos los archivos en todos los subdirectorios en bash

  5. Cómo agregar contenidos de múltiples archivos en un archivo

Cómo leer archivos línea por línea en Bash

Cómo resolver:stdin:no en formato gzip

Todo sobre archivos tar y cómo tar, untar archivos en Linux usando Terminal

Cómo tar tipos de archivos específicos (extensiones) en un directorio

Cómo combinar varios archivos PDF en un solo PDF en Linux

Cómo unir/combinar varios archivos de audio en uno solo en Linux