GNU/Linux >> Znalost Linux >  >> Linux

Jak rozdělit velký archivní soubor na několik malých souborů pomocí příkazu Split v systému Linux

Ačkoli jedním z hlavních důvodů vytváření archivů je snadná manipulace a přenos, někdy je komprimovaný soubor sám o sobě tak velký, že se stává noční můrou přenášet jej po síti, zvláště když je rychlost sítě pomalá.

Co by se tedy mělo dělat v takových případech? Existuje řešení tohoto problému? Ano, jedním řešením je rozdělit komprimovaný soubor na menší části, které lze snadno přenášet po síti. V cíli se k nim můžete připojit a získat původní archiv.

Pokud řešení zní zajímavě a chcete přesně porozumět tomu, jak to lze provést v Linuxu, budete rádi, když budete vědět, že všechny důležité podrobnosti probereme krok za krokem v tomto tutoriálu.

Než budeme pokračovat, vezměte prosím na vědomí, že všechny pokyny a příkazy uvedené v tomto článku byly testovány na Ubuntu 14.04.

Jak rozdělit velké archivy

Existuje nástroj příkazového řádku – nazvaný Split - to vám pomůže rozdělit soubory na části. Na většině linuxových distribucí se instaluje ihned po vybalení, takže ke stažení a instalaci nemusíte provádět žádné další kroky. Následuje syntaxe tohoto příkazu:

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

INPUT zde představuje název souboru, který je třeba rozdělit na menší části, a PREFIX je text, který má být uveden před názvem výstupních souborů. OPTION v našem případě bude -b abychom mohli určit velikost výstupních souborů.

Abyste pochopili použití Splitu na příkladu, musíte mít nejprve komprimovaný soubor, který chcete rozdělit. V mém případě jsem měl například následující soubor .zip o velikosti 60 MB:

Zde je příkaz Rozdělit v akci:

Jak tedy můžete vidět, pomocí volby -b jsem požádal příkaz Rozdělit, aby rozdělil velký soubor .zip na stejné části, každý o velikosti 20 MB, přičemž poskytl úplný název komprimovaného souboru a také text předpony.

Zde je návod, jak jsem ověřil, že příkaz Split skutečně provedl to, o co byl požádán:

Jak je patrné z výstupu na snímku obrazovky výše, ve výstupu byly vytvořeny tři soubory s názvy včetně prefixu, který jsem dodal, a každý o hmotnosti 20 MB.

Samozřejmě, že kromě souborů .zip můžete výše zmíněnou metodou rozdělit i jiné typy komprimovaných souborů. Například zde je návod, jak jsem použil stejný příkaz, o kterém jsme hovořili dříve, k rozdělení souboru .tar.xz:

Jak už jste pochopili, pokud chcete soubor rozdělit na více částí, které mají mít velikost v MB, musíte použít písmeno M s číselným údajem, který zadáte na příkazovém řádku. A pokud – jako v případě, o kterém jsme právě hovořili – mají mít soubory velikost v kB, měli byste použít písmeno K .

Doposud jsme používali pouze -b možnost nabízená příkazem Rozdělit; je to proto, že dělá to, co chceme - řekněte příkazu, aby rozdělil vstupní soubor na základě velikosti, která následuje po této možnosti na příkazovém řádku. V závislosti na vašem případu a požadavcích však možná budete chtít použít některé další možnosti, které příkaz Rozdělit poskytuje.

Následuje seznam možností spolu se stručným vysvětlením toho, co dělají:

  • -a , --suffix-length=N :generování přípon délky N (výchozí 2)
  • --additional-suffix=SUFFIX :přidat další SUFFIX k názvům souborů.
  • -b , --bytes=SIZE :vložte SIZE bajtů na výstupní soubor
  • -C , --line-bytes=SIZE :vložte maximálně SIZE bajtů řádků na výstupní soubor
  • -d , --numeric-suffixes[=OD] :místo abecedních použijte číselné přípony. FROM změní počáteční hodnotu (výchozí 0).
  • -e , --elide-empty-files :nevytvářejte prázdné výstupní soubory s '-n'
  • --filter=COMMAND :zápis do shellu COMMAND; název souboru je $FILE
  • -l , --lines=NUMBER :vložte NUMBER řádků na výstupní soubor
  • -n , --number=CHUNKS :generování výstupních souborů CHUNKS.
  • -u , -bez vyrovnávací paměti :okamžitě zkopírujte vstup na výstup pomocí '-n r/...'

Až dosud jsme diskutovali pouze o tom, jak rozdělit velký archiv na několik menších částí. Netřeba dodávat, že je to k ničemu, dokud také nevíte, jak je spojit, abyste získali původní komprimovaný soubor. Takže to můžete udělat následovně:

Neexistuje žádný speciální nástroj příkazového řádku, který by spojil menší části, protože tento úkol zvládne starý dobrý příkaz Cat. Zde je například návod, jak jsem načetl Kaku-linux32.zip soubor pomocí příkazu Cat:

Obnovený archiv můžete extrahovat a porovnat jej s původním, abyste ověřili, že se nic nezměnilo.

Závěr

Pokud jste uživatelem Linuxu a vaše každodenní práce zahrnuje hraní si s velkými komprimovanými soubory a jejich sdílení s ostatními po síti, je velká šance, že budete chtít archiv v některých případech rozdělit. Řešení uvedené v tomto tutoriálu samozřejmě nemusí být jediné dostupné, ale určitě je to jedno z nejjednodušších a nejméně náročné.

V případě, že používáte jiný přístup k rozdělení velkých archivů a poté je spojíte zpět a chcete své řešení sdílet s ostatními, můžete tak učinit v komentářích níže.


Linux
  1. Jak provádět řádkové porovnání souborů v Linuxu pomocí příkazu diff

  2. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  3. Jak přejmenovat více souborů najednou v Linuxu

  1. Jak třídit soubory v Linuxu pomocí příkazu Sort

  2. Jak rozdělit iso nebo soubor pomocí příkazu „split“ v Linuxu

  3. Jak vytvořit řídké soubory v Linuxu pomocí příkazu „dd“.

  1. Jak rozdělit velký archiv „tar“ na více souborů určité velikosti

  2. Jak rozdělit jeden soubor do více souborů na základě řádků

  3. Jak rozdělit jeden textový soubor do více souborů *.txt?