In diesem kurzen Tutorial werde ich zeigen, wie man Dateien von der Befehlszeile in Linux- und Unix-ähnlichen Betriebssystemen mit den Befehlen „split“ und „cat“ teilt und kombiniert.
Ich habe viele Linux-Tutorial-Videos auf meinem Linux-Desktop und wollte sie alle auf mein Google Drive verschieben. Das Problem ist, dass die Größe einiger Videodateien mehr als 1 GiB beträgt. Es ist praktisch kein guter Ansatz, so große Dateien auf das Google-Laufwerk hochzuladen. Obwohl wir mit Google Drive Dateien bis zu 5 TB hochladen können, finde ich es sehr zeitaufwändig, alle großen Dateien hochzuladen.
Während ich über dieses Problem nachdachte, dachte ich, es wäre viel besser, wenn ich diese Dateien in kleinere Größen aufteilen und einzeln hochladen könnte. Ich kann dann alle Teile der Datei herunterladen und sie alle kombinieren, wann immer ich will. Dies ist nur ein Beispiel. Möglicherweise gibt es verschiedene Gründe, eine große Datei in mehrere Teile zu zerlegen und sie später zusammenzufügen. Wenn Sie jemals in dieser Situation waren, keine Sorge. Es gibt ein einfaches Befehlszeilenprogramm namens "split" die verwendet wird, um die großen Dateien in mehrere kleinere Dateien aufzuteilen. Sie können später alle zusammenfügen, um eine einzige Datei zu erstellen.
Teilen und kombinieren Sie Dateien von der Befehlszeile in Linux
Lassen Sie uns zuerst sehen, wie man eine große Datei in mehrere kleinere Dateien aufteilt.
Teilen Sie Dateien in Linux von der Befehlszeile aus
Sehen Sie sich die Größe der folgenden Videodatei an.
$ du -h Linux\ Security.mp4
Beispielausgabe:
1.1G Linux Security.mp4
Wie Sie sehen, beträgt die Größe der Videodatei 1,1 GiB, was sehr groß ist, um sie auf mein Google-Laufwerk hochzuladen. Obwohl Google Drive ermöglicht Benutzern das Hochladen von Dateien bis zu 5 TB in der Größe ist es wirklich zeitaufwändig. Bei meiner langsamen Internetverbindung würde das Hochladen vermutlich mehr als 30 Minuten dauern. Ich will nicht mehr so lange warten. Ich werde diese Datei also in mehrere kleinere Dateien aufteilen, z. B. jeweils 100 MB, um den Upload-Vorgang zu beschleunigen.
Lassen Sie uns nun die obige Datei in mehrere kleinere Dateien aufteilen, sagen wir zum Beispiel jeweils 100 MB. Führen Sie dazu Folgendes aus:
$ split -b 100M Linux\ Security.mp4 ls.
Der obige Befehl teilt die Linux Security.mp4-Datei in 100-MB-Blöcke. Dieser Befehl erstellt Dateien namens ls.aa , ls.ab , ls.ac .. und so weiter.
Werfen wir einen Blick auf die Ausgabe nach dem Aufteilen der großen Datei.
$ ls
Beispielausgabe:
'Linux Security.mp4' ls.ab ls.ad ls.af ls.ah ls.aj ls.aa ls.ac ls.ae ls.ag ls.ai ls.ak
Sehen? Die Datei Linux Security.mp4 wurde in mehrere Dateien namens ls.aa, ls.ab .... ls.ak usw. aufgeteilt. Jede Dateigröße beträgt 100 MB.
Jetzt ist es etwas einfacher, sie als E-Mail-Anhang zu versenden.
Kombinieren Sie Dateien in Linux über die Befehlszeile
Speichern Sie alle Dateien in einem Ordner. Gehen Sie dann zu diesem Ordner und kombinieren Sie sie wie folgt.
$ cat ls.?? > Linux_security.mp4
Hier ist Linux_security.mp4 der Ausgabedateiname. Die doppelten Fragezeichen (?? ) mit einer beliebigen zweistelligen Erweiterung im Dateinamen übereinstimmen. Vereinfacht gesagt, der Dateinamensteil ls.?? stimmt mit allen Dateinamen wie ls.aa, ls.ab ..etc. überein und kombiniert sie alle in einer einzigen Datei. Bitte beachten Sie, dass dieser Befehl alle Dateien kombiniert, die zweistellige Erweiterungen enthalten. Seien Sie also sicher, bevor Sie Dateien kombinieren. Wenn andere Dateien mit zwei Buchstabenerweiterungen vorhanden sind, werden sie ebenfalls in die Ausgabedatei eingefügt.
Vergessen Sie auch nicht, beim Zusammenführen die richtige Erweiterung anzugeben. Falls Sie alle Dateien per E-Mail an Ihren Freund senden möchten, teilen Sie ihm/ihr die korrekte Erweiterung der von Ihnen gesendeten Dateien mit. Er/sie sollte beim Kombinieren dieselbe Dateierweiterung in der Ausgabedatei verwenden.
Wenn Sie im Split-Befehl kein Argument angeben, wird die Datei in mehrere kleinere Dateien mit x aufgeteilt als Dateinamen. Jede Datei würde standardmäßig 1000 Zeilen enthalten. Hier, ist das aus zwei Zeichen bestehende Suffix, das standardmäßig jedem Dateinamen hinzugefügt wird.
Lassen Sie uns dieselbe Datei mit dem Split-Befehl aufteilen, ohne zusätzliche Argumente wie unten anzugeben.
$ split Linux\ Security.mp4
Dieser Befehl teilt die Linux-Sicherheitsdatei in mehrere kleinere Dateien mit x** als Dateinamen auf.
Führen Sie den Befehl „ls“ aus, um die Dateien anzuzeigen:
$ ls
Beispielausgabe:
Linux Security.mp4 xaj xat xbd xbn xbx xch xcr xdb xdl xdv xef xep xez xfj xaa xak xau xbe xbo xby xci xcs xdc xdm xdw xeg xeq xfa xfk xab xal xav xbf xbp xbz xcj xct xdd xdn xdx xeh xer xfb xfl xac xam xaw xbg xbq xca xck xcu xde xdo xdy xei xes xfc xfm xad xan xax xbh xbr xcb xcl xcv xdf xdp xdz xej xet xfd xae xao xay xbi xbs xcc xcm xcw xdg xdq xea xek xeu xfe xaf xap xaz xbj xbt xcd xcn xcx xdh xdr xeb xel xev xff xag xaq xba xbk xbu xce xco xcy xdi xds xec xem xew xfg xah xar xbb xbl xbv xcf xcp xcz xdj xdt xed xen xex xfh xai xas xbc xbm xbw xcg xcq xda xdk xdu xee xeo xey xfi
Jede Datei sollte 1000 Zeilen enthalten. Sie können es auch mit wc überprüfen (Wortzahl) Befehl wie unten gezeigt.
$ wc -l *
Beispielausgabe wäre:
142891 Linux Security.mp4 1000 xaa 1000 xab 1000 xac 1000 xad 1000 xae 1000 xaf 1000 xag 1000 xah . . . 1000 xfl 891 xfm 285782 total
Um all diese Dateien zu kombinieren, führen Sie Folgendes aus:
$ cat x* > ls.mp4
Der obige Befehl kombiniert alle Dateien zu einer einzigen Datei namens ls.mp4 .
Weitere Einzelheiten finden Sie in den Manpages.
$ man split
Leseempfehlung:
- So teilen oder extrahieren Sie bestimmte Seiten aus einer PDF-Datei
- So führen Sie PDF-Dateien in der Befehlszeile unter Linux zusammen
Schlussfolgerung
Es könnten andere CLI- und GUI-Tools in Linux verfügbar sein, um Dateien zu teilen oder zu kombinieren. Aber „Split“ ist ein eingebauter Befehl, der vorinstalliert ist. Machen Sie sich also nicht die Mühe, zusätzliche Tools auf Ihrer Linux-Box zu installieren. Außerdem zerlegt der Split-Befehl die Datei schnell in mehrere Teile.