Administración Linux VII – Ficheros comprimidos

Publicado el 03 febrero 2015 por Instintobinario

Es muy común necesitar comprimir varios ficheros en uno solo, o un directorio entero, ya sea para que ocupe menos o para poder mandarlos por email o compartirlos en la red. También suele haber que descomprimir ficheros descargados, por ejemplo para compilar un código fuente. En Linux existen diferentes alternativas vía consola, y en éste artículo voy a hacer un repaso a las principales.

Antes de comprimir nada vamos a ver una opción que no comprime los ficheros, sino que los empaqueta tal cual están.

tar <opciones> archivo.tar origenes

El comando tar empaqueta o desempaqueta los archivos indicados en orígenes (pueden indicarse varios archivos separados por espacio), en el fichero archivo.tar. Hay diferentes opciones para comprimir y descomprimir, primero diré los conjuntos de opciones para acciones concretas y después las principales opciones por separado.

  • -cvf: Crear el archivo empaquetado.
  • -xvf: Desempaquetar archivo.
  • -tf: Muestra el contenido.

Las opciones principales de éste programa son:

  • -c → create.
  • -d → busca las diferencias entre un archivo y el sistema de ficheros.
  • –delete → elimina ficheros de un archivo.
  • -r → añade archivos a un fichero.
  • -t → lista el contenido de un archivo.
  • -u → añade ficheros a un archivo sólo si son más nuevos que los de mismo nombre que contiene el archivo.
  • -v → verbose: va indicando las acciones que realiza.
  • -x → extraer ficheros del archivo.
  • -z → comprime con gzip a la vez que se empaqueta.

Pasamos ahora a comprimir y descomprimir archivos. Vamos a ir listando qué hacemos con los diferentes formatos:

  • zip:
    Comprimir:          zip archivo.zip ficheros
    Descomprimir:    unzip archivo.zip
    Ver contenido:    unzip -v archivo.zip
  • rar:
    Comprimir:         rar -a archivo.rar ficheros
    Descomprimir:  unrar e archivo.rar
    Ver contenido:   rar -v archivo.rar
  • gzip:
    Comprimir:
    gzip archivo El archivo de salida de salida se llamará archivo.gz, y el original no se conserva.
    gzip -c archivo > archivo.gz Se conserva el archivo original.
    Descomprimir:
    gzip -d gzip archivo.gz destino El archivo no se conservará, solo el resultado de la compresión.
    Testear:              gzip -t archivo.gz
  • tar.gz, tgz o tar.z:
    Comprimir:         tar czfv archivo.tar.gz ficheros
    Descomprimir:  tar xzvf archivo.tar.gz
    Ver contenido:   tar tzvf archivo.tar.gz
  • tar.bz2:
    Comprimir:         tar -c ficheros | bzip2 > archivo.tar.bz2
    Descomprimir:  bzip2 -dc archivo.tar.bz2 | tar -xv
    Ver contenido:   bzip2 -dc archivo.tar.bz2 | tar -t
  • bz2:
    Comprimir:         bzip2 fichero
    Descomprimir:  bzip2 -d fichero.bz2

    En este punto debo aclarar que tanto gzip como bzip solo comprimen ficheros, no directorios. Para esto debemos empaquetar el directorio con tar y, a continuación, comprimirlo. También cabe decir que bzip2 es mejor que gzip, ya que hace una compresión mayor, pero en cambio consume más memoria y lleva más tiempo comprimirlo.

  • arj (Archiver Robert Jung):
    Comprimir:        arj a archivo.arj ficheros
    Descomprimir:
    unarj archivo.arj
    arj -x archivo.arj
    Ver contenido:
    arj -v archivo.arj
    arl -l archivo.arj
  • lha:
    Comprimir:       lha -a archivo.lha ficheros
    Descomprimir:  lha -x archivo.lha
    Ver contenido:  lha -l archivo.lha

El artículo Administración Linux VII – Ficheros comprimidos apareció por primera vez en Instinto Binario.