Mini-Howto: Hoe kan ik .001-bestanden uitpakken onder Linux?
Aanleiding van deze howto is dit verhaal:http://www.binaries4all.nl/001/
Hoe moeilijk Windows users te werk moeten gaan om het een en ander voor elkaar te krijgen, hoe makkelijk hebben wij Linux users het
We beginnen eerst eens met het maken van een test bestand om er achter te komen hoe dat splitten in zijn werk gaat.
stacheldraht@lucky-star:~$ dd if=/dev/zero of=test.bin count=1 bs=1G 1+0 records in 1+0 records out 1073741824 bytes (1.1 GB) copied, 12.3796 s, 86.7 MB/s stacheldraht@lucky-star:~$
Zoals je ziet heb ik een test bestand aangemaakt met een grootte van 1.1 GB. Nu laten we eens een md5sum op dit bestand los om straks het orgineel en het copy met elkaar te vergelijken.
stacheldraht@lucky-star:~$ md5sum test.bin cd573cfaace07e7949bc0c46028904ff test.bin stacheldraht@lucky-star:~$
Het splitten van een bestand is absoluut geen rocket-science dat doen we gewoon met het commando split
stacheldraht@lucky-star:~$ split --bytes=100M test.bin --numeric-suffixes test.bin stacheldraht@lucky-star:~$
En zie hier ik heb ons bestand netjes in stukken gehakt met een gemiddelde grootte van 100 MB.
stacheldraht@lucky-star:~$ ls -alh test.bin* -rw-r--r-- 1 stacheldraht stacheldraht 1.0G 2009-09-01 23:01 test.bin -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin00 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin01 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin02 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin03 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin04 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin05 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin06 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin07 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin08 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin09 -rw-r--r-- 1 stacheldraht stacheldraht 24M 2009-09-01 23:06 test.bin10 stacheldraht@lucky-star:~$
Het orgineel willen we natuurlijk niet meer zien dus we passen een beetje globbing toe (zie man 7 glob).
stacheldraht@lucky-star:~$ ls -alh test.bin?? -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin00 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin01 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin02 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin03 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin04 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin05 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin06 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin07 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin08 -rw-r--r-- 1 stacheldraht stacheldraht 100M 2009-09-01 23:06 test.bin09 -rw-r--r-- 1 stacheldraht stacheldraht 24M 2009-09-01 23:06 test.bin10 stacheldraht@lucky-star:~$
Om de stukken weer aan elkaar te plakken maken we gebruik van onze shell script vaardigheden. Nu zie je tevens waarom globbing erg handig is, want wat zou er gebeuren als ik dat niet zou gebruiken?
stacheldraht@lucky-star:~$ for file in test.bin?? ; do cat "$file" >> test2.bin ; done stacheldraht@lucky-star:~$
Wedden dat ons kopie (test2.bin) gelijk is aan het orgineel (test.bin)?
stacheldraht@lucky-star:~$ md5sum test.bin test2.bin cd573cfaace07e7949bc0c46028904ff test.bin cd573cfaace07e7949bc0c46028904ff test2.bin stacheldraht@lucky-star:~$
Moraal van het verhaal. Als je bestanden wilt splitten en weer aan elkaar wilt plakken onder Linux gebruik dan gewoon split en cat, meer heb je echt niet nodig