Hay muchas formas y muchas herramientas que puedes usar para reducir el tamaño de tus archivos, ya sea para reducir el espacio que ocupan o para enviarlos como un paquete a un contacto. De estos, 7-Zip ha ascendido al primer lugar para la mayoría de los usuarios, gracias a su combinación única de gran rendimiento y niveles de compresión sin costo alguno.
Todas las formas de compresión en este formato resultan más complicadas que el enfoque que veremos aquí. Al menos para la mayoría de los usuarios que utilizan la compresión para empaquetar todo en una carpeta y sus subcarpetas en «paquetes» comprimidos.
Entonces, veamos cómo podemos combinar el soporte de Bash para alias con la versión de línea de comandos de 7z para crear paquetes de nuestros archivos con un simple comando.
Instalar p7zip
Como la herramienta de compresión más popular, lo más probable es que 7-Zip ya esté instalado en su distribución de Linux. Para probarlo, pruebe el comando «7z» en una terminal. Si no está instalado, puede instalarlo en distribuciones basadas en Ubuntu/Debian con el comando:
sudo apt-get install p7zip-full
Archivo de alias Ceate Bash
Los alias de Bash permiten el mapeo de comandos o incluso secuencias de múltiples comandos en palabras individuales. La manera fácil de agregar alias a Bash es insertándolos al final del archivo «~/.bashrc». Por conveniencia y organización, se considera mejor colocarlos en un archivo separado.
Es probable que este archivo ya exista y que la configuración de Bash incluya una referencia a él. Compruebe si lo está abriendo «~/.bashrc» en su procesador de textos favorito y busque:
if [-f ~/.bash_aliases]; then . ~/.bash_aliases Fi
Si no, agréguelo al final del archivo después de todo lo que ya está allí.
Tenga a mano la información de 7-Zip
Puede ejecutar 7-Zip en una terminal para ver un resumen de sus opciones de línea de comandos. Para obtener información más completa, visite esta guía del usuario o la página de manual del programa con:
Estos le ayudarán a configurar sus propios comandos de compresión. Lo más probable es que los que veremos aquí también cubran tus necesidades. Así que puedes copiarlos y pegarlos en tu propio archivo .bash_aliases.
Crear el alias de ultracompresión
Abra el archivo «~/.bash_aliases» en su procesador de texto favorito; usamos nano. Ingresar:
alias 75='7z a -r -t7z -m0=lzma2 -mx=9 -myx=9 -mqs=on -ms=on'
alias 75
dice que queremos crear el comando «75» que usaremos a partir de ahora para comprimir todos los archivos y carpetas en un directorio en un paquete 7-Zip empaquetado. La razón por la que adoptamos este nombre peculiar para nuestro comando es porque es fácil de recordar como una versión abreviada de «nivel de compresión 7zip 5».
7z
es el comando de compresión en sí. los a
seguirlo significa «queremos agregar archivos a un nuevo paquete comprimido». -r
indica que p7zip no debe estar «restringido a la carpeta donde se ejecutó», sino que debe incluir el paquete comprimido final y todas las subcarpetas, con todo su contenido.
-t7z -m0=lzma2
indica que queremos crear paquetes 7zip que utilicen principalmente el algoritmo LZMA2 para la compresión de archivos. Esto generalmente produce la mejor compresión para la mayoría de los tipos de archivos.
-mx=9 -myx=9
corresponden al nivel de compresión y la «cantidad de esfuerzo» que 7-Zip pondrá en analizar el contenido de los archivos que se comprimirán para encontrar la mejor estrategia de compresión. Cuanto mayores sean sus valores, mayor será la compresión y menor el paquete producido.
Finalmente, -mqs=on -ms=on
define que queremos una compresión «sólida». Esto significa que p7zip comprimirá archivos similares como fragmentos únicos de datos, logrando resultados aún mejores. La razón por la que existen como una opción que puede desactivar es que son útiles pero también tienen dos aspectos negativos. Prolongan el tiempo de compresión y hacen que sea imposible descomprimir archivos independientes del paquete final que produce el compresor. Con una compresión sólida, no puede hacer el equivalente a «extraer un solo archivo de un zip» y debe descomprimir todo el paquete para acceder a su contenido.
Replicar y «cortar» el alias
Empezamos con el comando que consigue la máxima compresión posible para que en lugar de tener que extenderlo con más elementos, podamos retroceder, quitando parámetros y reduciendo los valores establecidos.
Comience copiando el comando existente cinco veces más, colocando cada comando en su propia línea. Deje la primera línea como está, ya que ya alcanza el nivel de compresión más alto posible. Modifique el resto, en orden, eliminando las opciones adicionales y reduciendo los niveles de compresión como se ve a continuación. Recuerde cambiar sus alias para que coincidan con los niveles de compresión más bajos.
Siempre puede copiar lo siguiente y pegarlo en su ~/.bash_aliases en su lugar.
alias 75='7z a -r -t7z -m0=lzma2 -mx=9 -myx=9 -mqs=on -ms=on' alias 74='7z a -r -t7z -m0=lzma2 -mx=9' alias 73='7z a -r -t7z -m0=lzma2 -mx=7' alias 72='7z a -r -t7z -m0=lzma2 -mx=5' alias 71= '7z a -r -t7z -m0=lzma2 -mx=3' alias 70='7z a -r -t7z -m0=lzma2 -mx=1'
Activa tus alias
Guarde los cambios en el archivo y regrese a la terminal. Para cargar y activar sus nuevos alias, use el comando:
Tus nuevos comandos de compresión están activos. P7zip funciona de forma predeterminada en todos los archivos del directorio donde se ejecuta si no define «lo que desea comprimir» como parámetro. Entonces, todo lo que necesita hacer a partir de ahora cuando desee comprimir el contenido de una carpeta en un paquete 7z es ingresar el comando:
Aquí «75» es el alias para el nivel de compresión más alto de antes, y «archive_name» es el nombre del paquete de archivos comprimidos. Puede reemplazar «75» con uno de los otros alias (de 75 a 70) para una compresión gradualmente más pequeña pero más rápida, y usar el nombre que desee para el archivo final.
Si tiene alguna pregunta, háganoslo saber en los comentarios a continuación.