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? No se preocupe más, porque puede mover sus archivos en bits para lidiar con velocidades de red lentas 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 de almacenamiento de la siguiente manera:

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

Para confirmar que se ha creado nuestro archivo de almacenamiento 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 de almacenamiento home.tar.bz2 en pequeños bloques cada uno de tamaño 10MB de la siguiente manera:

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

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

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

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

$ 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 de almacenamiento en pequeños bits de tamaño 200MB .

$ 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"

Confirma los archivos:

$ ls -lh downloads-parta*

En este último ejemplo, no tenemos que especificar un nombre de archivo como ha notado, simplemente use un signo - .

Cómo unir archivos Tar después de dividir

Después de dividir con éxito los 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 de 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 con el archivo tar original del mismo tamaño.

Conclusión

La idea 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 sus páginas de entrada manual de para obtener más información sobre otras opciones y realizar algunas operaciones complejas o puede consultar el siguiente artículo para obtener más información sobre el comando tar.

Para cualquier pregunta o más consejos, puede compartir sus pensamientos a través de la sección de comentarios a continuación.