Comprimir y archivar ficheros — Gzip, Zip y Tar

Comprimir con Gzip y Zip

Los ficheros comprimidos utilizan menos espacio en el disco y se descargan más rápido que los ficheros no comprimidos. Puede comprimir ficheros Linux con la herramienta de compresión open-source Gzip o con Zip, reconocida por la mayoría de sistemas operativos.

Por convención, a los ficheros comprimidos se les da la extensión .gz. El comando Gzip crea un fichero comprimido que finaliza con .gz; Gunzip extrae los ficheros comprimidos y suprime el fichero .gz.

Para comprimir un fichero, teclee el siguiente comando en el indicador de comandos de la shell:

gzip filename.ext

El fichero será comprimido y guardado como filename.ext.gz.

Para expandir un fichero comprimido, teclee:

gunzip filename.ext.gz

El filename.ext.gz se borra y se reemplaza con filename.ext.

Si intercambia ficheros con usuarios no-Linux, le conviene zip para evitar problemas de compatibilidad. Red Hat Linux puede abrir ficheros zip o gzip fácilmente, pero los sistemas operativos que no sean Linux puede que tengan problemas.

Para comprimir un fichero con zip, escriba lo siguiente:

zip -r filename.zip files

En este ejemplo, filename representa el fichero que ha creado y los ficheros representan aquéllos que quiere introducir en un nuevo fichero:

Para extraer el contenido de una línea zip, teclee:

unzip filename.zip

Puede hacer zip o gzip múltiples ficheros al mismo tiempo. Haga un listado de los ficheros con un espacio entre cada uno.

gzip filename.gz file1 file2 file3 /user/work/school 

El comando anterior comprimirá file1, file2, file3, y el contenido del directorio /user/work/school y los guardará en filename.gz.

Archivar con Tar

Los ficheros tar ubican diferentes ficheros o los contenidos de un directorio o directorios en un fichero. Éste es un buen modo de crear copias de seguridad y archivos. Habitualmente, los ficheros tar acaban con la extensión .tar.

Para crear un fichero tar, teclee:

tar -cvf filename.tar files/directories

En este ejemplo, filename.tar representa el fichero que está creando y files/directories representa los ficheros o directorios que quiere introducir en el nuevo fichero.

Puede utilizar nombres de rutas absolutos o relativos para estos ficheros y directorios (para más información sobre los nombres de rutas, vea la la sección de nombre Cambiar de directorios con cd en Capítulo 10). Separe los nombres de los ficheros y directorios con un espacio.

La siguiente entrada creará un fichero tar usando un nombre de ruta absoluto:

 tar -cvf foo.tar /home/mine/work /home/mine/school

El comando anterior situará todos los ficheros en el subdirectorio /work y el subdirectorio /school en un nuevo fichero llamado foo.tar en el directorio donde está trabajando.

El comando tar -cvf foo.tar file1.txt file2.txt file3.txt situará file1.txt, file2.txt y file3.txt en un nuevo fichero llamado foo.tar.

Para listar los contenidos de un fichero tar, teclee:

tar -tvf foo.tar

Para extraer los contenidos de un fichero tar, teclee:

tar -xvf foo.tar

Este comando no suprime el fichero .tar file, pero ubica copias del contenido de .tar en el directorio en el que está trabajando actualmente.

El comando tar no coomprime ficheros automáticamente. Puede comprimir ficheros tar con:

tar -czvf foo.tar

A los ficheros tar se les da generalmente la extensión .tgz y son comprimidos con gzip.

Para expandir un fichero tar comprimido escriba:

tar -xzvf foo.tgz