Linux

¿Como puedo comprimir un directorio en Linux / UNIX?

Por 15 marzo, 2020agosto 15th, 2021No hay comentarios

En realidad es muy sencillo comprimir un directorio en Linux/UNIX y es muy útil para hacer backup de archivos, enviar por correo un grupo de archivos, o incluso enviar un software que hayas creado a un amigo. Técnicamente estos archivos son llamados «archivos comprimidos».

El comando tar es el ideal para esta tarea y puede ser utilizado en servidores Linux/Unix y en general realiza dos acciones principales:

Crea el archivo
Comprime el archivo
Para comprimir un archivo debe utilizar el comando tar como se muestra a continuación:

tar -zcvf nombre-archivo.tar.gz nombre-directorio

Donde:

-z: comprime el archivo usando el programa gzip
-c: crea el archivo
-v: verbose. Muestra el progreso mientras se comprime el archivo
-f: el nombre del archivo a crear

Por ejemplo:

Digamos que tiene un directorio llamado /home/user/programa el cual quieres comprimir, bueno se utilizaría el siguiente comando:

tar -zcvf prog-1-ene-2017.tar.gz /home/user/programa

El comando anterior creará un archivo llamado prog-1-ene-2017.tar.gz en el directorio actual. Si deseas restaurar el archivo entonces necesitas utilizar el siguiente comando (Extraerá los archivos en el directorio actual):

tar -zxvf prog-1-ene-2017.tar.gz

Donde:

-x: Extrae los archivos.
Si se desea extraer los archivo en un directorio en particular, por ejemplo si quisiera extraer los archivos en /tmp se usaría el siguiente comando:

tar -zxvf prog-1-ene-2017.tar.gz -C /tmp

Nota sobre los comando no gnu/tar

Los comandos anteriores hacen referencia a la sintaxis de GNU tar para comprimir y descomprimir archivos sin embargo si tu sistema no usa GNU tar igualmente puedes crear archivos comprimidos a travez del siguiente comando:

tar -cvf - file1 file2 dir3 | gzip > archive.tar.gz