¿Como puedo comprimir un directorio en Linux / UNIX?

bash bug bigger than heartbleed showcase image 6 a 7359

En realiadad 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. Tecnicamente 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 usaria 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

 

Etiquetas: Linux, Unix

Imprimir Correo electrónico