Búsqueda de sitios web

Cómo dividir un archivo 'tar' grande en varios archivos de cierto tamaño


¿Le preocupa transferir o cargar archivos grandes a través de una red? Entonces no se preocupe más, porque puede mover sus archivos en bits para lidiar con velocidades lentas de la red dividiéndolos en bloques de un tamaño determinado.

En esta guía práctica, exploraremos brevemente la creación de archivos de almacenamiento y su división en bloques de un tamaño seleccionado. Usaremos tar, una de las utilidades de archivo más populares en Linux y también aprovecharemos la utilidad split para ayudarnos a dividir nuestros archivos en pequeños bits.

Antes de continuar, tomemos nota de cómo se pueden usar estas utilidades. La sintaxis general de un comando tar y split es la siguiente:

tar options archive-name files 
split options file "prefix”

Profundicemos ahora en algunos ejemplos para ilustrar el concepto principal de este artículo.

Ejemplo 1: En primer lugar, podemos crear un archivo comprimido de la siguiente manera:

tar -cvjf home.tar.bz2 /home/aaronkilik/Documents/* 

Para confirmar que se ha creado nuestro archivo comprimido y también verificar su tamaño, podemos usar el comando ls:

ls -lh home.tar.bz2

Luego, usando la utilidad de división, podemos dividir el archivo comprimido home.tar.bz2 en pequeños bloques, cada uno de un tamaño 10 MB, de la siguiente manera:

split -b 10M home.tar.bz2 "home.tar.bz2.part"
ls -lh home.tar.bz2.parta*

Como puede ver en el resultado de los comandos anteriores, el archivo tar se ha dividido en cuatro partes.

Nota: en el comando dividir anterior, la opción -b se utiliza para especificar el tamaño de cada bloque. y "home.tar.bz2.part" es el prefijo en el nombre de cada archivo de bloque creado después de la división.

Ejemplo 2: Similar al caso anterior, aquí podemos crear un archivo de almacenamiento de un archivo de imagen Linux Mint ISO.

tar -cvzf linux-mint-18.tar.gz linuxmint-18-cinnamon-64bit.iso 

Luego, siga los mismos pasos del ejemplo 1 anterior para dividir el archivo en pequeños fragmentos de tamaño 200 MB.

ls -lh linux-mint-18.tar.gz 
split -b 200M linux-mint-18.tar.gz "ISO-archive.part"
ls -lh ISO-archive.parta*

Ejemplo 3: En este caso, podemos usar una tubería para conectar la salida del comando tar para dividir de la siguiente manera:

tar -cvzf - wget/* | split -b 150M - "downloads-part"

Confirmar los archivos:

ls -lh downloads-parta*

En este último ejemplo, no tenemos que especificar un nombre de archivo como habrás notado, simplemente usa un signo -.

Cómo unir archivos Tar después de dividirlos

Después de dividir con éxito archivos tar o cualquier archivo grande en Linux, puede unir los archivos usando el comando cat. Emplear cat es el método más eficiente y confiable para realizar una operación de unión.

Para volver a unir todos los bloques o archivos tar, emitimos el siguiente comando:


cat home.tar.bz2.parta* >backup.tar.gz.joined

Podemos ver que después de ejecutar el comando cat, combina todos los bloques pequeños que habíamos creado anteriormente en el archivo tar original del mismo tamaño.

Conclusión

La idea completa es simple, como hemos ilustrado anteriormente, simplemente necesita saber y comprender cómo usar las diversas opciones de las utilidades tar y split.

Puede consultar las páginas de entrada del manual para conocer más opciones y realizar algunas operaciones complejas o puede consultar el siguiente artículo para obtener más información sobre el comando tar.

No te pierdas: 18 ejemplos útiles del comando 'tar'

Si tiene alguna pregunta o más consejos, puede compartir sus opiniones a través de la sección de comentarios a continuación.