En profundidad, vea los comandos de compresión y archivo de Linux

La necesidad de empaquetar y comprimir archivos juntos en un solo archivo ha existido desde que los ordenadores obtuvieron los primeros discos duros, y esa necesidad se ha mantenido hasta el día de hoy. La mayoría de los usuarios de ordenadores están familiarizados con los archivos.zip, pero los archivos son mucho más que el humilde.zip. En este tutorial, le mostraremos los diferentes comandos de compresión y archivo de Linux y la forma correcta de utilizarlos.

Tar y gzip

Históricamente, la herramienta de archivo predeterminada en Linux es el comando tar. Originalmente significaba «Archivo de cintas», pero eso fue cuando las cintas eran el medio principal para mover los datos. El comando tar es muy flexible y puede crear, comprimir, actualizar, extraer y probar archivos de archivo. La extensión por defecto para un archivo tar sin comprimir (a veces llamado archivo tar o tarball) es.tar, mientras que los archivos tar comprimidos suelen usar la extensión.tgz (es decir, un archivo tar comprimido con zip de GNU). Tar ofrece varios métodos de compresión diferentes, incluyendo bzip2, zip, LZW y LZMA.

Para crear una tarball sin comprimir de todos los archivos de un directorio, utilice el siguiente comando:

tar cvf somefiles.tar *

c significa crear, v significa verboso (lo que significa que el comando tar listará los archivos que está archivando) y f indica a tar que el siguiente parámetro es el nombre del archivo de almacenamiento, en este caso «somefiles.tar». El comodín * significa todos los archivos en el directorio, como lo haría para la mayoría de los comandos de shell de Linux.

El tarball «somefiles.tar» se crea en el directorio local. Ahora se puede comprimir con una herramienta como gzip, zip, comprimir o bzip2. Por ejemplo:

gzip somefiles.tar

gzip comprime el tarball y añade la extensión.gz. Ahora en el directorio local hay un archivo somefiles.tar.gz en lugar del archivo somefiles.tar.

Este proceso de dos pasos, crear el tarball y comprimirlo, puede reducirse a un paso utilizando la compresión incorporada de tar:

tar cvzf somefiles.tgz *

Esto creará un tarball comprimido gzip llamado somefiles.tgz. La opción adicional z hace que el alquitrán comprima la bola de alquitrán. En lugar de z podría usar j ,J o Z, que le dice a tar que use compresión bzip2, xz y LZW respectivamente. xz implementa la compresión LZMA2, que es el mismo algoritmo que el popular programa Windows 7-Zip.

7-Zip

En profundidad, vea los comandos de compresión y archivo de LinuxEs posible crear un archivo compatible con 7-Zip usando el comando 7zr. Para crear un archivo.7z use:

7zr a somefiles.7z *

Las opciones a significan añadir, es decir, añadir todos los archivos locales en el archivo comprimido algunos archivos.7z. Este archivo puede ser enviado a un usuario de Windows y éste podrá extraer los contenidos sin ningún problema.

No se recomienda utilizar 7zr para realizar copias de seguridad en Linux, ya que 7-zip no almacena la información del propietario/grupo sobre los archivos que archiva. Es posible usar 7zr para comprimir un tarball (que almacena la información del propietario). Puede hacer esto usando un tubo Unix de la siguiente manera:

tar cvf - * | 7zr a -si somefiles.tar.7z

El guión después de la opción f le dice a tar que envíe su salida a la salida stdout de Unix y no a un archivo. Ya que estamos usando una tubería, la salida de alquitrán será alimentada a 7zr que está esperando la entrada de stdin debido a la opción -si. 7zr creará un archivo llamado somefiles.tar.7z que contendrá el tarball que a su vez contiene los archivos. Si no está familiarizado con el uso de tuberías, puede crear un tarball estándar y comprimirlo con 7zr en dos pasos:

tar -cvf somefiles.tar *
7zr a somefiles.tar.7z somefiles.tar

Extracción

Extraer los archivos de estos diferentes archivos también es muy sencillo, aquí hay una rápida hoja de trucos para extraer los diferentes archivos creados anteriormente.

Para extraer un simple uso de tarball:

tar xvf somefiles.tar

Donde x significa extracto.

Para extraer un tarball comprimido utilice:

tar xvzf somefiles.tgz

La opción z le dice a tar que gzip fue usado para comprimir el archivo original. En lugar de z se puede usar j ,J o Z dependiendo del algoritmo de compresión utilizado cuando se creó el archivo.

Para extraer los archivos de un archivo 7-Zip use:

7zr e somefiles.tar.7z

Conclusión

Linux ofrece una amplia gama de comandos de compresión y archivo. Pruebe a experimentar con los comandos zip y xz, que funcionan de forma muy similar a las otras herramientas que se mencionan aquí. Si te quedas atascado, deberías intentar leer la página de manual, por ejemplo, man xz para obtener ayuda adicional.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *