Saltar al contenido

2.6 Archivado y Compresión

En Linux, “archivar” (empaquetar muchos archivos en uno) y “comprimir” (hacer los archivos más pequeños) son a menudo dos pasos separados, aunque las herramientas modernas los combinan.

tar (Tape ARchive) es la herramienta estándar para empaquetar archivos.

  • Crear un archivo (-c):

    tar -cvf archivo.tar archivo1 archivo2 dir/

    (Opciones: create (crear), verbose (verborrea/detallado), file (archivo))

  • Extraer un archivo (-x):

    tar -xvf archivo.tar

    (Opciones: extract (extraer))

  • Listar contenido (-t):

    tar -tvf archivo.tar

Linux soporta múltiples formatos de compresión. gzip es el más común, mientras que xz ofrece mejor compresión a costa de velocidad.

HerramientaExtensiónComprimirDescomprimir
gzip.gzgzip archivogunzip archivo.gz
bzip2.bz2bzip2 archivobunzip2 archivo.bz2
xz.xzxz archivounxz archivo.xz
zip.zipzip -r arch.zip dirunzip arch.zip

Usualmente no comprimes archivos distintos por separado; comprimes un “tarball” (archivo tar).

  • gzip (-z): archivo.tar.gz o .tgz

    tar -czvf archivo.tar.gz carpeta/
    tar -xzvf archivo.tar.gz
  • bzip2 (-j): archivo.tar.bz2

    tar -cjvf archivo.tar.bz2 carpeta/
  • xz (-J): archivo.tar.xz

    tar -cJvf archivo.tar.xz carpeta/

rsync es una herramienta poderosa para sincronización y copias de seguridad. Solo copia los cambios.

# Sincronizar contenidos de origen a destino
# -a: modo archivo (preserva permisos, tiempos, etc.)
# -v: verbose (detallado)
rsync -av origen/ destino/

# Sincronización remota (sobre SSH)
rsync -avz origen/ usuario@remoto:/backup/DIR/