Comprimir y Descomprimir directorios completos en Linux

Como no todo viene con manual o muchas veces se nos dificulta encontrar documentación para algunos usuarios, y más si se trata de un nuevo sistema operativo, tal es el caso de Linux. Si se sabe utilizar, la terminal es una herramienta muy poderosa para cualquier usuario, y no necesariamente se necesita ser un experto, solo necesitamos conocer algunos comandos o los más básicos, como los comandos para comprimir y descomprimir directorios completos incluyendo todos los archivos y carpetas que se encuentren dentro de estos.

tabby compress directory tar gz

Esto aplica para cualquier distribución de Linux, podría tratarse de Debian, Ubuntu, CentOS, etc.

Comprimir un directorio completo

La forma más básica de comprimir es usando el comando:

tar -zcvf archivo-2080-04-01.tar.gz /home/usuario/directorio

También podemos usar el siguiente comando que es exactamente lo mismo que el anterior, solo que usando los parámetros completos:

tar --gzip --create --verbose --file=archivo-2080-04-01.tar.gz /home/usuario/directorio

El archivo resultante quedará comprimido y localizado en el directorio en el que nos encontremos, por ejemplo, si entramos con el usuario root desde la terminal, e inmediatamente ejecutamos el comando anterior, el fichero archivo-2080-04-01.tar.gz quedara en el directorio /root, que es el directorio por defecto en el que estamos al acceder como usuario root.

Los parámetros del comando usado son:

  • z, --gzip: utiliza la herramienta gzip para comprimir.
  • c, --create: crea un nuevo archivo, en este caso el contenedor tar, que por defecto no tiene compresión.
  • v, --verbose: es una opción que hace que todo el proceso del comando sea mostrado con más detalle.
  • f, --file=: se indica que el siguiente parámetro usado será el archivo de salida, en este caso el archivo es tar.gz.

Para poder comprimir un directorio y elegir la ubicación tenemos dos opciones:

1. La primera es navegar con el comando cd hacia el directorio en el que queremos que el archivo sea creado.

cd /directorio-de-copias-de-seguridad/
tar -zcvf archivo-2080-04-01.tar.gz /home/usuario/directorio

2. La segunda opción es cambiar la ruta del archivo, colocando el comando de la siguiente manera, usando rutas absolutas en el origen y destino:

tar -zcvf /home/usuario/archivo-2080-04-01.tar.gz /home/usuario/directorio

Descomprimir un archivo .tar.gz

En el directorio actual.

Utilizamos el siguiente comando, desde el directorio en el que se encuentre el archivo .tar.gz:

tar -zxvf archivo-2080-04-01.tar.gz

Alternativa con parámetros con nombres:

tar --gunzip --extract --verbose --file=archivo-2080-04-01.tar.gz

En este comando con parámetros con nombres gunzip es la herramienta encargada de filtrar el contenido y --extract indica que se extraerán los archivos del archivo que se encuentra en --file=, y --versbose es el nivel de detalle que el comando nos mostrara.

En una ruta personalizada.

Para elegir una ruta personalizada en donde se van a descomprimir los archivos agregamos el parámetro:-C.

tar -zxvf archivo-2080-04-01.tar.gz -C /tmp/directorio

Aunque también podemos navegar hasta el directorio destino y ejecutarlo, por ejemplo:

tar -zxvf /home/usuario/archivo-2080-04-01.tar.gz

Con esto todo el contenido del archivo se va a descomprimir en el directorio actual, sin importar que el archivo .tar.gz se encuentre en otro lugar.

Fuente en inglés: https://www.cyberciti.biz/faq/how-do-i-compress-a-whole-linux-or-unix-directory/

Etiquetas
Categorías