Große Dateien teilen und wieder zusammenfügen

split und cat
split und cat
13.08.2012 13:08

Selbst in Zeiten übergroßer Festplatten und Breitbandanschlüssen steht man immer mal wieder vor der Aufgabe eine überdimensionale Datei in kleine, mundgerechte Häppchen zu unterteilen. Sei es, weil man ein großes HD-Video oder ein Backup auf mehreren DVDs sichern möchte oder man eine fette ISO-Datei auf einem kleinen USB-Stick transportieren muss.

Spalter

In solchen Situationen hilft das Kommandozeilenprogramm split. Es sollte in den meisten aktuellen Distributionen standardmäßig installiert sein, zumindest aber in den Repositories liegen. Um mit ihm die große Datei megagross.iso in 500 MB große Stückchen zu zerlegen, benötigt man schlicht:

split --verbose --bytes=500m --suffix-length=2 --numeric-suffixes
megagross.iso megagross.iso.teil_

Die einzelnen Teile erhalten dabei Dateinamen der Form megagross.iso.teil_01, megagross.iso.teil_02 und so weiter. Wie viele Stellen die angehängten Ziffern umfassen sollen, bestimmt der Parameter --suffix-length=. Sein Kollege --bytes= regelt die Größe der einzelnen Stücke. Der Parameter --numeric-suffixes sorgt schließlich dafür, dass split Zahlen verwendet. Ohne ihn nutzt split Buchstaben, die einzelnen Teile im Beispiel würden dann megagross.iso.teil_aa, megagross.iso.teil_ab und so weiter heißen.

Wer auf diese Weise ein Backup erstellen möchte, kann das Einpacken gleich mit dem Aufspalten verbinden – und zwar über eine Pipe:

tar -cz * | split --bytes=500m --suffix-length=2 --numeric-suffixes - ../meinbackup.tgz.teil_

Dieser Befehl erstellt ein tgz-Archiv und verteilt es automatisch auf 500 MB große Stücke mit den Namen meinbackup.tgz.teil_01, meinbackup.tgz.teil_02 und so weiter.

Das Teilen und Zusammenfügen einer großen Datei benötigt nur zwei Befehle. Anstelle von "m" für Megabyte kann man wie hier auch "k" für Kilobyte verwenden.

Zusammenfügen

Am Zielort setzt dann ein simples:

cat megagross.iso.teil_* > megagross.iso

die Einzelteile wieder zur ursprünglichen Datei zusammen. Doch Vorsicht: Sollte es bereits eine Datei namens megagross.iso geben, wird diese gnadenlos und ohne Rückfrage überschrieben.

Eine aufgesplittetes tgz-Archiv lässt sich ebenfalls per Pipe direkt beim Zusammensetzen entpacken:

cat meinbackup.tgz.teil_* | tar xvz

Trau schau wem

Sicherheitsfanatiker erstellen vor dem Splitten noch eine Prüfsumme, etwa mit md5sum:

md5sum megagross.iso > pruefsumme.txt

Bei diesem Befehl landet die Prüfsumme in der Datei pruefsumme.txt. Das erspart das Abtippen der kryptischen Nummer: Man muss die Datei nur mitkopieren und dann nach dem Zusammenfügen mit folgendem Befehl prüfen:

md5sum -c pruefsumme.txt

Die Ausgabe sollte dann schlicht OK lauten.


Kommentare

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 2 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Neue SuSE-Literatur
Roland Welcker, 14.01.2015 14:10, 1 Antworten
Verehrte Linux-Freunde, seit Hans-Georg Essers Buch "LINUX" und Stefanie Teufels "Jetzt lerne ich...
DVD abspielen unter openSUSE 13.1
Michael Pfaffe, 12.01.2015 11:48, 6 Antworten
Hallo Linuxer, Bisher habe ich meine DVD´s mit linDVD unter openSUSE abgespielt. Mit der Versi...
Kontrollleiste SuSE 12.3 gestalten
Roland Welcker, 31.12.2014 14:06, 1 Antworten
Wie bekomme ich das Icon eines beliebigen Programms (aktuell DUDEN) in die Kontrollleiste und kan...
flash-player
roland reiner, 27.12.2014 15:24, 7 Antworten
Mein Flashplayer funktioniert nicht mehr-Plug in wird nicht mehr unterstütz,auch über google chro...
PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 10 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] gratis-Apps__was:Open/LibreOffice_für__Android
Gerhard Blaschke, 26.01.2015 17:43
Am 23.01.2015 um 16:40 schrieb Heinz-Stefan Neumeyer: > Am Dienstag, den 23.12.2014, 09:47 +0100 schrieb W...
[EasyLinux-Ubuntu] Mint 17.1
Werner, 25.01.2015 20:14
Hallo zusammen. Auf Empfehlung möchte ich zu Mint wechseln - und hoffe hier an der richtigen Stelle für Pr...
Re: [EasyLinux-Suse] Installation von Version 13.2
Richard Kraut, 25.01.2015 18:48
Am Sonntag, den 25.01.2015, 16:00 +0100 schrieb H.-Stefan Neumeyer: > Nach dem was ich mir so zusammengele...
Re: [EasyLinux-Suse] [SOLVED] Qt SQLite database plugin
"H.-Stefan Neumeyer", 25.01.2015 17:19
On Sun, 25 Jan 2015 17:03:01 +0100 Heiko Ißleib wrote: linux-nj3y:/home/jan # zypper install libqt4-sql-sql...
Re: [EasyLinux-Suse] [SOLVED] Qt SQLite database plugin
"H.-Stefan Neumeyer", 25.01.2015 17:15
On Sun, 25 Jan 2015 17:03:01 +0100 Heiko Ißleib wrote: Hallo Heiko > > Hier schon.Grade nachgese...