Curso de Linux 5/60 | Compresión y empaquetamiento

En esta entrega del curso Linux vamos a ver formas de empaquetar y comprimir y descomprimir archivos en Linux, y veremos varios comandos que nos darán distintos niveles de compresión.

Comandos de Compresión y empaquetamiento

  • TAR
  • GZIP
  • BZIP
  • ZIP y RAR

Bueno lo primero que tenemos que hacer es obtener una fuente de archivos para compresión de datos, me ha venido a la mente descargar las fuentes del kernel de Linux que después las vamos a necesitar, porque ocupan bastante espacio y son muchísimos archivos entonces nos puede ayudar a los ejemplos.

Descarga de las fuentes del Kernel de Linux

wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0.tar.gz

Entonces aquí vemos el archivo Linux 2.6.7.tar.gz  vemos que mide 43 MB comprimido. Entonces vamos a trabajar un poco con este archivo primero vamos a descomprimirlo porque esta comprimido en gzip, lo descomprimimos con el comando gunzip.

Descomprimir archivos en Linux .tar.gz

Para descomprimir archivos en Linux cuando estos están en .tar.gz utilizamos el comando gunzip

Sintaxis de gunzip:

gunzip + el nombre del archivo

Ejemplo:

gunzip linux-2.6.0.tar.gz

Como vemos el archivo linux-2.6.0.tar.gz al descomprimirlo ocupa 189Mb.

Comprimir Archivos en Linux .tar.gz

Ahora lo volvemos a comprimir en el comando gzip

gzip linux-2.6.0.tar.gz

Y vuelve otras vez a los 43MB que tenia antes.

Volvemos a descomprimimos para seguir el ejemplo pero ahora con otro comando.

gunzip linux-2.6.0.tar.gz

Ahora vamos a utilizar otro comando de compresión que se llama BZIP2.

Comprimir Archivos en Linux con BZIP2

Entonces ahí tenemos nuestro archivo linux-2.6.0.tar.gz de 189M, ahora utilizamos el comando bzip2 más el nombre del archivo, ejemplo:

bzip2 linux-2.6.0.tar.gz

esperamos que comprima y ahora vamos a notar que el tamaño del archivo comprimido con bzip2 es 10Mb menos que el comprimido con bzip. El bzip2 nos da una mayor cantidad de compresión que el gzip

Descomprimir archivos en Linux con bunzip2

Para descomprimir utilizaremos el comando bunzip2 que es el comando para descomprimir archivos comprimidos con bzip2

Sintaxis de bzip2:
bunzip2 + nombre del archivo

ejemplo:

bunzip2 linux-2.6.0.tar.bz2

entonces vemos que tenemos nuestro archivo .tar de 189Mb como lo teníamos antes.

Archivos TAR

¿que son los archivos tar? la palabra tar viene de Tape ARchiver que es el comando en Unix que se utilizaba y que aun se utiliza para guardar la información en cintas, las cintas de bakup donde se almacena mucha cantidad de información, para poder tener un respaldo real en caso de emergencia, incendio y ese tipo de cosas entonces el tar es un comando muy extenso, cuando estemos en la parte de administración vamos a verlo más a fondo pero por ahora solo vamos a ver las funciones básicas. La primera que vamos a ver es el desempaquetamiento.

¿Como descomprimir un archivo TAR?

Para el desempaquetamiento de archivos tar utilizaremos el siguiente comando:

tar xf + nombre de archivos

Ejemplo:

tar xf linux-2.6.7.tar

Al desempaquetar el archivo linux-2.6.7.tar vamos a ver que nos extrae el directorio de nombre Linux-2.6.7 y dentro de este encontramos sub-directorios y archivos.

Parámetro vervox

Si al ejemplo anterior le agregamos el parámetro v que significa vervox nos va a mostrar todos los archivos que son desempaquetados a la salida estándar de la Shell . Estamos viendo la salida de los archivos que fueron desempaquetados.

Salida del desempaquetamiento del archivo tar

Visualizar el tamaño de un directorio en Linux

En el ejemplo anterior descomprimimos un archivo tar que contenía un directorio y un conjunto de archivos y directorios dentro del directorio principal, ahora nos interesa ver cual es el tamaño final que ocupa este directorio y lo haremos con el comando du

Sintaxis de du:

du -sh + nombre de archivo

Ejemplo:

du -sh linux-2.6.7.tar

  • El parámetro -s nos permite globalizar todo el tamaño del directorio que queremos ver
  • el parámetro -h que nosotros ya lo hemos visto es el formato legible al humano, que nos muestra la información en un formato más entendible.

Para seguir con nuestro ejemplo vamos a borrar el archivo tar para volver a empaquetar el directorio que creamos al desempaquetar el archivo linux-2.6.7.tar con el siguiente comando:

rm -rf linux-2.6.7.tar

¿Cómo comprimir un archivo TAR?

Para comprimir un archivo tar utilizaremos el comando tar de la siguiente manera:

Sintaxis de tar:

tar cvf + archivo de destino .tar | origen de los datos

Ejemplo:

tar cvf linux-2.6.7.tar linux-2.6.7

Este comando tiene una particularidad y es primero colocamos el archivo de destino que es el paquete .tar y luego le decimos cual es el origen de los datos

  • c es para copiar.
  • v para que nos muestre vervox como vimos ahorita en la extracción
  • f para file o sea que lo haga a un archivo.

Pasamos a comprobar que la operación fue todo un éxito con el siguiente comando

ls -lh linux-2.6.7.tar

archivo empaquetado con tar

Una vez más vamos a crear un paquete comprimido

Sintaxis:

tar zcvf + nombre de archivo

Ejemplo:

tar zcvf linux-2.6.7.tar.gz

Parámetro z y cvf  vamos a crear el mismo paquete pero ya de una vez comprimido en gzip.

descomprimir y desempaquetar en un solo paso.

recordemos que esta empaquetado con tar y comprimido con zip entonces para extraerlo es lo mismo que vimos al principio lo único que le agregamos la z al principio para que el tar reconozca que es un archivo comprimido en zip

Sintaxis:

tar zvxf + nombre de archivo

Ejemplo:

tar zvxf linux-2.6.7.tar.gz

Comprobamos que el archivo fue creado con el siguiente comando: ls -lh linux-2.6.7.tar.gz

Ahora vamos a utilizar el tar pero con el otro algoritmo de compresión que es el Bzip2 para esto vamos a utilizar el parámetro j

Sintaxis:

tar jvxf + nombre de destino nombre de archivo

Ejemplo:

tar jvxf linux-2.6.7.tar.bz2 linux-2.6.7.tar

Comprobamos que el archivo fue creado con el siguiente comando:

ls -lh linux-2.6.7.tar.bz2

Ahora para desempaquetarlo y descomprimirlo lo hacemos con:

tar jxvf + nombre del archivo

Ejemplo:

tar jxvf linux-2.6.7.tar.bz2

Visualizar contenido de archivos tar

Un parámetro muy importante que tiene el tar es poder visualizar el contenido ya que por lo general los archivos hechos con tar son backup incluso de un sistema operativo completo entonces es muy útil poder visualizar cuales son los archivos que contiene el paquete, esto lo hacemos con el parámetro t.

Sintaxis:

tar tvf + nombre del archivo

Ejemplo

tar tvf linux-2.6.7.tar

  • t para visualizar.
  • v para que nos saque al estándar output.
  • f que significa que es un archivo.

Redirigir la salida estándar de tar

Haciendo uso del comando cat nosotros podemos redireccionar esa salida, como ya lo hicimos en la clase pasada. Al redirigir esa salida podemos colocarla en un archivo que podemos explorar y visualizar con mas calma.

Sintaxis:

tar tvf + nombre del archivo origen > nombre de archivo destino

Ejemplo:

tar tvf linux-2.6.7.tar > contenido.txt

La visualización también soporta los formatos comprimidos entonces vamos a comprimir nuestro archivo tar para hacer un ejemplo.

ahora vamos a hacer lo mismo que hacemos cuando empaquetamos y desempaquetamos un tar comprimido:

Syntaxis:

tar ztvf + nombre del archivo destino

Ejemplo:

tar ztvf linux-2.6.7.tar.gz

vemos como nos comienza a previsualizar el contenido, y de igual manera nos funciona con el bzip2.

Sintaxis:

tar jtvf + nombre del archivo destino

Ejemplo:

tar jtvf linux-2.6.7.tar.bz2

Si nosotros tuviéramos un tape backup una cinta entonces podríamos omitir el parametro f y solamente utilizar el parametro cd para poder hacer la copia hacia el dispositivo y xv para poder extraer esa copia del dispositivo de cinta , en este caso seria /dev/st0 que es el dispositivo en cinta de Linux mas común.

Bueno estos son los comandos para empaquetamiento y compresión que vienen nativos en linux por tradición porque vienen en la distribución deGNU, pero dentro del mundo de la computación es muy útil aprender a manejar todos los algoritmos de compresión que son muy usados en otras plataformas como lo es el zip y el rar.

Comprimir archivos ZIP en Linux

Una vez instalamos nosotros el zip y el rar en nuestra maquina, ya podes utilizar los comandos para comprimir una carpeta recursivamente.

Sintaxis de zip:

zip -r + archivo destino + archivo origen

Ejemplo:

zip -r linux-2.6.7.zip linux-2.6.7

Comprobamos que el archivo se ha creado:

ls -lh  linux-2.6.7.zip

Para comprimir un solo archivo simplemente damos el comando zip y el archivo de destino,

Sintaxis:

zip + archivo destino + archivo origen

Ejemplo:

zip linux-2.6.7.zip linux-2.6.7.tar

Descomprimir archivos ZIP en Linux

Para descomprimir simplemente utilizamos el comando unzip de la siguiente manera:

Sintaxis de unzip:

unzip + el archivo de destino

Ejemplo:

unzip linux-2.6.7.zip

Visualizar el contenido de un archivo ZIP

Un parámetro también útil es también el parámetro –v que nos permite visualizar el contenido de un archivo .zip

Sintaxis:

unzip -v + nombre de archivo

Ejemplo:

unzip -v linux-2.6.7.zip

Comprimir archivos RAR en Linux

Ahora el algoritmo de compresión rar lo podemos utilizar de forma muy sencilla para copiar un directorio recursivamente:

Sintaxis de rar:

rar a nombre de destino + nombre de origen

Ejemplo:

rar a linux-2.6.7.rar linux-2.6.7.tar

a de agregar

comprobamos con:

ls -lh Linux.2.6.7.rar

Descomprimir archivos RAR en Linux

Para descompromir no es igual que en zip no podemos dar unrar y el archivo, tenemos que dar unrar x para extraer y el archivo .rar de la siguiente manera.

Sintaxis de unrar:

unrar x Linux.2.6.7.rar

comprobamos:

ls -lh

Bueno esto se acabo ya no hay más por esta clase, recuerden suscribirse por correo para recibir los nuevos artículos de Linux desde el pie de pagina, recuerden que también estoy en Facebook como efox desclasificado para los que quieran seguir las redes sociales y no olviden compartir si creen que esta información les fue de utilidad y a quien crea que le puede ser de utilidad. Yo soy efox desclasificado un enfoque diferente de la tecnología informática.

Comentar

Su dirección de correo electrónico no será publicada.Los campos necesarios están marcados *

*

4 Compartir
Compartir4
Twittear
Compartir
+1