Wie kann ich .7z-Dateien über das MacOS-Terminal entpacken?

Ich möchte eine Reihe von Dateien entpacken.7z über das Terminal.

Ist ein Befehlszeilentool integriert, verfügbar oder soll ich eine Anwendung installieren, die mit einer grafischen Oberfläche geliefert wird?

Ich habe hier eine Lösung gefunden: superuser.com/questions/548349/… obwohl ich sie noch nicht getestet habe

Antworten (9)

p7zipSie können mit Homebrew installieren . Damit

% brew install p7zip
% 7za x myfiles.7z

Die Installation von Homebrew wie von @EraserPencil vorgeschlagen ist sinnvoll, da das OP in Zukunft möglicherweise mehr Programme benötigt, die ihm dann zur Verfügung stehen würden. Sie können Homebrew mit installieren

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Es sollte beachtet werden, dass es 7z edas auch gibt, aber wie von @Qback kommentiert, macht dies fast nie das, was Sie wollen, wenn Sie Unterverzeichnisse im Archiv haben.

7zip habe ich auch installiert. Leider hieß es, dass das Archiv beschädigt ist und die Datei nicht extrahiert werden konnte. Ich habe versucht, 7za zu installieren, und es hat wie ein Zauber funktioniert.

Die Befehlszeilenversion von Unarchive kann .7z-Dateien extrahieren.

MacOS verarbeitet das .7z-Format nicht nativ.

Der UnArchiver ist mein Lieblingstool für den Umgang mit .7z und vielen anderen Formaten. Es ist sowohl als Anwendung als auch als Befehlszeilentool verfügbar, wenn Sie dies bevorzugen.

Wenn Sie Homebrew nicht installieren möchten, können Sie keka installieren (das übrigens eine hervorragende GUI zum (De-)Komprimieren ist) und dann auf die enthaltene Version von p7zip verlinken, die Sie unter findenKeka.app/Contents/Resources/keka7z

Damit es von der Befehlszeile aus funktioniert, habe ich es mit meinem verknüpft/usr/local/bin

> ln -s /Applications/Keka.app/Contents/Resources/keka7z /usr/local/bin/7z
> 7z -h

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)
Modified by aONe for Keka

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]
Schöne Lösung. Der Symlink hat es geschafft.

Wir haben auch eine andere völlig kostenlose GUI-Lösung gefunden, die auf macOS von dieser anderen ähnlichen Frage ausgeführt werden kann

Keka - der KOSTENLOSE MacOS-Datei-Entpacker/-Archiver.

Sie können P7ZIP (Version 16.02, getestet auf macOS 10.11 oder 10.15 ) von Rudix installieren . Sie müssen das Rudix-Ökosystem nicht installieren.

Es stellt sich heraus, dass die offizielle 7z-Distribution zum Zeitpunkt des Schreibens einen Mac CLI-Client - Download hat – derzeit 7-Zip 21.07 (2021-12-26) .

Herunterladen, entpacken und dann ausführen - funktioniert wunderbar:

$ /Users/me/Downloads/7z2107-mac/7zz x some.7z

Das erste Mal, wenn Sie es ausführen, schlägt es mit der Eingabeaufforderung "Unbekannter Entwickler" fehl - Sie müssen ihm im Dialogfeld "Systemeinstellungen" Berechtigungen erteilen

Während Sie einen Fehler wie diesen erhalten haben

MacBook-Air ~ % brew install p7zip
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!
To rerun under ARM use:
    arch -arm64 brew install ...
To install under x86_64, install Homebrew into /usr/local.

Verwenden Sie den folgenden Code für M1 Chip Mac

arch -arm64 brew install p7zip
Was braucht man arch -arm64hier?
in M1 Chip MacBook dringend erforderlich arch -arm64, wenn Sie versuchen, ohne arch -arm64dann eine Fehlermeldung zu installieren.
Dann ist dein Setup seltsam. Funktioniert ohne das für mich (und andere). Möglicherweise lohnt es sich, eine neue Frage dafür zu stellen, damit die Leute Ihnen helfen können, dies zu vermeiden.
Das Setup ist nicht ungewöhnlich, die M1-Chip-Architektur ist arch -arm64der Grund, warum wir jeden Brühbefehl mit derselben Architektur installieren müssen, andere Intel-Basis-Macs müssen nicht hinzugefügt werden arch -arm64.
arch ist nur erforderlich, wenn Sie eine bestimmte Architektur aus einer universellen Binärdatei auswählen möchten. Standardmäßig wählt eine M1-Maschine automatisch arm64 ohne Hilfe des Benutzers (es sei denn, Sie stellen Ihr Terminal so ein, dass es mit Rosetta läuft, aber das ist nicht der Standardfall).
Wie auch immer, welche Art von Fehler erhalten Sie, wenn Sie Brew ohne Arch ausführen?
Bitte überprüfen Sie meine Antwort und stimmen Sie weiter ab.
Sie erhalten diesen Fehler nur, wenn Sie eine Shell in x86/rosetta ausführen ( weitere Einzelheiten finden Sie am Anfang von github.com/Homebrew/brew/issues/10313 ). Stellen Sie einfach sicher, dass die Shell nativ läuft.

Da Sie mit CLI vertraut sind und einen Linux-Hintergrund haben, können Sie versuchen, GNU-tar auf einem Mac zu installieren

Sie müssen zuerst Homebrew installieren ,

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

dann laufen brew install gnu-tar. Stellen Sie sich brewdas als yum, oder apt-getÄquivalent vor.

Dann können Sie gtarauf Ihrem Mac verwenden.

# on Mac
$ gtar czvf example.tar.gz example
example/
example/bla.txt

# send it to CentOS
# login to CentOS

$ tar xzvf example.tar.gz
example/
example/bla.txt
AFAIK tarextrahiert/entpackt keine .7zDateien.