Empaquetar e comprimir

De Manuais Informática - IES San Clemente.
Revisión del 00:30 7 feb 2011 de Vieites (discusión | contribs.) (→‎tar)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Introdución

Comprimir e descomprimir arquivos é unha das tarefas mais comúns que vamos a ter que realizar en Linux por liñas de comandos. Podemos facelo mediante diversas ferramentas, pero existen dous que van a estar dispoñibles en casi calquera distribución.

Trátase de dúas ferramentas que hai que utilizar de xeito complementario. Trátase de tar, que simplemente empaqueta varios arquivos nun único ficheiro, e gzip, que fai a compresión propiamente dita.

tar

O comando tar ten a seguinte sintaxe:
tar [opcións] [orixe] [destino]
Onde as opcións son, por exemplo, as seguintes:
- c : crear un arquivo
- x : extraer dun arquivo
- t : listar os contidos dun arquivo
- v : ver un reporte das accións a medida que se van realizando
- f : empaquetar contidos de arquivos
- z : para comprimir á vez que se empaqueta
Como se pode ver, coa opción z pódese comprimir no mesmo paso que se empaqueta, o que pode facer as cousas mais rápidas e cómodas. De todos modos, tar simplemente fai o empaquetado e é gzip o que realiza a compresión. Simplemente que nós nont emos que chamar a gzip, senón que xa o fai directamente tar.
Exemplos:
  • Queremos empaquetar un directorio chamado "html" e gardar os datos en "html-paq.tar":
$ tar -cvf html-paq.tar html
  • Queremos comprimir un directorio chamado "arquivos" e gardalo nun ficheiro chamado "arquivos-comp.tgz":
$ tar -czvf arquivos-comp.tgz arquivos
# Neste caso, o nome do arquivo comprimido ten a extensión ".tgz",
# que indica que está empaquetado e comprimido.
  • Queremos desempaquetar un arquivo chamado "paquete.tar":
$ tar -xvf paquete.tar
# O contido do arquivo "paquete.tar" desempaquetarase no mesmo directorio onde estamos situados.
  • Se o arquivo que queremos desempaquetar está comprimido. É dicir, se queremos descomprimir e desempaquetar nun só paso, temos que facelo coa opción z do comando tar:
$ tar -xzvf paquetecomprimido.tgz
  • Comprimir tendo en conta o path orixinal dos arquivos:
$ tar -pczvf arquivo.tar.gz directorio
  • Descomprimir e logo desempaquetar, en dous pasos, empregando as utilidades gunzip e tar:
$ gunzip arquivo.tar.gz
$ tar xf arquivo.tar

zip e unzip

Os arquivos .zip son os mais empregados para compartir arquivos comprimidos, as aplicacións que os xestionan son zip e unzip.

  • Crear un arquivo chamado "comprimido.zip" con tódolos arquivos e subdirectorios dende o path no que te atopes:
$ zip -r comprimido.zip *
  • Descomprimir o arquivo "comprimido.zip":
$ unzip comprimido.zip