Mac上的通用命令行取消存档工具


17

是否有一些命令行工具可以从大多数已知的存档类型中提取文件?类似于StuffIt Expander,但没有gui。

Answers:


15

根据该网站,从版本2.5开始,Unarchiver具有两个命令行实用程序:

支持的文件格式包括Zip,Tar-GZip,Tar-BZip2,RAR,7-zip,LhA,StuffIt以及许多其他越来越模糊的格式。[..]如果您有一个无法打开Unarchiver的压缩文件,请在bug跟踪器上发布一个bug ,并包含有问题的文件,我将研究是否可以添加对此的支持!

[..]

现在有两个命令行实用程序unar和和lsar,可分别用于解压缩和列出档案。它们仍在开发中,并没有真正的功能完善,但是它们应该起作用。可在下载页面上将它们作为OS X和Windows的预编译二进制文件获得,也可以在Linux上构建。

要下载命令行工具(不包括在常规的Unarchiver下载中!),请转到该项目的google代码下载页面,然后选择unar0.2.zip(自2010年9月20日起可用)。


真好!它支持多种格式,就像要求的一样。
Arjan

1
我在那里找不到CLI。
TIG

1
tig:您的意思是您无法点击上面Arjan引用的第二段中的“下载页面”以及那里的“ unar0.2.zip”?因为它对我来说很好。
丹尼尔·贝克

@tig,在Daniel引用的链接之后,请参阅“ unar0.2.zip,适用于Mac OS X 0.2(测试版)的unar和lsar命令行实用程序”。是的,奇怪的是,解压缩软件的创建者以zip格式分发了自己的软件。;-)解压缩后,使用./unar --help./lsar --help
Arjan 2010年

在回复中添加了下载信息
Daniel Beck

4

尝试7-Zip。除自身的本机格式(.7z)外,它还可以处理以下扩展名:ZIP,gzip,bzip2,tar,以及版本9(xz)的beta版本。它还可以以下格式解压缩(仅):ARJ,CAB,CHM,cpio,DEB,DMG,HFS,ISO,LZH,LZMA,MSI,NSIS,RAR,RPM,UDF,WIM,XAR和Z。

7za.exe包含Windows命令行版本。对于其他平台,p7zip可以从P7ZIP SourceForge项目获得一个名为POSIX的版本,并且其中一些端口也可以从7-Zip的下载页面进行链接。不幸的是,Mac的链接似乎打破,因此对于OS X,要么自己编译使用的MacPorts

编辑:对于非Windows版本,请转到“下载”页面。在这里,您可以找到源代码以及预编译的二进制文件。


据我所知,仅Windows。这个问题要求Mac使用命令行工具。
Arjan 2010年

4
@Arjan:发现POSIX版本的p7zip,它有macport它
TIG

@tig,我将您的评论合并到Joe的答案中。但是,我不知道是否p7zip支持7-Zip的所有格式。如果有人碰巧知道二进制下载链接,请告诉我们。
Arjan

不幸的是,p7zip不能完全处理在Mac上创建的存档(带有存储叉子和其他额外内容的特殊命名文件)
tig 2010年

4

如果您碰巧使用Homebrew,则可以安装atool和提取许多存档类型,如下所示:

brew install atool
atool -x archive.anything

假设系统上有相应的外部程序可用,它可以处理:

.tar.gz.tgz.tar.bz.tbz.tar.bz2.tbz2.tar.Z.tZ.tar.lzo.tzo.tar.lz.tlz.tar.xz.txz.tar.7z.t7z.tar.zip.jar.war.rar.lha.lzh.7z.alz.ace.a.arj.arc.rpm.deb.cab.gz.bz.bz2.gz.bz.bz2.Z.lzma.lzo.lz.xz.rz.lrz.7z.cpio

atool 是用于管理各种类型(tar,tar + gzip,zip等)的文件存档的脚本。

主要命令是aunpack从存档中提取文件。您是否曾经从存档中提取文件,而不检查文件是位于存档的子目录中还是位于顶层目录中,从而导致文件散布到各处?aunpack通过首先提取到新目录来解决此问题。如果存档中只有一个文件,则该文件将移至原始目录。aunpack还可以防止本地文件被错误覆盖。

提供的其他命令是apack(用于创建档案),als(用于列出档案中的文件)和acat(用于将文件提取为标准输出)。在atool调用外部程序来处理档案时,某些类型的档案可能不支持所有命令。

atool通过文件扩展名识别档案。有时这是不可能的-例如rar档案通常具有不同的数字文件扩展名。在那些atool无法识别格式的情况下,file改用。(atool可以配置为不使用文件。)


1
它也可以通过MacPorts的不仅通过自制软件,它也可以从源代码编译
TIG

MacPorts:sudo port install atool
ab77

4

您可以使用brew install unarbrew install atool然后:

unar archive.gz
# or
atool -x archive.gz

“你不能为自己的职位投票”:D
多里安

2

对于Mac OS X本身已知的压缩和归档类型,您可以使用open,它将调用“归档实用程序”(以前称为BOMArchiveHelper),就像从Finder中双击它一样。适用于[pk] zip,gzip,bzip,bzip2,tar,pax,cpio,压缩(.Z)等。

如果您安装了知道如何取消存档其他格式的应用程序,并且已经为这些文件扩展名或magic(5)值注册了open这些应用程序,则该命令将启动这些应用程序以处理这些类型。当然,您可能最终会进入这些应用程序的GUI。


1
那就是我现在使用的,但是它有一些缺点:我无法指定诸如提取到特定文件夹的选项,弹出应用程序窗口(即使我使用来运行它-g,它仍然位于最前面的窗口下)
tig
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.