GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So teilen Sie eine große Archivdatei mit dem Split-Befehl in Linux in mehrere kleine Dateien auf

Obwohl einer der Hauptgründe für die Erstellung von Archiven die einfache Handhabung und Übertragung ist, ist die komprimierte Datei selbst manchmal so groß, dass es zu einem Albtraum wird, sie über das Netzwerk zu übertragen, insbesondere wenn die Netzwerkgeschwindigkeit langsam ist.

Was ist also in solchen Fällen zu tun? Gibt es eine Lösung für dieses Problem? Ja, eine Lösung besteht darin, die komprimierte Datei in kleinere Teile aufzuteilen, die problemlos über das Netzwerk übertragen werden können. Am Zielort können Sie sich ihnen wieder anschließen, um das Originalarchiv zu erhalten.

Wenn die Lösung interessant klingt und Sie genau verstehen möchten, wie dies unter Linux möglich ist, werden Sie froh sein zu hören, dass wir in diesem Tutorial Schritt für Schritt alle wichtigen Details besprechen werden.

Bevor wir fortfahren, beachten Sie bitte, dass alle in diesem Artikel erwähnten Anweisungen und Befehle auf Ubuntu 14.04 getestet wurden.

So teilen Sie große Archive auf

Es gibt ein Befehlszeilenprogramm namens Split - das hilft Ihnen, Dateien in Stücke zu teilen. Es ist auf den meisten Linux-Distributionen standardmäßig installiert, sodass Sie keine zusätzlichen Schritte ausführen müssen, um es herunterzuladen und zu installieren. Es folgt die Syntax dieses Befehls:

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

Hier stellt INPUT den Namen der Datei dar, die in kleinere Bits aufgeteilt werden muss, und PREFIX ist der Text, der dem Namen der Ausgabedateien vorangestellt werden soll. OPTION ist in unserem Fall -b damit wir die Größe der Ausgabedateien angeben können.

Um die Verwendung von Split anhand eines Beispiels zu verstehen, benötigen Sie zunächst eine komprimierte Datei, die Sie aufteilen möchten. In meinem Fall hatte ich beispielsweise die folgende 60-MB-ZIP-Datei:

Hier ist der Split-Befehl in Aktion:

Wie Sie also sehen können, habe ich mit der Option -b den Split-Befehl gebeten, die große .zip-Datei in gleiche Teile von jeweils 20 MB aufzuteilen, wobei der vollständige Name der komprimierten Datei sowie der Präfixtext bereitgestellt werden.

So habe ich überprüft, ob der Split-Befehl tatsächlich das getan hat, worum er gebeten wurde:

Wie aus der Ausgabe im obigen Screenshot hervorgeht, wurden drei Dateien mit Namen, die das von mir angegebene Präfix enthielten und jeweils 20 MB wogen, in der Ausgabe erzeugt.

Abgesehen von .zip-Dateien können Sie natürlich auch andere Arten von komprimierten Dateien mit der oben genannten Methode aufteilen. Hier ist zum Beispiel, wie ich denselben Befehl, den wir zuvor besprochen haben, verwendet habe, um eine .tar.xz-Datei aufzuteilen:

Wie Sie inzwischen verstanden haben, müssen Sie den Buchstaben M verwenden, wenn Sie eine Datei in mehrere Teile aufteilen möchten, deren Größe in MB angegeben werden soll mit der numerischen Zahl, die Sie in der Befehlszeile angeben. Und wenn - wie im gerade besprochenen Fall - die Dateigröße in KB angegeben werden soll, sollten Sie den Buchstaben K verwenden .

Bisher haben wir nur das -b verwendet Option, die vom Split-Befehl angeboten wird; Das liegt daran, dass es das tut, was wir wollen - den Befehl anweisen, die Eingabedatei basierend auf der Größe aufzuteilen, die dieser Option in der Befehlszeile folgt. Abhängig von Ihrem Fall und Ihren Anforderungen möchten Sie jedoch möglicherweise einige der anderen Optionen verwenden, die der Split-Befehl bietet.

Es folgt die Liste der Optionen zusammen mit einer kurzen Erklärung ihrer Funktion:

  • -a , --suffix-length=N :erzeugt Suffixe der Länge N (Standard 2)
  • --additional-suffix=SUFFIX :An Dateinamen ein zusätzliches SUFFIX anhängen.
  • -b , --bytes=GRÖSSE :SIZE Bytes pro Ausgabedatei setzen
  • -C , --line-bytes=GRÖSSE :höchstens SIZE Byte Zeilen pro Ausgabedatei setzen
  • -d , --numeric-suffixes[=FROM] :Verwenden Sie numerische Suffixe anstelle von alphabetischen. FROM ändert den Startwert (Standard 0).
  • -e , --elide-empty-files :keine leeren Ausgabedateien mit '-n' erzeugen
  • --filter=BEFEHL :in Shell schreiben BEFEHL; Dateiname ist $FILE
  • -l , --lines=ZAHL :ZAHL Zeilen pro Ausgabedatei einfügen
  • -n , --number=CHUNKS :erzeugt CHUNKS-Ausgabedateien.
  • -u , --ungepuffert :Eingabe sofort in Ausgabe kopieren mit '-n r/...'

Bisher haben wir nur darüber gesprochen, wie man ein großes Archiv in mehrere kleinere Teile aufteilt. Unnötig zu erwähnen, dass dies nutzlos ist, bis Sie auch wissen, wie Sie sie wieder zusammenfügen können, um die ursprüngliche komprimierte Datei abzurufen. So können Sie das tun:

Es gibt kein spezielles Befehlszeilenprogramm, um die kleineren Teile zusammenzufügen, da der gute alte Cat-Befehl diese Aufgabe erledigen kann. So habe ich beispielsweise die Datei Kaku-linux32.zip abgerufen Datei über den Cat-Befehl:

Sie können das abgerufene Archiv extrahieren und mit dem Original vergleichen, um sicherzustellen, dass sich nichts geändert hat.

Schlussfolgerung

Wenn Sie ein Linux-Benutzer sind und Ihre tägliche Arbeit darin besteht, mit großen komprimierten Dateien zu spielen und sie mit anderen über das Netzwerk zu teilen, besteht eine gute Chance, dass Sie in einigen Fällen ein Archiv aufteilen möchten. Natürlich ist die in dieser Anleitung erwähnte Lösung möglicherweise nicht die einzige verfügbare Lösung, aber sie ist mit Sicherheit eine der einfachsten und am wenigsten aufwändigen.

Falls Sie einen anderen Ansatz verwenden, um große Archive aufzuteilen und sie dann wieder zusammenzuführen, und Ihre Lösung mit anderen teilen möchten, können Sie dies in den Kommentaren unten tun.


Linux
  1. So teilen Sie ein großes „tar“-Archiv in mehrere Dateien bestimmter Größe auf

  2. So führen Sie einen zeilenweisen Vergleich von Dateien in Linux mit dem Befehl diff durch

  3. So teilen Sie eine einzelne Datei basierend auf Zeilen in mehrere Dateien auf

  4. So benennen Sie mehrere Dateien gleichzeitig in Linux um

  5. So sortieren Sie Dateien in Linux mit dem Sortierbefehl

So teilen Sie große Audiodateien unter Linux

So teilen Sie eine große Archivdatei mit dem Split-Befehl in Linux in mehrere kleine Dateien auf

So teilen Sie Dateien lokal unter Linux mit NitroShare

So erstellen Sie einen symbolischen Link in Linux mit dem Ln-Befehl

So sperren Sie eine Textdatei in Linux mit dem Befehl flock

So verbinden/verschmelzen Sie mehrere Audiodateien zu einer in Linux