可以处理所有流行的压缩/归档格式(egtar、gzip、bzip2、zip)的 Unix/Linux 程序?

Ani*_*van 5 linux compression unix command-line archiving

我有时会对运行常见 Unix 归档和压缩软件(例如 gzip、bzip2、zip、tar)所需的各种命令行选项感到困惑。

有没有一个程序可以在常见情况下按我的意思做?例如:

program --compress --gzip foobar
program --extract foobar.tar.bz2
program --extract foo.zip
Run Code Online (Sandbox Code Playgroud)

小智 8

例如7z

7z a -tgzip foobar.gz foobar
7z e foobar.gz
Run Code Online (Sandbox Code Playgroud)

其中a- 将文件添加到存档,-t{Type}- 设置存档类型(7z、zip、gzip、bzip2 或 tar),e- 从存档中提取文件。更多信息man 7z


dsh*_*erd 1

atool是专为这项工作而设计的。此处提供了手册页的副本。

要压缩文件,请使用

apack ARCHIVE FILE
Run Code Online (Sandbox Code Playgroud)

并解压它们使用

aunpack ARCHIVE
Run Code Online (Sandbox Code Playgroud)

(或者您可以分别使用atool -aatool -x)。

它几乎适用于您能想到的任何存档格式,包括 gzip、bzip、lzip、7z、rar、ar、deb、rpm、jar[1] 以及 tar 和压缩方法的大多数组合。

与 7zip 相比,它的优点是7zip 删除了可执行权限。例如,7zip 使得从存档源安装软件变得更加困难,因为您需要chmod +x在运行任何 make 或任何安装脚本之前手动安装适当的文件。


[1] 链接的在线手册页适用于不处理 jar 文件的旧版本。