GNU/Linux >> Linux Esercitazione >  >> Linux

Come dividere un file di archivio di grandi dimensioni in più file di piccole dimensioni utilizzando il comando Dividi in Linux

Sebbene uno dei motivi principali alla base della creazione di archivi sia la facilità di gestione e trasferimento, a volte il file compresso stesso è così grande che diventa un incubo trasferirlo in rete, soprattutto quando la velocità della rete è lenta.

Quindi, cosa si dovrebbe fare in casi come questi? C'è una soluzione a questo problema? Ebbene, sì, una soluzione è dividere il file compresso in bit più piccoli, che possono essere facilmente trasferiti sulla rete. A destinazione, puoi unirti a loro per recuperare l'archivio originale.

Se la soluzione sembra interessante e vuoi capire esattamente come farlo in Linux, sarai felice di sapere che discuteremo tutti i dettagli importanti passo dopo passo in questo tutorial.

Prima di procedere, tieni presente che tutte le istruzioni e i comandi menzionati in questo articolo sono stati testati su Ubuntu 14.04.

Come dividere archivi di grandi dimensioni

Esiste un'utilità della riga di comando, denominata Dividi - che ti aiuta a dividere i file in pezzi. È installato immediatamente sulla maggior parte delle distribuzioni Linux, quindi non è necessario eseguire ulteriori passaggi per scaricarlo e installarlo. Di seguito è riportata la sintassi di questo comando:

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

Qui, INPUT rappresenta il nome del file che deve essere suddiviso in bit più piccoli e PREFIX è il testo che si desidera anteporre al nome dei file di output. L'OPZIONE, nel nostro caso, sarà -b in modo da poter specificare la dimensione dei file di output.

Per comprendere l'utilizzo di Split attraverso un esempio, devi prima avere un file compresso che vuoi dividere. Ad esempio, nel mio caso avevo il seguente file .zip da 60 MB:

Ecco il comando Dividi in azione:

Quindi, come puoi vedere, usando l'opzione -b, ho chiesto al comando Dividi di suddividere il file .zip di grandi dimensioni in parti uguali di 20 MB ciascuna, fornendo il nome completo del file compresso e il testo del prefisso.

Ecco come ho verificato che il comando Dividi ha effettivamente eseguito ciò che gli era stato chiesto di fare:

Come evidente dall'output nella schermata sopra, nell'output sono stati prodotti tre file con nomi che includevano il prefisso che ho fornito e del peso di 20 MB ciascuno.

Ovviamente, oltre ai file .zip, puoi utilizzare il metodo sopra menzionato per dividere anche altri tipi di file compressi. Ad esempio, ecco come ho usato lo stesso comando di cui abbiamo discusso prima per dividere un file .tar.xz:

Come ormai avresti capito, se vuoi dividere un file in più blocchi che devono essere ridimensionati in MB, devi usare la lettera M con la cifra numerica fornita nella riga di comando. E se, come nel caso appena discusso, i file devono essere dimensionati in KB, dovresti usare la lettera K .

Finora abbiamo usato solo -b opzione offerta dal comando Dividi; questo perché fa quello che vogliamo:dì al comando di dividere il file di input in base alla dimensione che segue questa opzione sulla riga di comando. Tuttavia, a seconda del tuo caso e delle tue esigenze, potresti voler utilizzare alcune delle altre opzioni fornite dal comando Dividi.

Di seguito è riportato l'elenco delle opzioni insieme a una breve spiegazione di ciò che fanno:

  • -a , --suffix-length=N :genera suffissi di lunghezza N (default 2)
  • --additional-suffix=SUFFIX :aggiungi un suffisso aggiuntivo ai nomi dei file.
  • -b , --byte=SIZE :inserisci SIZE byte per file di output
  • -C , --line-bytes=SIZE :inserisci al massimo SIZE byte di righe per file di output
  • -d , --suffissi-numerici[=DA] :usa suffissi numerici anziché alfabetici. DA cambia il valore iniziale (predefinito 0).
  • -e , --elide-file-vuoti :non genera file di output vuoti con '-n'
  • --filter=COMANDO :scrive nella shell COMANDO; il nome del file è $FILE
  • -l , --lines=NUMERO :inserisci NUMBER righe per file di output
  • -n , --number=CHUNK :genera file di output CHUNKS.
  • -u , --senza buffer :copia immediatamente l'input nell'output con '-n r/...'

Finora abbiamo discusso solo di come dividere un archivio di grandi dimensioni in più parti più piccole. Inutile dire che non serve fino a quando non sai anche come unirli di nuovo per recuperare il file compresso originale. Quindi, ecco come puoi farlo:

Non esiste una speciale utilità della riga di comando per unire i blocchi più piccoli, poiché il buon vecchio comando Cat è in grado di gestire questo compito. Ad esempio, ecco come ho recuperato il Kaku-linux32.zip file tramite il comando Cat:

Puoi estrarre l'archivio recuperato e confrontarlo con quello originale per verificare che nulla sia cambiato.

Conclusione

Se sei un utente Linux e il tuo lavoro quotidiano consiste nel giocare con file compressi di grandi dimensioni e condividerli con altri in rete, ci sono buone probabilità che tu voglia dividere un archivio in alcuni casi. Ovviamente, la soluzione menzionata in questo tutorial potrebbe non essere l'unica disponibile, ma è sicuramente una delle più semplici e meno onerose.

Nel caso in cui utilizzi un approccio diverso per dividere archivi di grandi dimensioni e poi unirli nuovamente e desideri condividere la tua soluzione con altri, puoi farlo nei commenti qui sotto.


Linux
  1. Come dividere un singolo file in più file in base alle righe

  2. Come rinominare più file contemporaneamente in Linux

  3. Come dividere iso o file usando il comando "split" in Linux

  4. Come creare file sparsi in Linux usando il comando 'dd'

  5. Come comprimere e decomprimere file .bz2 in Linux usando il comando bzip2

Come dividere file audio di grandi dimensioni su Linux

Come dividere un file di archivio di grandi dimensioni in più file di piccole dimensioni utilizzando il comando Dividi in Linux

Come condividere file localmente su Linux utilizzando NitroShare

Come creare un collegamento simbolico in Linux usando il comando Ln

Come bloccare un file di testo in Linux usando il comando flock

Come unire/unire più file audio in uno in Linux