Jak rozdělit a spojit velký soubor v linuxu

Výchozí situace:
Mám velký soubor, který chci archivovat například na FTP, ale pohodlnější je nahrávat menší soubory, než řešit jeden velký…

Rozdělení tedy provedeme následovně:

admin@NAS:~$ split -b 1G zaloha.zip zaloha_part_ --verbose
admin@NAS:~$

Příkaz split zajistí samotné rozdělení.
Parametr -b 1G určuje, jak velké soubory vytvářím.
Dále je uvedena cesta OD a kam, kde na konci zaloha_part_ říkám, jak se mají jmenovat výsledné soubory.
A konečně parametrem – -verbose sděluji, že má být ukecaný výstup, abych věděl že se něco děje.

Výstup příkazu:

admin@NAS:~$ split -b 1G zaloha.zip zaloha_part_ --verbose
creating file ‘zaloha_part_aa’
creating file ‘zaloha_part_ab’
creating file ‘zaloha_part_ac’
creating file ‘zaloha_part_ad’
creating file ‘zaloha_part_ae’
admin@NAS:~$

Výpis adresáře:

admin@NAS:$ ls -lah
total 5.1G
drwxr-xr-x 2 admin users 4.0K Aug 15 16:19 .
drwxrwxrwx 6 admin users 4.0K Aug 15 16:16 ..
-rw-r--r-- 1 admin users 1.0G Aug 15 16:17 zaloha_part_aa
-rw-r--r-- 1 admin users 1.0G Aug 15 16:18 zaloha_part_ab
-rw-r--r-- 1 admin users 1.0G Aug 15 16:18 zaloha_part_ac
-rw-r--r-- 1 admin users 1.0G Aug 15 16:19 zaloha_part_ad
-rw-r--r-- 1 admin users 1.0G Aug 15 16:20 zaloha_part_ae
admin@NAS:~$

Komu by vadily písmena u rozdělených souborů, může zvolit přepínač -d (- -numeric-suffixes) a mít tak číselné přílohy.

admin@NAS:~$ split -b 1G -d zaloha.zip zaloha_part_ --verbose
creating file ‘zaloha_part_00’
creating file ‘zaloha_part_01’
creating file ‘zaloha_part_02’
creating file ‘zaloha_part_03’
creating file ‘zaloha_part_04’
admin@NAS:~$

Výpis adresáře, pak vypadá:

admin@NAS:$ ls -lah
total 5.1G
drwxr-xr-x 2 admin users 4.0K Aug 15 16:19 .
drwxrwxrwx 6 admin users 4.0K Aug 15 16:16 ..
-rw-r--r-- 1 admin users 1.0G Aug 15 16:17 zaloha_part_00
-rw-r--r-- 1 admin users 1.0G Aug 15 16:18 zaloha_part_01
-rw-r--r-- 1 admin users 1.0G Aug 15 16:18 zaloha_part_02
-rw-r--r-- 1 admin users 1.0G Aug 15 16:19 zaloha_part_03
-rw-r--r-- 1 admin users 1.0G Aug 15 16:20 zaloha_part_04
admin@NAS:~$

Spojení je pak už jednoduché…

admin@NAS:$ cat zaloha_part_* > zaloha_new.zip
admin@NAS:$

Jak vidno bez jakéhokoliv výpisu…

Pro kontrolu, že výchozí a konečný soubor je stejný provedeme kontrolu spočtením MD5 HASHe obou souborů.

admin@NAS:$ md5sum zaloha_new.zip
ac8a22b805cd2078b40222f72b218e87  zaloha_new.zip
admin@NAS:~$
admin@NAS:$ md5sum zaloha.zip
ac8a22b805cd2078b40222f72b218e87  zaloha.zip
admin@NAS:~$

Jak prosté, milý Watsone! :)

Poznámka: Je to celkem přímá cesta k řešení. Pokud byste potřebovali jen trochu něco jiného nebo jinak, tak je třeba si tu svoji cestičku prošlapat či prozkoumat co jsem přesně kde použil a proč.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..