高压缩比 压缩软件 linux,技术|Linux 下最为人熟知的归档/压缩工具

很多时候,通过互联网发送或接收大文件和图片是一件令人头疼的事。压缩及解压缩工具正好可以应对这个问题。下面让我们快速浏览一些可以使得我们的工作更加轻松的开源工具。

Tar

b8bd051e597cac143106cc6c200cee86.png

Tar 由 'Tape archiver(磁带归档器)' 衍生而来,最初被用来在磁带上归档和存储文件。Tar 是一个 GNU 软件,它可以压缩一组文件(归档),或提取它们以及对已有的归档文件进行相关操作。在存储、备份以及传输文件方面,它是很有用的。在创建归档文件时,Tar 可以保持原有文件和目录结构不变。通过 Tar 归档的文件的后缀名为 ‘.tar’。

基本用法如下:

a) 创建归档 (c / --create)

tar --create --verbose --file=archive.tar file1 file2 file3

tar cvf archive.tar file1 file2 file3

1785d0be09945d542569cd3e1c4fef18.png

创建一个归档

b) 列出归档文件内容 ( t / --list)

tar --list archive.tar

076f53ac05d8e26f93100d3fb4c85956.png

列出归档中包含的文件

c) 提取归档 (x / --extract)

tar xvf archive.tar

tar xvf archive.tar --wildcards '*.c'

- 从归档中提取后缀名为 *.c 的文件。

6d9b307d5ff5e4fd6d60b7d95685856a.png

提取文件

17f901ff4f1585f5fac1ec11c58db434.png

只提取需要的文件

d) 对归档文件进行更新 ( u / --update)

tar uvf archive.tar newfile.c

- 假如归档的newfile.c 要比先前已经归档的新,则添加更新的 newfile.c 到归档里面.

9c343ab927fa3843b43186486a6b75af.png

更新一个归档

e) 从归档中删除文件 (--delete)

tar --delete -f archive.tar file1.c

- 从压缩包'archive.tar' 中删除文件'file1.c'

c0f202931caa286d32fbef1ab7916719.png

删除文件

更加具体的使用方法请参考tar 主页。

Gzip / Gunzip

94fe343be2f8f8f15b2a1e59569646fd.png

Gzip 即 GNU zip,它是一个被广泛用于 Linux 操作系统中的压缩应用,被其压缩的文件的后缀名为'*.gz' 。

基本用法如下:

a) 压缩文件

gzip file(s)

每个文件将被单独压缩。

43c3c2e8cd1d3d72eedc8b71223198af.png

压缩文件

通常在压缩完成后,它会将原来的文件删除。我们可以使用 -c 选项来保留原来的文件。

gzip -c file > file.gz

96a0872e142437c1cfc4ac2d51015c14.png

压缩后保留原有文件

我们也可以将一组文件压缩到一个单独的文件中

cat file1 file2 file3 | gzip > archieve.gz

fd8e7a5f186a932eaf3f5ee8266a3764.png

压缩一组文件

b) 检查压缩比

被压缩文件的压缩比可以使用 ‘-l’ 选项来进行检验。

gzip -l archieve.gz

59de0b05ee85dd2225fa1b6b1b09baca.png

检查压缩率

c) 解压文件

Gunzip 用来解压文件,在这里,原有的(压缩)文件在被解压后同样会被删除。使用 -c选项来保留原始文件。

gunzip -c archieve.gz

d7d017fd927731966b3cb435ecfefd63.png

解压文件

gzip 加上'-d'选项 和 gunzip 对压缩文件有同样的效果。

更多细节可以从 gzip 主页 得到。

Bzip2 / Bunzip2

2ae1fe701317fce43eed11798163d400.png

同 gzip 一样,Bzip2 也是一个压缩工具,与其他传统的工具相比,它可以将文件压缩到更小,但其缺点为:运行速度比 gzip 慢。

基本用法如下:

a) 压缩文件

一般情况下,针对压缩而言,Bzip2 不用什么选项,将被压缩的文件被传递为它的参数。每个文件被单独压缩,且压缩文件以 'bz2' 为后缀名。

bzip2 file1 file2 file3

049a945826023349a0496144cfe59217.png

文件压缩

使用 '-k' 选项可以使得在压缩或解压缩之后保留原有的文件。

6a9f5154fedcbbf3fac7d455951a2e23.png

在压缩后保留原有文件

b) 解压

'-d' 选项被用来解压缩。

a782060da2c7c60a3ef42a41f1426e57.png

使用 -d 选项解压缩文件

也可以使用 bunzip2 来解压缩。

bunzip2 filename

10a67cb9a25e5b2d182353127d673980.png

解压文件

bunzip2 可以解压后缀名为 bz2, bz, tbz2 和 tbz 的文件。带有 tbz2 和 tbz 的文件在压缩后,后缀名将变为'.tar' 。

bzip2 -dc

- 执行解压文件到标准输出的功能。

7-zip

24a5750a775b02cd7a6c3b502845db3b.png

7-zip 是另一个开源压缩软件。它使用 7z 这种新的压缩格式,并支持高压缩比。因此,它被认为是比先前提及的压缩工具更好的软件。在 Linux 下,可以通过 p7zip 软件包得到,该软件包里包含 3 个二进制文件: 7z, 7za 和 7zr,读者可以参考 p7zip wiki 来了解这三个二进制文件之间的不同。在本篇中,我们将使用 7zr 来解释 7-zip 的用法。归档文件以 '.7z' 为后缀名。

基本用法如下:

a) 创建归档

7zr a archive-name.7z file-name(s) / directory-name(s)

f75fa1dca786220479ab5d66bb6ce5af.png

创建一个归档文件

b) 列出归档包含文件

7zr l archive-name.7z

277afa202ad7c0194d48ba8968008368.png

列出归档中包含的文件

c) 提取归档文件

7zr e archive-name.7z

4b2b609ef059b40b4c1fbea1e74e19f9.png

提取归档

d) 更新归档文件

7zr u archive-name.7z new-file

b91e92b94689a405663af9f3eb07fd92.png

更新一个归档文件

e) 从归档文件中删除文件

7zr d archive-name.7z file-to-be-deleted

efefd4e32ab04d2b7924e44225efdb6b.png

删除文件

bb7f67619f1c53d26e71f4950ddbee04.png

确认文件删除

本文由 LCTT 原创翻译,Linux中国 荣誉推出 linisi.svg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值