GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo dividir un archivo grande en varios archivos pequeños usando el comando Dividir en Linux

Aunque una de las principales razones detrás de la creación de archivos es la facilidad de manejo y transferencia, a veces el archivo comprimido en sí es tan grande que se convierte en una pesadilla transferirlo a través de la red, especialmente cuando la velocidad de la red es lenta.

Entonces, ¿qué se debe hacer en casos como estos? ¿Hay una solución a este problema? Bueno, sí, una solución es dividir el archivo comprimido en partes más pequeñas, que se pueden transferir fácilmente a través de la red. En el destino, puede volver a unirlos para obtener el archivo original.

Si la solución parece interesante y desea comprender exactamente cómo se puede hacer esto en Linux, le alegrará saber que analizaremos todos los detalles importantes paso a paso en este tutorial.

Antes de continuar, tenga en cuenta que todas las instrucciones y comandos mencionados en este artículo se han probado en Ubuntu 14.04.

Cómo dividir archivos grandes

Existe una utilidad de línea de comandos, denominada Split - que te ayuda a dividir archivos en partes. Se instala de forma inmediata en la mayoría de las distribuciones de Linux, por lo que no tiene que realizar ningún paso adicional para descargarlo e instalarlo. La siguiente es la sintaxis de este comando:

split [OPTION]... [INPUT [PREFIX]]

Aquí, INPUT representa el nombre del archivo que debe dividirse en bits más pequeños, y PREFIX es el texto que desea que se anteponga al nombre de los archivos de salida. OPCIÓN, en nuestro caso, será -b para que podamos especificar el tamaño de los archivos de salida.

Para comprender el uso de Split a través de un ejemplo, primero debe tener un archivo comprimido que desea dividir. Por ejemplo, tenía el siguiente archivo .zip de 60 MB en mi caso:

Aquí está el comando Dividir en acción:

Como puede ver, usando la opción -b, le pedí al comando Dividir que dividiera el gran archivo .zip en partes iguales de 20 MB cada una, proporcionando el nombre completo del archivo comprimido así como el texto del prefijo.

Así es como verifiqué que el comando Dividir realmente hizo lo que se le pidió que hiciera:

Como es evidente en la salida de la captura de pantalla anterior, se produjeron tres archivos con nombres que incluyen el prefijo que proporcioné y con un peso de 20 MB cada uno.

Por supuesto, además de los archivos .zip, también puede usar el método mencionado anteriormente para dividir otros tipos de archivos comprimidos. Por ejemplo, así es como usé el mismo comando que discutimos antes para dividir un archivo .tar.xz:

Como ya habrá entendido, si desea dividir un archivo en varios fragmentos cuyo tamaño debe medirse en MB, debe usar la letra M con la cifra numérica que proporcione en la línea de comando. Y si, como en el caso que acabamos de discutir, los archivos deben tener un tamaño en KB, debe usar la letra K .

Hasta ahora, solo hemos usado -b opción que ofrece el comando Dividir; eso es porque hace lo que queremos:decirle al comando que divida el archivo de entrada según el tamaño que sigue a esta opción en la línea de comando. Sin embargo, dependiendo de su caso y requisito, es posible que desee utilizar algunas de las otras opciones que proporciona el comando Dividir.

A continuación se muestra la lista de opciones junto con una breve explicación de lo que hacen:

  • -a , --suffix-length=N :generar sufijos de longitud N (predeterminado 2)
  • --additional-suffix=SUFIJO :agregue un SUFIJO adicional a los nombres de archivo.
  • -b , --bytes=TAMAÑO :poner SIZE bytes por archivo de salida
  • -C , --line-bytes=TAMAÑO :ponga como máximo SIZE bytes de líneas por archivo de salida
  • -d , --sufijos-numéricos[=DE] :utiliza sufijos numéricos en lugar de alfabéticos. FROM cambia el valor inicial (predeterminado 0).
  • -e , --elide-archivos-vacíos :no generar archivos de salida vacíos con '-n'
  • --filter=COMANDO :escribe en el COMANDO de shell; el nombre del archivo es $FILE
  • -l , --lines=NÚMERO :poner NÚMERO de líneas por archivo de salida
  • -n , --number=TROZOS :genera archivos de salida CHUNKS.
  • -u , --sin búfer :copie inmediatamente la entrada a la salida con '-n r/...'

Hasta ahora, solo hemos discutido cómo dividir un archivo grande en varias partes más pequeñas. No hace falta decir que eso no sirve de nada hasta que también sepa cómo volver a unirlos para recuperar el archivo comprimido original. Entonces, así es como puedes hacer eso:

No hay una utilidad de línea de comando especial para unir los fragmentos más pequeños, ya que el viejo y buen comando Cat es capaz de manejar esta tarea. Por ejemplo, así es como recuperé el Kaku-linux32.zip archivo a través del comando Cat:

Puede extraer el archivo recuperado y compararlo con el original para verificar que nada haya cambiado.

Conclusión

Si es un usuario de Linux y su trabajo diario implica jugar con archivos comprimidos grandes y compartirlos con otros a través de la red, hay buenas posibilidades de que desee dividir un archivo en algunos casos. Por supuesto, es posible que la solución mencionada en este tutorial no sea la única disponible, pero sin duda es una de las más sencillas y que requiere menos esfuerzo.

En caso de que utilice un enfoque diferente para dividir archivos grandes y luego volver a unirlos, y quiera compartir su solución con otros, puede hacerlo en los comentarios a continuación.


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

  2. Cómo hacer una comparación línea por línea de archivos en Linux usando el comando diff

  3. Cómo dividir y combinar archivos desde la línea de comandos en Linux

  4. Cómo dividir un solo archivo en varios archivos según las filas

  5. Cómo dividir iso o archivo usando el comando 'dividir' en Linux

Cómo dividir archivos de audio grandes en Linux

Cómo dividir un archivo grande en varios archivos pequeños usando el comando Dividir en Linux

Cómo compartir archivos localmente en Linux usando NitroShare

Cómo crear un enlace simbólico en Linux usando el comando Ln

Cómo bloquear un archivo de texto en Linux usando el comando flock

Cómo unir/combinar varios archivos de audio en uno solo en Linux