> Faqs > Comprimir y descomprimir archivos en Linux

Comprimir y descomprimir archivos en Linux

Deseo saber cómo comprimir y descomprimir ficheros en Linux en un servidor web al que accedo por SSH.

Es decir, realizar las tareas de compresión y descompresión, trabajando en línea de comandos de Linux.

Responder la pregunta
Editar Hacer otra preguntaPreguntar

Respuestas

Comprimir y descomprimir archivos es una de las tareas mas comunes que vamos a tener que realizar en Linux por línea de comandos. Podemos hacerlo mediante diversas herramientas, pero existen dos que van a estar disponibles en casi cualquier distribución.

Son dos herramientas que se tienen que utilizar de manera complementaria. Se trata de tar, que simplemente empaqueta varios archivos en un único fichero, y gzip, que hace la compresión propiamente dicha.

El comando tar tiene la siguiente sintaxis:

 tar [opciones] [origen] [destino]

Donde opciones son, por ejemplo, las siguientes:

  • c: crear un archivo
  • x: extraer de un archivo
  • t: listar los contenidos de un archivo
  • v: ver un reporte de las acciones a medida que se van realizando
  • f: empaquetar contenidos de archivos
  • z: para comprimir a la vez que se empaqueta

Como se puede ver, con la opción z se puede comprimir en el mismo paso en el que se empaqueta, lo que puede hacer las cosas más rápidas y cómodas. De todos modos, tar simplemente hace el empaquetado y es gzip el que realiza la compresión. Simplemente que nosotros no tenemos que llamar a gzip, sino que ya lo hace directa e internamente tar.

Ejemplos de compresión de archivos en Linux

  1. Si queremos empaquetar un directorio llamado "html" y guardar los datos en "html-paq.tar", lo haríamos con la sentencia:
 tar cvf html-paq.tar html
  1. Si queremos comprimir un directorio llamado "archivos" y guardarlo en un fichero llamado "archivos-comp.tgz", `podríamos hacer algo como esto:
 tar czvf archivos-comp.tgz archivos

Si nos fijamos, en este caso el nombre del archivo comprimido le hemos puesto extensión .tgz, que indica que está empaquetado y comprimido.

Ejemplos de comandos para descomprimir los archivos

  1. Si queremos desempaquetar un archivo llamado xxx.tar podemos utilizar un comando como este:
 tar xvf xxx.tar

Eso supone que tenemos el archivo xxx.tar en el mismo directorio desde donde lanzamos el comando. Los contenidos se desempaquetarán en el mismo directorio donde estamos situados.

  1. Si el archivo que queremos desempaquetar está comprimido. Es decir, si queremos descomprimir y desempaquetar en un solo paso, tenemos que hacerlo con la opción z del comando tar. Algo como esto:
 tar xzvf xxx.tgz

Con estos comandos de ejemplos podrás resolver cómodamente la mayoría de las operativas de compresión y descompresión en Linux. Es prácticamente un copiar y pegar ;)

En esta otra FAQ se explica cómo comprimir y descomprimir archivos zip por línea de comandos.

Miguel Angel
1481 66 95 5