Empezando con el comando Tar

¿Cómo va eso? me llamo Ana. Os traigo un nuevo post sobre el sistema operativo mas molón. Encantado linuxeros.

¿Qué es el alquitrán? Alquitrán significa «archivo de cintaY se refiere a una práctica de los primeros días de los cálculos, cuando los datos se archivaban en cintas. A pesar del origen nostálgico del nombre, tar es muy poderoso y utiliza tecnologías modernas para archivar y comprimir archivos.

Conceptos básicos de actualización: archivo contra compresión

Es importante que los usuarios de Linux comprendan el comando tar. Antes de profundizar demasiado en el tema, comencemos con una pequeña aclaración.

Copia de seguridad: el acto de almacenar varios archivos como un solo archivo. Compresión: el acto de reducir un archivo o archivos más grandes.

Tar es una herramienta de archivo. Crea un solo archivo a partir de varios archivos. Esto ahorra ancho de banda de red, tiempo y potencia de procesamiento al transferir archivos. Un archivo de 100 MB tarda mucho menos que transferir 100 archivos de 1 MB debido a archivos de sobrecarga.

Es por eso que a menudo encontrará software disponible entarbolTarball es el término común utilizado para un archivo tar.

Aunque tar en sí no puede comprimir archivos, puede usar uno de los algoritmos de compresión comunes para comprimir archivos mientras crea un tarball. Te mostraré cómo hacer esto más adelante en esta lección básica de alquitrán.

Archivos tar comunes

Estos son algunos de los «archivos tar» comunes que encontrará:

Alquitrán: Este es un archivo tarball. Este es solo un archivo y no se realiza ninguna compresión.

.Tar.Gz o .tgz: Esta es la extensión de un archivo comprimido Gzip.

.Tar.Bz2 o .tbz: Esta es una extensión de un archivo comprimido con Bz2. Ésta es una tecnología relativamente nueva. Tiene una relación de compresión más alta, pero esta mayor contracción de potencia significa que lleva un poco más de tiempo completarla.

.Tar.xz o .txz y otros.: Tar también tiene funciones integradas en el soporte para xz, lzip y más. Estas herramientas utilizan principalmente el mismo algoritmo de compresión, LZMA. El popular 7z que se ha vuelto bastante común en entornos Windows, también utiliza este algoritmo. Las diferencias de archivos adicionales son el resultado de la estructura y los metadatos. No entraré en estos detalles en nuestros ejemplos, pero quería mencionarlos.

Es importante recordar que las extensiones no son necesarias para Linux y otros sistemas basados ​​en Unix. Su sistema Unix generalmente puede identificar archivos por sus encabezados, independientemente de la extensión, pero usar un esquema de nomenclatura común puede ayudar a evitar confusiones. Puede usar el comando de archivo en Linux para conocer el tipo de archivo.

Ejemplos de comandos tar

Para este artículo, quiero demostrar algunos de los métodos comunes para archivar y comprimir archivos usando tar.

Recopilé algunos archivos de un tipo diferente en la carpeta Documentos. Hay imágenes de archivo y algunos archivos de texto. Veremos cómo se cambia el tamaño del archivo por compresión usando varios ejemplos.

A continuación, se muestra una lista completa de los documentos que se utilizarán.

christopher@linux-handbook:~/Documents$ ll
total 7404
drwxr-xr-x  2 christopher christopher    4096 May  5 10:55 ./
drwxr-xr-x 17 christopher christopher    4096 May  5 10:59 ../
-rw-r--r--  1 christopher christopher 5094932 Apr 30 23:54 aerial-view-of-bushes-on-sand-field-3876435.jpg
-rw-r--r--  1 christopher christopher   13268 Apr 30 23:57 lorem1.txt
-rw-r--r--  1 christopher christopher   13268 Apr 30 23:57 lorem2.txt
-rw-r--r--  1 christopher christopher   13268 Apr 30 23:57 lorem3.txt
-rw-r--r--  1 christopher christopher   13268 Apr 30 23:56 lorem.txt
-rw-r--r--  1 christopher christopher 2411919 Apr 30 23:54 mountain-range-2397645.jpg

Ya he tocado las posibilidades del alquitrán. Esta es una herramienta poderosa con muchas opciones. Las diferentes opciones y tipos de archivos pueden hacer que el comando parezca más complejo de lo que realmente es. Como siempre, mi objetivo es desmitificar la línea de comandos. Así que dividamos las cosas en partes más pequeñas antes de combinar varias opciones en los ejemplos.

A continuación, se muestra una tabla de opciones de uso común. Tenga en cuenta que esto es solo el comienzo. Le recomiendo que revise la documentación de ayuda usted mismo para encontrar aún más opciones una vez que se sienta cómodo.

Opciones de expansión del conmutador Descripción

– ° C, -Creación crear un nuevo archivo
-D, –Diff, –comparison encontrar diferencias entre el archivo y el sistema de archivos
-r, – yo suplementaré agregar archivos al final de un archivo
-T, -Letra enumerar el contenido de un archivo
-u, -Actualizar solo agregue archivos más nuevos que la copia al archivo
-X, – extraigo, – recibo extraer archivos del archivo
-j, –Bzip2 filtrar el archivo a través de bzip2
-z, –Gzip, –gunzip, –ungzip filtrar el archivo a través de gzip

1) Crea un tarball

Anteriormente mencioné los tipos de archivos comunes asociados con el comando tar. Este es probablemente el más básico.

tar cvf output_tarball.tar source_directory

No se aplicará compresión, por lo que el archivo ocupará al menos tanto espacio como los archivos de la carpeta de documentos.

christopher@linux-handbook:~$ tar cvf doc.tar ~/Documents

tar cvf (crear, detallado, archivo de archivo): crea un nuevo archivo tar llamado doc.tar a partir de todos los archivos en ~ / Documentos.

christopher@linux-handbook:~$ ll doc.tar
-rw-r--r-- 1 christopher christopher 7567360 May  5 11:00 doc.tar

Tenga en cuenta que tarball tendrá la misma estructura de directorio que su directorio fuente de tarball.

2) Crea un tarball gzip

Probemos la compresión gzip mientras creamos un tarball.

christopher@linux-handbook:~$ tar cvzf doc.tar.gz ~/Documents

tar cvzf (crear, detallado, g-zip, archivo de almacenamiento): crea un nuevo archivo tar llamado doc.tar.gz a partir de todos los archivos en ~ / Documentos. Utiliza compresión gzip (con la opción z) mientras crea un tarball.

christopher@linux-handbook:~$ ll doc.tar.gz 
-rw-r--r-- 1 christopher christopher 7512498 May  5 11:01 doc.tar.gz

Como puede ver, el tamaño de un tarball comprimido con gzip es 54862 bytes (53 MB) más pequeño que un tarball normal sin comprimir.

Preste atención mientras usa un guión, con opciones de alquitrán

Por lo general, cuando usa opciones con un comando de Linux, agrega un guión (-) antes de las opciones.
El guión antes de las opciones es opcional y es mejor evitarlo. Por eso no lo usé en los ejemplos.
Si usa un guión antes de las opciones, siempre debe mantener presionada la tecla f al final de las opciones. Si usa tar -cvfz, z se convierte en un argumento para la opción z. Y luego verá un error como este:

tar: doc.tar.gz: No se puede establecer: no existe tal archivo o directorio

Por lo tanto, es una buena práctica usar la opción f al final de todas las demás opciones, por lo que incluso si usa un guión por costumbre, esto no creará un problema.

3) Crea un tarball bz2

Supongamos que desea crear un tarball bz2. Los pasos son los mismos que el anterior. Solo necesita cambiar la opción z (gzip) a j (bz2). Consulte la tabla de opciones que mencioné anteriormente.

christopher@linux-handbook:~$ tar cvjf doc.tar.bz2 ~/Documents

tar cvfj (crear, detallado, tipo bz2, archivo de almacenamiento).

christopher@linux-handbook:~$ ll doc.tar.bz2
-rw-r--r-- 1 christopher christopher 7479782 May  5 11:04 doc.tar.bz2

¿Notas el tamaño? Es incluso menos que un tarball comprimido con gzip.

4) Enumere el contenido del tarball

Puedes usar -t opción (en lugar de -c) para ver el contenido de un archivo de almacenamiento. Esto funciona de la misma manera, ya sea que el archivo esté comprimido o no. Enumerará el tamaño real del archivo, no el tamaño comprimido.

christopher@linux-handbook:~$ tar tvf doc.tar
drwxr-xr-x christopher/christopher 0 2020-05-05 10:55 home/christopher/Documents/
-rw-r--r-- christopher/christopher 5094932 2020-04-30 23:54 home/christopher/Documents/aerial-view-of-bushes-on-sand-field-3876435.jpg
-rw-r--r-- christopher/christopher   13268 2020-04-30 23:57 home/christopher/Documents/lorem1.txt
-rw-r--r-- christopher/christopher   13268 2020-04-30 23:56 home/christopher/Documents/lorem.txt
-rw-r--r-- christopher/christopher 2411919 2020-04-30 23:54 home/christopher/Documents/mountain-range-2397645.jpg
-rw-r--r-- christopher/christopher   13268 2020-04-30 23:57 home/christopher/Documents/lorem3.txt
-rw-r--r-- christopher/christopher   13268 2020-04-30 23:57 home/christopher/Documents/lorem2.txt

5) Agregue más archivos al tarball

Puede agregar archivos a un archivo tarball usando -r. No puede agregar archivos a un archivo comprimido sin extraerlos primero con el comando tar.

También puede agregar usando -u opción de actualización. Esta opción solo debería agregar nuevos archivos a los documentos de ayuda, pero en mi práctica funciona de la misma manera que agregar, agregar nuevas copias de todos los archivos.

christopher@linux-handbook:~$ tar rvf doc.tar ~/Documents/

Ahora que ha visto cómo los diferentes tipos de compresión afectan el tamaño general del archivo, veamos cómo extraer esos archivos.

christopher@linux-handbook:~$ cd docs
christopher@linux-handbook:~/docs$ tar xvf ~/doc.tar.gz 

Me mudé a un nuevo directorio llamado docs. Luego usé tar xvf (extraer, detallar, archivar archivos) para descomprimir el contenido aquí.

christopher@linux-handbook:~/docs/home/christopher/Documents$ ls
aerial-view-of-bushes-on-sand-field-3876435.jpg  lorem1.txt  lorem2.txt  lorem3.txt  lorem.txt  mountain-range-2397645.jpg

Es importante tener en cuenta que tar conserva la estructura del archivo, por lo que cuando extraigo los archivos, están en / home / christopher / Documents. Para evitar esto, puede cambiar al directorio deseado (~ / Documentos) y copiar todos los archivos usando el comodín * en lugar de la estructura del directorio.

De forma predeterminada, el contenido del tarball se recupera en el directorio actual. Esto no siempre es deseable.

Puede extraer un tarball en un directorio específico de la siguiente manera:

tar xvf tar_file -C destination_directory

El directorio de destino debe existir, así que asegúrese de usar el comando mkdir para crear uno por adelantado.

Resumen

Esto es lo que debe tener en cuenta al usar tar en Linux:
Casi siempre se utiliza en formato tar cf o tar xvf. Recuerda esto:

Conclusión

¿Te gustó nuestra guía de alquitrán? Espero que todos estos consejos te hayan enseñado algo nuevo.

Si le gusta esta guía, compártala en las redes sociales. Si tiene algún comentario o pregunta, déjelo a continuación.

Si tiene alguna sugerencia sobre los temas que desea ver cubiertos, no dude en dejarlos también. Gracias por leer.

Este Blog lo hacemos para colaborar y servir de referencia a la gente Linux. Esperamos que os guste.

Leave a Reply