You are on page 1of 2

ARCHIVANDO Y COMPRIMIENDO FICHEROS 1 de 2

INSTITUTO SUPERIOR DE EDUCACION RURAL


Administracion de redes Linux
Ing. Javier O Mogollon A.

ARCHIVANDO Y COMPRIMIENDO FICHEROS

Seguramente estará acostumbrado a usar utilidades tales como zip, rar, arj, etc... Sirven para guardar
un serie de ficheros en un archivo en formato comprimido, de forma que ocupen menos espacio en
disco. En los sistemas UNIX tradicionalmente se han distinguido ambas acciones: la de empaquetar
ficheros y la de comprimir.

Empaquetando ficheros

La utilidad para empaquetar por excelencia es tar. Su sintaxis es tar opciones fichero1 fichero2 ...
ficheroN donde opciones es la lista de comandos y opciones para tar, y fichero1 hasta ficheroN es la
lista de ficheros a añadir o extraer del archivo.

Por ejemplo, el comando


# tar cvf backup.tar /etc
empaquetará todos los ficheros de /etc en el fichero backup.tar. El primer argumento, cvf, es el
"comando" tar. c le dice a tar que cree un nuevo fichero de archivo. La opción v fuerza a tar en el modo
detallado, imprimiendo los nombres de los ficheros según se archivan. La opción f le dice a tar que el
siguiente argumento, (backup.tar), es el nombre del archivo a crear. El resto de los argumentos de tar
son los nombres de ficheros y directorios a añadir al archivo.

El comando
# tar xvf backup.tar
extraerá el «fichero tar» backup.tar en el directorio actual. Esto puede ser peligroso a veces, cuando se
extraen ficheros de un «fichero tar», los ficheros antiguos se sobreescriben. Por otra parte, antes de
extraer ficheros tar es importante conocer donde se deben desempaquetar los ficheros. Por ejemplo,
digamos que se archivaron los siguientes ficheros: /etc/hosts, /etc/group, y /etc/passwd. Si se usó el
comando
# tar cvf ~/backup.tar /etc/hosts /etc/group /etc/passwd
el nombre de directorio /etc se añadió al principio de cada nombre de fichero. Para poder extraer los
ficheros en la localización correcta, se necesitará utilizar los siguientes comandos:
# cd /
# tar xvf ~/backup.tar
Puesto que los ficheros se extraen con el nombre de camino almacenado en el fichero de archivo. Sin
embargo, si se archivaron los ficheros con los comandos

# cd /etc
# tar cvf ~/backup.tar hosts group passwd

Los nombres de directorio no se salvaron en el fichero de archivo. Por esto se necesitará hacer cd /etc
antes de extraer los ficheros. Como se puede ver, el cómo haya sido creado un «fichero tar» marca una
gran diferencia en como se extrae. Se puede usar el comando
# tar tvf backup.tar
para mostrar un "índice" del «fichero tar» antes de desempaquetarlo. De esta forma se puede ver qué
directorio se utilizó como origen de los nombres de los ficheros, para luego poder extraer el archivo
desde la localización correcta.
ARCHIVANDO Y COMPRIMIENDO FICHEROS 2 de 2

Comprimiendo ficheros

Como se comentado arriba, a diferencia de los programas de archivo para MS-DOS, tar no comprime
automáticamente los ficheros según los archiva. Por ello, si se están archivando dos ficheros de un
megabyte, el «fichero tar» resultante tendrá dos megabytes. El comando gzip puede utilizarse para
comprimir un fichero (el fichero a comprimir no necesita ser un «fichero tar»). El comando
# gzip -9 backup.tar
comprimirá backup.tar y le dejará con backup.tar.gz, que es la versión comprimida del fichero. La
opción -9 le dice a gzip que utilice el mayor factor de compresión. El comando gunzip puede ser
utilizado para descomprimir un fichero comprimido con gzip. Equivalentemente, se puede utilizar gzip
-d.

gzip es una herramienta relativamente nueva en la comunidad UNIX. Durante muchos años, se utilizó
en su lugar el comando compress. Sin embargo, debido a varios factores, compress se fue volviendo
desfasado y ahora prácticamente no se usa. Los ficheros comprimidos con compress terminan en la
extensión .Z. Por ejemplo, backup.tar.Z es la versión comprimida con compress de backup.tar, mientras
que backup.tar.gz es la versión comprimida con gzip. El comando uncompress se utiliza para expandir
un fichero comprimido con compress; gunzip sabe también como tratar este tipo de ficheros.

Hace pocos años apareció en escena un nuevo compresor que poco a poco ha ido tomando fuerza por
su, generalmente, mayor ratio de compresión. Sin embargo, aunque descomprimiendo apenas es más
lento que gzip, comprimiendo sí era bastante lento, pero gracias a la mayor capacidad de proceso de
los procesadores actuales, y las múltiples optimizaciones que se le han hecho la diferencia ya no es tan
grande. Su nombre es bzip2, su uso es similar a gzip (incluso con el comando asociado bunzip2 para
descomprimir) y su extensión asociada es .bz2.

Uso conjunto

Aunque se puede usar tar para empaquetar ficheros y luego comprimir el archivo resultante, es más
cómodo realizar ambas acciones con un sólo comando. Para ello se puede usar las opciones z e I (o J
según versiones) de tar, para usar archivos comprimidos con gzip y bzip2 respectivamente. Así:

# tar cvzf backup.tar.gz /etc

es equivalente a:
# tar cvf backup.tar /etc
# gzip backup.tar

La descompresión y desempaquetado se realizaría con:


# tar xvzf backup.tar.gz

You might also like