Ich möchte einen 78-GB-Ordner in einer einzelnen Datei speichern (zum Hochladen in einen Cloud-Dienst), als würde ich ihn in einem Archiv komprimieren, aber ich möchte keine Komprimierung (ich habe nicht so viel CPU) verfügbare Zeit). Gibt es überhaupt eine Möglichkeit, dies zu erreichen, vielleicht einen Terminalbefehl, von dem ich nichts weiß?
shell
files
compression
cjmaria
quelle
quelle
tar
Befehl unter Linux.tar -cf long.file.tar folder
lzop
ist auf Geschwindigkeit ausgelegt.Antworten:
Verwendung
tar
:tar -cf my_big_folder.tar /my/big/folder
Stellen Sie das Archiv mit wieder her
tar -xf my_big_folder.tar -C /
-C wechselt in das Stammverzeichnis, um Ihr Archiv wiederherzustellen, da das oben erstellte Archiv absolute Pfade enthält.
BEARBEITEN : Aufgrund der relativ großen Größe des Archivs ist es am besten, es [direkt] mit SSH oder einem Mount-Punkt der Cloud-Ressource / des Cloud-Ordners an seinen endgültigen Speicherort zu senden. Zum Beispiel, wie Cole Johnson vorschlägt :
oder
BEARBEITEN : Wie Blacklight Shining auch vorschlägt : Wenn Sie absolute Pfade vermeiden möchten, können Sie zum übergeordneten Ordner des großen Ordners wechseln und
tar
von dort aus:oder
Persönliche Reflexionen
Ob relative oder absolute Pfade eingeschlossen werden, ist eine Frage der persönlichen Präferenz.
Es gibt Fälle, in denen absolute Pfade offensichtlich sind, z. B. für eine Wiederherstellung in einer Disaster Recovery-Situation. Bei lokalen Projekten oder Sammlungen ist es üblich, einen Verzeichnisbaum vom übergeordneten Ordner des gewünschten Ordners zu archivieren, um ein Überladen des aktuellen Verzeichnisses zu vermeiden, falls das Archiv versehentlich an Ort und Stelle entpackt wird. Wenn big_folder irgendwo tief in einer Standard * NIX-Hierarchie liegt , kann es sinnvoll sein, mit der Archivierung des ersten nicht standardmäßigen Ordners zu beginnen, von dem big_folder abweicht, und seines Verzeichnisbaums von dort.
Schließlich - hier pedantisch - sind
tar
Archivmitglieder immer relativ, da a) sie in einem beliebigen Verzeichnis wiederhergestellt werden können und b)tar
die führenden/
beim Erstellen eines Archivs entfernt werden. Ich persönlich benutze beim Auspacken eines Archivs immer -C .quelle
tar -cf /network/mount/point/folder.tar /folder
anstatt auf dem lokalen Computer zu teern und dann hochzuladen, wenn Sie könnentar -cf $archive.tar -C $source_dir .
. Wenn die Zielmaschine Verzeichnis muss nicht mit dem gleichen Pfad wie das Quellverzeichnis, werden Sie brauchen , das zu tun. Stellen Sie einfach sicher, dass Sie-C
in ein neues Verzeichnis wechseln, wenn Sie (mkdir $destination_dir && tar -xf $archive.tar -C $destination_dir
) extrahieren . Andernfalls wird der Archivinhalt in das Verzeichnis verschoben, in dem Sie sich gerade befinden.Alternative: cpio
In das aktuelle Verzeichnis entpacken:
Vorsichtsmaßnahmen:
find /my/big/folder
statt enthältcd
das Archiv vollständige Pfade, und die Extraktion versucht, diesen zu folgen.quelle