Gibt es ein Programm, das eine konsistente Schnittstelle für mehrere Archivtypen bietet?

13

Im Moment kann es sich beim Herunterladen einer komprimierten Datei um ein .tar.gz-Archiv, ein tar.bz2-Archiv, ein .zip-Archiv oder ein .gz-Archiv handeln. Und jedes Mal muss ich mir merken, welche Befehlszeilenoptionen für dieses Programm verfügbar sind.

Gibt es ein CLI-Programm, in das ich einfach gehen kann:

Undokomprimierung Somefile.?

und lassen Sie es herausfinden, in welchem ​​Format das Archiv ist? (zu langer Name, um Konflikte mit echten Programmen zu vermeiden)

Macha
quelle
Ich konnte keine Tags finden oder erstellen wie archive, compressionetc. Könnte jemand anderes die richtigen hinzufügen?
Macha
@ Tshepang: Behoben.
Macha

Antworten:

11

Sie können p7zip verwenden . Es erkennt automatisch den Archivtyp und dekomprimiert ihn.

p7zip ist die Befehlszeilenversion von 7-Zip für Unix / Linux, die von einem unabhängigen Entwickler erstellt wurde.

7z e <file_name>

Hemant
quelle
5

Ich habe diesen kleinen Ausschnitt vor einiger Zeit gefunden und benutze ihn seitdem. Ich habe es nur in meiner .bashrc-Datei

extract () {
if [ -f $1 ] ; then
    case $1 in
        *.tar.bz2)  tar xjf $1      ;;
        *.tar.gz)   tar xzf $1      ;;
        *.bz2)      bunzip2 $1      ;;
        *.rar)      rar x $1        ;;
        *.gz)       gunzip $1       ;;
        *.tar)      tar xf $1       ;;
        *.tbz2)     tar xjf $1      ;;
        *.tgz)      tar xzf $1      ;;
        *.zip)      unzip $1        ;;
        *.Z)        uncompress $1   ;;
        *)          echo "'$1' cannot be extracted via extract()" ;;
    esac
else
    echo "'$1' is not a valid file"
fi
}
Dason
quelle
1
Dies ist effektiver als die akzeptierte Antwort, da Sie 7z e foo.tar.gznur eine foo.tarDatei erhalten.
Wilfred Hughes
2

In Debian / Ubuntu gibt es das unpPaket, ein Perl-Skript, das als Frontend für viele Archivierungsdienstprogramme dient.

JanC
quelle
2

Aus einer anderen Frage : atool , das auch verschiedene Archivtypen verarbeitet und leistungsfähiger ist als, unpweil es auch die Auflistung von Inhalten und das Auffinden von Unterschieden zwischen Archiven usw. verarbeitet.

Thomas Themel
quelle
1

GNU tar (und star) verfügt über mindestens einige automatische Komprimierungserkennungsfunktionen:

tar xf foo.tar.gz
tar xf foo.tar.bz

arbeite einfach.

maxschlepzig
quelle
Es hängt von der Version von tar ab, welche Formate es automatisch erkennen kann, aber ansonsten funktioniert es gut ... IIRC starist eigentlich eine standardisiertere Methode, bei der GNUs tar eine nicht standardisierte Erweiterung ist.
Xenoterracide
Die neueste Version von GNU tar kann alle komprimierten Archive dekomprimieren, die mit einem der Komprimierungsfilter-Schalter (z, j, J, --lzma) erstellt wurden. Sie erkennt die Komprimierung automatisch.
Polemon
@xenoterracide: Nun, der Autor von star hat GNU tar in seinem gewohnten Stil oft kritisiert - diese Schriften könnten voreingenommen sein (schlechte Punkte über star und gute Punkte über GNU tar ignorieren), enthalten wahrscheinlich etwas FUD und sind wahrscheinlich veraltet.
Maxschlepzig
1

Ich denke, arkdas KDE-Archivierungstool kann ohne GUI ausgeführt werden. Von der arkManpage

ark --batch archive.tar.bz2

Extrahiert die Datei archive.tar.bz2 in das aktuelle Verzeichnis, ohne dass eine grafische Benutzeroberfläche angezeigt wird.

Die Unterstützung von Arks für verschiedene Archivformate hängt davon ab, welche Apps Sie installiert haben (z. B. für rar hängt es von unrar ab), aber ich kenne keine Formate, die nicht verarbeitet werden können.

Xenoterracid
quelle
1

Ich bin überrascht, dass niemand das in dieser Antwort vorgeschlagene DTRX- Tool erwähnt hat .

Scheint die Anfrage zu einem Abschlag zu passen.

HighCommander4
quelle
0

Der Unarchiver unterstützt das Extrahieren von ca. 50 verschiedenen Formaten mit einer einheitlichen Oberfläche.

Standardmäßig wird ein Verzeichnis erstellt, wenn mehr als eine Datei oder ein Ordner der obersten Ebene vorhanden ist.

manZeigen Sie die zugehörige Seite an .

Die Kommandozeilenversion unterstützt Linux und ist hier verfügbar .

Tom Hale
quelle