Compresión y Descompresión
Comandos esenciales para crear, extraer y gestionar archivos comprimidos y empaquetados en Linux.
Archivos TAR
Section titled “Archivos TAR”tar - Tape Archive
Section titled “tar - Tape Archive”Herramienta fundamental para empaquetar y comprimir archivos. Esencial para backups, transferencias y gestión de archivos múltiples.
# Crear archivo tartar -cf archive.tar file1 file2 directory/
# Crear archivo tar comprimido con gziptar -czf archive.tar.gz directory/
# Crear archivo tar comprimido con bzip2tar -cjf archive.tar.bz2 directory/
# Crear archivo tar comprimido con xztar -cJf archive.tar.xz directory/
# Extraer archivo tartar -xf archive.tar
# Extraer archivo tar.gztar -xzf archive.tar.gz
# Extraer archivo tar.bz2tar -xjf archive.tar.bz2
# Listar contenido sin extraertar -tf archive.tar
# Extraer en directorio específicotar -xf archive.tar -C /path/to/directory/
# Crear con verbose (mostrar progreso)tar -cvzf archive.tar.gz directory/
{{ ... }}
# Excluir archivostar -czf archive.tar.gz --exclude="*.log" directory/Uso en pentesting: Empaquetar herramientas, crear backups de evidencia, transferir múltiples archivos.
Compresión GZIP
Section titled “Compresión GZIP”gzip - Comprimir archivos
Section titled “gzip - Comprimir archivos”Compresor estándar de Linux con buen balance entre velocidad y compresión. Ampliamente compatible y eficiente.
# Comprimir archivo (reemplaza original)gzip file.txt
# Comprimir manteniendo originalgzip -c file.txt > file.txt.gz
# Comprimir con nivel específico (1-9)gzip -9 file.txt # Máxima compresióngzip -1 file.txt # Compresión rápida
# Comprimir recursivamentegzip -r directory/
# Mostrar información de compresióngzip -l file.txt.gzgunzip - Descomprimir archivos
Section titled “gunzip - Descomprimir archivos”Descompresor para archivos .gz. Comando complementario a gzip para extraer contenido comprimido.
# Descomprimir archivogunzip file.txt.gz
# Descomprimir manteniendo originalgunzip -c file.txt.gz > file.txt
# Descomprimir y mostrar contenidozcat file.txt.gz
# Buscar en archivos comprimidoszgrep "pattern" file.txt.gzCompresión BZIP2
Section titled “Compresión BZIP2”bzip2 - Comprimir con mejor ratio
Section titled “bzip2 - Comprimir con mejor ratio”# Comprimir archivobzip2 file.txt
# Comprimir manteniendo originalbzip2 -c file.txt > file.txt.bz2
# Comprimir con nivel específicobzip2 -9 file.txt
# Mostrar informaciónbzip2 -l file.txt.bz2bunzip2 - Descomprimir bzip2
Section titled “bunzip2 - Descomprimir bzip2”Descompresor para archivos .bz2. Maneja archivos comprimidos con bzip2.
# Descomprimir archivobunzip2 file.txt.bz2
# Descomprimir manteniendo originalbunzip2 -c file.txt.bz2 > file.txt
# Mostrar contenido comprimidobzcat file.txt.bz2
# Buscar en archivos bzip2bzgrep "pattern" file.txt.bz2Compresión XZ
Section titled “Compresión XZ”xz - Compresión de alta eficiencia
Section titled “xz - Compresión de alta eficiencia”# Comprimir archivoxz file.txt
# Comprimir manteniendo originalxz -c file.txt > file.txt.xz
# Comprimir con nivel específicoxz -9 file.txt
# Mostrar informaciónxz -l file.txt.xzunxz - Descomprimir xz
Section titled “unxz - Descomprimir xz”Descompresor para archivos .xz. Extrae contenido comprimido con xz.
# Descomprimir archivounxz file.txt.xz
# Descomprimir manteniendo originalunxz -c file.txt.xz > file.txt
# Mostrar contenidoxzcat file.txt.xzArchivos ZIP
Section titled “Archivos ZIP”zip - Crear archivos ZIP
Section titled “zip - Crear archivos ZIP”Crea archivos ZIP compatibles con múltiples sistemas operativos. Estándar universal para intercambio de archivos.
# Crear archivo ZIPzip archive.zip file1 file2
# Crear ZIP de directoriozip -r archive.zip directory/
# Crear ZIP con compresión máximazip -9 -r archive.zip directory/
# Crear ZIP sin compresiónzip -0 -r archive.zip directory/
# Agregar archivos a ZIP existentezip archive.zip newfile.txt
# Crear ZIP con contraseñazip -P password archive.zip file.txt
# Excluir archivoszip -r archive.zip directory/ -x "*.log"unzip - Extraer archivos ZIP
Section titled “unzip - Extraer archivos ZIP”Extrae archivos de formato ZIP. Herramienta estándar para descompresión multiplataforma.
# Extraer archivo ZIPunzip archive.zip
# Extraer en directorio específicounzip archive.zip -d /path/to/directory/
# Listar contenido sin extraerunzip -l archive.zip
# Extraer archivo específicounzip archive.zip file.txt
# Extraer con contraseñaunzip -P password archive.zip
# Sobrescribir sin preguntarunzip -o archive.zip
# Extraer solo archivos nuevosunzip -u archive.zipArchivos RAR
Section titled “Archivos RAR”rar - Archivos RAR
Section titled “rar - Archivos RAR”Maneja archivos RAR, formato propietario popular. Útil para extraer archivos de diversas fuentes.
# Crear archivo RARrar a archive.rar file1 file2
# Crear RAR de directoriorar a -r archive.rar directory/
# Crear con compresión máximarar a -m5 archive.rar directory/
# Crear RAR con contraseñarar a -p archive.rar file.txt
# Crear volúmenes divididosrar a -v100M archive.rar largefile.isounrar - Extraer archivos RAR
Section titled “unrar - Extraer archivos RAR”# Extraer archivo RARunrar x archive.rar
# Extraer en directorio específicounrar x archive.rar /path/to/directory/
# Listar contenidounrar l archive.rar
# Extraer con contraseñaunrar x -p archive.rar
# Probar integridadunrar t archive.rarArchivos 7ZIP
Section titled “Archivos 7ZIP”7z - Formato 7-Zip
Section titled “7z - Formato 7-Zip”Compresor de alta eficiencia con soporte para múltiples formatos. Excelente ratio de compresión.
# Crear archivo 7z7z a archive.7z file1 file2
# Crear 7z de directorio7z a archive.7z directory/
# Extraer archivo 7z7z x archive.7z
# Listar contenido7z l archive.7z
# Crear con contraseña7z a -p archive.7z file.txt
# Crear con compresión máxima7z a -mx9 archive.7z directory/
# Probar integridad7z t archive.7zEjemplos para Pentesting
Section titled “Ejemplos para Pentesting”Backup y transferencia de evidencia
Section titled “Backup y transferencia de evidencia”# Crear backup completo de directoriotar -czf evidence_$(date +%Y%m%d_%H%M%S).tar.gz /path/to/evidence/
# Comprimir logs del sistematar -czf system_logs.tar.gz /var/log/ --exclude="*.gz"
# Crear archivo con metadatos preservadostar -czpf backup.tar.gz directory/Análisis de archivos comprimidos
Section titled “Análisis de archivos comprimidos”# Buscar patrones en archivos comprimidoszgrep -i "password\|secret" *.gzbzgrep -i "admin\|root" *.bz2
# Extraer y analizar sin descomprimir completamentetar -tzf archive.tar.gz | grep -E "\.(conf|cfg|ini)$"
# Verificar integridad de archivosgzip -t *.gzbzip2 -t *.bz2Transferencia segura de herramientas
Section titled “Transferencia segura de herramientas”# Comprimir herramientas de pentestingtar -czf tools.tar.gz /opt/tools/ --exclude="*.log"
# Crear archivo autoextraíblecat > extract.sh << 'EOF'#!/bin/bashtail -n +10 $0 | tar -xzf -exit 0EOFcat extract.sh tools.tar.gz > tools_installer.shchmod +x tools_installer.shAnálisis forense de archivos comprimidos
Section titled “Análisis forense de archivos comprimidos”# Extraer metadatos de archivos ZIPunzip -l suspicious.zip | awk '{print $4}' | sort
# Buscar archivos sospechosos en archivos comprimidostar -tf archive.tar | grep -E "\.(exe|bat|cmd|scr)$"
# Verificar timestamps en archivostar -tvf archive.tar | sort -k4,5Comparación de Métodos de Compresión
Section titled “Comparación de Métodos de Compresión”Velocidad vs Compresión
Section titled “Velocidad vs Compresión”# Prueba de diferentes métodostime gzip -c largefile > test.gztime bzip2 -c largefile > test.bz2time xz -c largefile > test.xz
# Comparar tamañosls -lh test.*Scripts de benchmark
Section titled “Scripts de benchmark”#!/bin/bashFILE="testfile"echo "Método Tiempo Tamaño Ratio"echo "=================================="
# gzipstart=$(date +%s.%N)gzip -c $FILE > test.gzend=$(date +%s.%N)size=$(stat -c%s test.gz)printf "gzip %.2fs %d %.1f%%\n" $(echo "$end - $start" | bc) $size $(echo "scale=1; $size * 100 / $(stat -c%s $FILE)" | bc)
# Repetir para otros métodos...Herramientas Avanzadas
Section titled “Herramientas Avanzadas”rsync con compresión
Section titled “rsync con compresión”# Sincronizar con compresiónrsync -avz source/ destination/
# Backup incremental comprimidorsync -avz --backup --backup-dir=backup_$(date +%Y%m%d) source/ destination/dd con compresión
Section titled “dd con compresión”# Crear imagen comprimida de discodd if=/dev/sda | gzip > disk_image.gz
# Restaurar imagen comprimidagunzip -c disk_image.gz | dd of=/dev/sdaTip: Para pentesting,
tar.gzes generalmente la mejor opción por su compatibilidad universal y buen balance entre compresión y velocidad. Para máxima compresión usaxz, para velocidad usagzip -1.