Comprimir todos los archivos en un directorio por línea de comando
Este es un muy buen comando de terminal, que comprime cada archivo en un directorio, convirtiéndolos en un archivo zip. Ofreceremos dos variantes del mismo; uno que elimina el archivo fuente original y deja solo los archivos comprimidos y otro comando que deja intactos los archivos fuente sin comprimir. Esto ha sido probado y funciona en Mac OS X y Linux.
Comprima todos los archivos en un directorio y elimine los archivos de origen
Esta versión comprime todos los elementos del directorio actual y luego elimina el archivo fuente original sin comprimir:
for item in *; do zip -m "${item}.zip" "${item}"; done
Recuerde que * significa todos los archivos en el directorio actual, así que asegúrese de estar en el directorio que desea comprimir antes de ejecutar el comando. Siempre puede verificar en qué directorio está trabajando con el comando «pwd».
Probé esto incluso después de leerlo. StevenF y en promedio los archivos comprimidos en un 66%, lo que representa una reducción significativa. Si tiene una descarga descargada en gran parte u otro archivo de almacenamiento, este comando realmente puede ahorrar espacio en el disco. Obviamente, dado que comprime archivos, no tendría sentido usarlo en un directorio donde se accede a cosas con regularidad.
Comprima todos los archivos en un directorio, mantenga los archivos originales
También puede usar el comando anterior para comprimir todos los archivos en un directorio, pero aún así mantener los archivos o carpetas originales sin comprimir. El comando es prácticamente idéntico, solo deja la bandera -m:
for item in *; do zip "${item}.zip" "${item}"; done
Ahora habrá comprimido todos los archivos en el directorio de trabajo actual (pwd) y los archivos fuente originales también permanecerán sin comprimir.
Estos comandos funcionan en Mac OS X y Linux y probablemente en otras variantes de Unix.
Vea más consejos sobre la línea de comandos si está interesado.