Comandos de UNIX — Comprimir directorios y archivos

 

Generalidades

Los sitios web a menudo te permitirán descargar un sólo archivo comprimido que contiene muchos otros archivos. Esto facilita y agiliza la descarga a través de tu navegador, ya que el archivo es más pequeño que la carpeta que contiene todos los archivos. Estos archivos comprimidos generalmente terminan con estas extensiones:

  • .zip
  • .gz
  • .tar.gz
  • .tar.bz2

Puedes descomprimirlos en tu computador usando el software de tu computador. De lo contrario, puedes cargar el archivo comprimido en tu servidor web y descomprimirlo allí utilizando los comandos que se encuentran en el siguiente artículo.

Pero, ¿qué pasa si necesitas hacer lo contrario? ¿Qué sucede si necesitas comprimir carpetas en tu servidor web para poder descargarlas en tu computador local? Todo lo que necesitas hacer es iniciar sesión en tu servidor a través de SSH y correr los comandos que se muestran a continuación.

Comprimir un directorio

Comprimir a un archivo .zip

Puedes usar el comando 'zip' para comprimir una carpeta llena de archivos. Por ejemplo, si tienes un sitio de WordPress llamado example.com, es posible que desees comprimir todos los archivos y carpetas dentro de él antes de descargarlo.

El siguiente comando comprime el directorio llamado example.com y crea un nuevo archivo zip llamado example.com.zip. El directorio original permanece intacto.

[server]$ zip -r example.com.zip example.com

Puedes usar la configuración de compresión máxima (-9) que intentará comprimir todos los archivos. Sin embargo, esto puede ser más lento:

[server]$ zip -9 -r example.com.zip example.com

Comprimir a un archivo .tar.gz

El siguiente comando usa 'tar' para comprimir un directorio de imágenes en un archivo llamado image_backup.tar.gz.

[server]$ tar zcvf image_backup.tar.gz images

La carpeta original seguirá existiendo.

Comprimir a un archivo .tar.bz2

El siguiente comando usa 'tar' para comprimir un directorio de imágenes en un archivo llamado image_backup.tar.bz2.

[server]$ tar cjvf image_backup.tar.bz2 images

La carpeta original seguirá existiendo.

Comprimir archivos

Comprimir un archivo usando GZIP

Los comandos anteriores muestran cómo comprimir un directorio completo. Sin embargo, a veces solo necesitarás comprimir un solo archivo. Para lograr esto, puedes usar gzip. El siguiente comando comprime un archivo llamado test.log y lo renombra test.log.gz. Ten en cuenta que el archivo test.log ya no existirá ya que se ha comprimido.

[server]$ gzip test.log

Si aún necesitas el archivo test.log para existir, ejecuta lo siguiente en su lugar. Esto crea una copia comprimida del archivo:

[server]$ gzip -c test.log > test.log.gz

Confirmar que tu carpeta ha sido comprimida

Una vez que ejecutes los comandos anteriores, verifica que el directorio se haya comprimido. Puedes hacer esto usando du -sh para los directorios antiguos y nuevos.

[server]$ du -sh example.com.zip
30M example.com_backup
[server]$ du -sh example.com
82M example.com

Puedes ver arriba que la copia de seguridad comprimida es más pequeña que la carpeta original.

¿Qué comando comprime más un directorio?

A continuación se muestra cuánto se comprime un sitio de WordPress usando las diferentes opciones de compresión.

Primero, verifica el tamaño del directorio de WordPress. Esto muestra que es 82M.

[server]$ du -sh example.com
82M example.com

Los siguientes son los resultados de los diferentes métodos de compresión.

[server]$ du -sh example.com.zip
30M example.com.zip
[server]$ du -sh example.com.tar.gz
27M example.com.tar.gz
[server]$ du -sh example.com.tar.bz2
24M example.com.tar.bz2

En general, tar.bz2 comprime más.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?