Untar, ungz, gz, tar - wie erinnern Sie sich an alle nützlichen Optionen?

75542
deadprogrammer

Ich bin mir ziemlich sicher, dass ich nicht der einzige bin, der folgendes Problem hat: Jedes Mal, wenn ich eine Datei in * nix dekomprimieren muss, kann ich mich nicht an alle Schalter erinnern und werde am Ende googeln mach das.

Hast du einen guten Kompressions-Spickzettel? Oder wie wäre es mit einer Mnemonik für all diese bösen Schalter in Teer?

Ich mache diesen Artikel zu einem Wiki, damit wir hier einen schönen Spickzettel erstellen können.

Oh, und über Manpages: gibt es eine Sache, für die sie nicht hilfreich sind, um herauszufinden, wie man eine Datei dekomprimiert.

71
Verwenden Sie die Handbuchseiten, dann müssen Sie kein Wiki erstellen und müssen sich nur an den man-Befehl erinnern :-) man (1) Florenz Kley vor 13 Jahren 1
Ich erinnere mich an eXtract Zee File Canadian Luke vor 10 Jahren 6
Das Erstellen einer Zee-Vocking-Datei eignet sich möglicherweise zum Erstellen einer .tar.gz-Datei CousinCocaine vor 10 Jahren 0

16 Antworten auf die Frage

63
ADEpt

Oder wie wäre es mit der Shell mit erweiterten Vervollständigungsfunktionen (wie zsh oder frischen Versionen von bash), die die Optionen für Sie mit umfassender Hilfe vervollständigen werden? :))

In Bezug auf tar: Sehen Sie sich einfach die "qwerty" -Tastatur an. Es gibt Buchstaben "zxcvf" nebeneinander. Sie benötigen entweder "tar czvf file.tar.gz-Dateien" oder "tar xzvf file.tar.gz".

Requisiten für die Beantwortung der Frage :) vor 15 Jahren 0
Nun, das ist ein cooler "Qwerty" -Tipp! :) vor 15 Jahren 0
Fricking super! deadprogrammer vor 15 Jahren 0
Ein weiterer Tipp ist, dass die Option `z` (oder die Option` j` für `.bz2`-Dateien) beim Extrahieren mit modernen Versionen von tar nicht erforderlich ist. Die Datei wird automatisch dekomprimiert. Nate vor 14 Jahren 1
Ich habe etwa zehn Milliarden Mal Teer verwendet und habe nie bemerkt, dass alle am häufigsten verwendeten Optionen auf der Tastatur nebeneinander liegen. * Kopfschmerzen * Tyler McHenry vor 14 Jahren 9
Ich habe mir einfach das leicht zu merkende Stückchen "Ex Vee Vee Zee Eff" eingeprägt! aber ich konnte mich nie daran erinnern, wie man ein Archiv erstellt Claudiu vor 14 Jahren 0
Ein Tipp ist, dass die neueste Version von tar das Format beim Extrahieren automatisch erkennt, sodass Sie einfach -x zum Extrahieren verwenden können. Maxim vor 7 Jahren 0
39
Adam Pierce

Tar-Optionszusammenfassung

Sie können dies gerne bearbeiten, um weitere esoterische Schalter hinzuzufügen, aber hier sind die Grundlagen:

  • x - Dateien extrahieren
  • c - Archiv erstellen
  • t - Listendateien
  • v - verbose (listet Dateien auf, wenn sie verarbeitet werden)
  • j - verwende bz2-Komprimierung
  • z - gz-Komprimierung verwenden
  • f - Lesen oder Schreiben von Dateien auf die Festplatte

Beispiele

Dekomprimieren Sie eine tar.gz-Datei: tar zxf tarball.tar.gz

Dekomprimieren Sie eine tar.bz2-Datei: tar jxf tarball.tar.bz2

Erstellen Sie eine tar.gz-Datei: tar zcvf tarvall.tar.gz mydir / *

22

Es gibt ein kleines Perl-Skript namens "unp".

unp filename.tar.gz 

... und es extrahiert alles. Funktioniert mit jeder komprimierten Datei, sofern Sie über die richtigen Binärdateien verfügen. Und Sie vergessen nur die Syntax oder irgendeinen Mist. Überprüfen Sie die Repositorys Ihrer Linux-Distribution. Es sollte dort sein (zumindest auf Arch, Debian und Ubuntu).

Cool, das ist neu für mich. Danke für den Tipp! vor 15 Jahren 0
Selbst nachdem ich lange Zeit mit Tar gearbeitet habe, muss ich noch nach den dummen Flaggen suchen. Unp ist der Weg zu gehen. Yada vor 8 Jahren 0
6
Jeremy Ruten

Geben Sie einfach tar --helpund es ist Ihr Spickzettel.

Haben Sie jemals versucht, diese Manpage zu lesen? deadprogrammer vor 15 Jahren 11
Es ist vielleicht etwas unlesbar und lang, aber ich denke, es funktioniert gut, wenn Sie nur nach dem Namen einer Option suchen. Sie können auch nach der gewünschten Option suchen, z. B. 'tar --help | grep-Auszug '. Jeremy Ruten vor 15 Jahren 0
Ja wirklich? Wie würden Sie tar -xvf daraus ableiten? deadprogrammer vor 15 Jahren 0
Großartig. Und dann müssen Sie eine Manpage durchgehen, auf der Sie (unter den gesuchten Sachen) eine Menge archaischer Streaming-Befehle und -Optionen finden, die nur der Entwickler benötigt. vor 15 Jahren 1
Nun, es scheint für mich zu funktionieren (mit tar sowie anderen Linux-Programmen von ocmmand-line). Ich verwende einfach die Option '--help' oder 'man' und suche nach Informationen, die ich brauche. Das hat für mich immer gut funktioniert. Wenn es zu viele nutzlose Informationen gibt, überspringe ich es einfach. Jeremy Ruten vor 15 Jahren 0
Jeremy, du bist entweder ein autistischer Gelehrter oder völlig voll Mist. Der Teerausstoß des Menschen ist schlechter als unbrauchbar, er ist auch unbrauchbar. deadprogrammer vor 15 Jahren 0
Ich verstehe wirklich nicht, was so hart daran ist. Um ein Archiv zu extrahieren, suchen Sie einfach nach der Option extract und fügen Sie Ihrem Befehl -x hinzu. Wenn Sie es ausführlich wünschen, suchen Sie diese Option und fügen Sie av hinzu, um -xv zu erhalten. Fahren Sie dann fort, bis Sie genau den gewünschten Befehl erhalten. Es gibt sogar Beispielbefehle für allgemeine Operationen. Jeremy Ruten vor 15 Jahren 2
Jeremy, das eigentliche Problem ist, dass Sie nicht immer den richtigen Wortschatz kennen. Daher ist es leicht, verwirrt zu sein und ähnliche Optionen zu finden, damit diese nicht funktionieren. Dann müssen Sie (einige) von ihnen in die richtige Reihenfolge bringen. Dies ist nicht unerheblich für jemanden, der von Windows wegwandert. Umso mehr, wenn sie Scripting in Windows nicht kannten. Nazadus vor 14 Jahren 1
6
Ali Mezgani

Bei einer häufigen Verwendung mache ich wirklich einen Unterschied zwischen dem Extrahieren von (x) und dem Komprimieren von (c).

Extrahieren:

tar xzf data.tgz 

Zu komprimieren:

tar czf data.tgz 

Außerdem können Sie Ihrem .bashrc zwei Funktionen hinzufügen:

function extract () {  if ($# -ne 1); then echo "Usage: $0  `<compressed archive>"` exit 1 fi tar xzf $1 }  function compress () { if ($# -ne 2); then echo "Usage: $0 `<compressed archive> <files|directories>"` exit 1 fi tar czf $1 $2 } 

Es gibt eine weitere nette Extraktionsfunktion, die die Erweiterung Ihrer komprimierten Datei erkennt und die Arbeit für Sie erledigt:

extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xvjf $1 ;; *.tar.gz) tar xvzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xvf $1 ;; *.tbz2) tar xvjf $1 ;; *.tgz) tar xvzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo "don't know how to extract '$1'..." ;; esac else echo "'$1' is not a valid file!" fi } 
3

Wenn Sie Schwierigkeiten haben, sich an die Teeroptionen zu erinnern, versuchen Sie es mit Rohren:

  • zcat file.tar.gz | tar xvf -
  • bzcat file.tar.bz2 | tar xvf -

Ersetzen tar xvmit, tar tvum nur den Inhalt des Archivs anzuzeigen.

Persönlich verwende ich folgende Mnemonics:

  • t, x oder c für "tabellieren", "xtracting" bzw. "erstellen".
  • v zum Auflisten aller Dateien.
  • z, j oder nichts für tar.gz, tar.bz2 bzw. plain .tar.
  • f, um einen Dateinamen anzugeben, im Vergleich zur Standardeinstellung von stdin / stdout oder einem Bandgerät.

Obwohl "j" und "bzip2" scheinbar nichts miteinander zu tun haben, fällt es mir leicht, sich an diese Ausnahme zu erinnern.

Ich finde es auch komisch, dass Googling "Man Teer" ersetzt hat.

Sie sollten es sich zur Gewohnheit machen, immer die "f" -Option zur Verfügung zu stellen: Erst in letzter Zeit setzen Te-Verteilungen auf "f-", der historische Standard ist "f / dev / rmt0" oder ähnliches. Schließlich ist tar der Tape ARchiver. ephemient vor 15 Jahren 0
Was ist tabellarisch? Claudiu vor 14 Jahren 1
3

Der Mensch ist dein Freund.

man tar

2
Jauder Ho

Ich mache folgendes

So erstellen Sie einen Tar:

tar czvf foo.tar.gz <files to be included> 

Zu entladen:

tar zxvf foo.tar.gz 

Dies sollten die wichtigsten Schalter sein, um die Sie sich Sorgen machen müssen:

c - create z - compress/uncompress x - extracte v - verbose f - file 

Sie können etwas ausgefallenere Dinge wie tar und inline tun, während Sie versuchen, Dateien in Verzeichnissen zu verschieben.

tar cf - <files to be copied> | (cd <target directory>; tar xvf - ) 
2
feeela

Ich lese während des Tippens immer die Befehle in meinem Kopf vor

verbose zip-Datei komprimieren

tar cvzf FILE 

entpacken Sie die ausführliche ZIP-Datei FILE

tar xvzf FILE 
1
ramayac

90% der Zeit benutze ich gerade

tar -xvf file.* 

x: extrahiere
v: be verbose (optional)
f: Eingabedatei (tar, gz, bzip2 usw.)

Einfach, oder? :)
Verwenden Sie Fileroller oder Ark, wenn Sie sich nicht in einer Konsole befinden.

Bis jetzt habe ich Fileroller verwendet, aber momentan habe ich kein Glück, da die Version, die ich habe, 1,1 GB Speicher benötigt. Andrew Grimm vor 14 Jahren 0