Compresión en Linux
Para comprimir archivos y carpetas en Linux desde terminal, los métodos más habituales son tar (con o sin compresión) y zip. Aquí te explico cómo comprimir una carpeta, mover el archivo comprimido a un USB y luego descomprimirlo si es necesario.
NOTA: si comprimes vídeos o música perderás calidad.
1. Comprimir con tar (el método más común en Linux)
Section titled “1. Comprimir con tar (el método más común en Linux)”tar crea un archivo “empaquetado” (.tar) y opcionalmente lo comprime con gzip (.tar.gz) o xz (.tar.xz).
Comprimir carpeta en .tar.gz (más común y rápido)
Section titled “Comprimir carpeta en .tar.gz (más común y rápido)”tar -czvf nombre_comprimido.tar.gz carpeta_a_comprimir/Explicación de opciones:
-c→ crear archivo-z→ comprimir con gzip-v→ verbose (muestra progreso)-f→ especificar nombre del archivo
Comprimir carpeta en .tar.xz (mejor compresión, más lento)
Section titled “Comprimir carpeta en .tar.xz (mejor compresión, más lento)”tar -cJvf nombre_comprimido.tar.xz carpeta_a_comprimir/-J→ comprimir con xz
Comprimir varios archivos o carpetas
Section titled “Comprimir varios archivos o carpetas”tar -czvf backup.tar.gz carpeta1/ carpeta2/ archivo.txt2. Comprimir con zip (compatible con Windows)
Section titled “2. Comprimir con zip (compatible con Windows)”zip -r nombre_comprimido.zip carpeta_a_comprimir/-r→ recursivo (incluye subcarpetas)
Si no tienes zip instalado:
# En Arch/Manjarosudo pacman -S zip unzip
# En Debian/Ubuntusudo apt install zip unzip3. Mover el comprimido a un USB
Section titled “3. Mover el comprimido a un USB”Paso 1: Identificar el USB
Section titled “Paso 1: Identificar el USB”lsblk# ofdisk -lBusca tu USB (ej: /dev/sdb1) y el punto de montaje si ya está montado (ej: /run/media/usuario/USB).
Paso 2: Montar el USB (si no está montado automáticamente)
Section titled “Paso 2: Montar el USB (si no está montado automáticamente)”# Crear punto de montajesudo mkdir -p /mnt/usb
# Montar (reemplaza sdb1 con tu dispositivo)sudo mount /dev/sdb1 /mnt/usbPaso 3: Copiar el archivo comprimido al USB
Section titled “Paso 3: Copiar el archivo comprimido al USB”cp nombre_comprimido.tar.gz /mnt/usb/# o si prefieres moverlo (borra el original)mv nombre_comprimido.tar.gz /mnt/usb/Paso 4: Verificar que se copió
Section titled “Paso 4: Verificar que se copió”ls -lh /mnt/usb/Paso 5: Desmontar el USB antes de extraerlo
Section titled “Paso 5: Desmontar el USB antes de extraerlo”sudo umount /mnt/usb# o si está montado automáticamentesudo umount /run/media/usuario/USB4. Ejemplo completo paso a paso
Section titled “4. Ejemplo completo paso a paso”# 1. Ver contenido de la carpeta a comprimirls -la documentos/
# 2. Comprimirtar -czvf documentos_backup.tar.gz documentos/
# 3. Ver tamañols -lh documentos_backup.tar.gz
# 4. Identificar USBlsblk
# 5. Montar USB (asumiendo que es /dev/sdb1)sudo mount /dev/sdb1 /mnt/usb
# 6. Copiar al USBcp documentos_backup.tar.gz /mnt/usb/
# 7. Verificarls -lh /mnt/usb/
# 8. Desmontarsudo umount /mnt/usb5. Descomprimir (cuando necesites recuperar los archivos)
Section titled “5. Descomprimir (cuando necesites recuperar los archivos)”Para .tar.gz
Section titled “Para .tar.gz”tar -xzvf nombre_comprimido.tar.gzPara .tar.xz
Section titled “Para .tar.xz”tar -xJvf nombre_comprimido.tar.xzPara .zip
Section titled “Para .zip”unzip nombre_comprimido.zipDescomprimir en una carpeta específica
Section titled “Descomprimir en una carpeta específica”tar -xzvf nombre_comprimido.tar.gz -C /ruta/destino/unzip nombre_comprimido.zip -d /ruta/destino/6. Comandos útiles adicionales
Section titled “6. Comandos útiles adicionales”Ver contenido de un comprimido sin descomprimir
Section titled “Ver contenido de un comprimido sin descomprimir”# Para .tar.gztar -tzvf nombre_comprimido.tar.gz
# Para .zipunzip -l nombre_comprimido.zipComprimir excluyendo archivos/carpetas
Section titled “Comprimir excluyendo archivos/carpetas”tar -czvf backup.tar.gz carpeta/ --exclude="carpeta/cache"Comprimir con contraseña (solo zip)
Section titled “Comprimir con contraseña (solo zip)”zip -er nombre_comprimido.zip carpeta/# Te pedirá la contraseña7. Notas importantes
Section titled “7. Notas importantes”- Espacio en USB: Verifica que tenga suficiente espacio libre (
df -h /mnt/usb) - Sistema de archivos FAT32: Si el USB está en FAT32, los archivos no pueden ser mayores a 4GB. Usa
splitpara dividir:Para unir después:Terminal window tar -czvf - carpeta/ | split -b 3G - backup.tar.gz.partTerminal window cat backup.tar.gz.part* > backup.tar.gz - Permisos: Si usas
sudopara montar, los archivos copiados serán de root. Para evitarlo, monta con opciónuid:Terminal window sudo mount -o uid=$(id -u),gid=$(id -g) /dev/sdb1 /mnt/usb
8. Resumen rápido
Section titled “8. Resumen rápido”| Tarea | Comando |
|---|---|
| Comprimir carpeta en .tar.gz | tar -czvf archivo.tar.gz carpeta/ |
| Comprimir carpeta en .zip | zip -r archivo.zip carpeta/ |
| Ver discos/USBs | lsblk |
| Montar USB | sudo mount /dev/sdb1 /mnt/usb |
| Copiar al USB | cp archivo.tar.gz /mnt/usb/ |
| Desmontar USB | sudo umount /mnt/usb |
| Descomprimir .tar.gz | tar -xzvf archivo.tar.gz |
| Descomprimir .zip | unzip archivo.zip |