译者:郑

Linux上有不少用于压缩文件的。最新最有效的一个方式是,而且所有的方式都有节约c盘空间和维护备份文件供之后使用的优点。在这篇文章中,我们将比较这种压缩并强调明显的不同。

tar

不是专门的压缩命令。它一般用于将多个文件拉入一个单个的文件中,便于容易地传输到另一个,或则将文件作为一个相关的组进行备份。它也提供压缩的功能,这就很有意义了,附加一个z压缩选项才能实现压缩文件。

当使用z选项为命令附加压缩过程时,使用来进行压缩。

如同压缩一组文件一样,你可以使用来压缩单个文件qq linux,虽然这些操作与直接使用相比没有非常的优势。要使用这样做,只须要使用命令来标示要压缩的文件,如同标示一组文件一样,像这样:

$tarcfzbigfile.tgzbigfile

^^

||

+-新的文件+-将被压缩的文件

$ls-lbigfile*

-rw-rw-r--1shsshs103270400Apr1616:09bigfile

-rw-rw-r--1shsshs21608325Apr1616:08bigfile.tgz

注意,文件的大小明显降低了。

假如你乐意linux系统有哪几种文件类型,你可以使用tar.gz扩充名,这可能会使文件的特点愈加显著,而且大多数的Linux用户将很可能会意识到与tgz的意思是一样的–和gz的组合来显示文件是一个压缩的tar文件。在压缩完成后linux系统有哪几种文件类型,你将同时得到原始文件和压缩文件。

要将好多文件搜集在一起并在一个命令中压缩出“tarball”,使用相同的句型,但要指定要包含的文件为一组,而不是单个文件。这儿有一个示例:

$tarcfzbin.tgzbin/*

linux系统有哪几种文件类型_linux系统有哪几种文件类型_linux典型文件系统类型

^^

|+--将被包含的文件

+新的文件

zip

命令创建一个压缩文件,与此同时保留原始文件的完整性。句型像使用一样简单,只是你必需记住,你的原始文件名称应当是命令行上的最后一个参数。

$zip./bigfile.zipbigfile

updating:bigfile(deflated79%)

$ls-lbigfilebigfile.zip

-rw-rw-r--1shsshs103270400Apr1611:18bigfile

-rw-rw-r--1shsshs21606889Apr1611:19bigfile.zip

gzip

命令十分容易使用。你只须要键入,紧跟其后的是你想要压缩的文件名称。不像上述描述的命令,将“就地”加密文件。换句话说,原始文件将被加密文件替换。

$gzipbigfile

$ls-lbigfile*

-rw-rw-r--1shsshs21606751Apr1517:57bigfile.gz

bzip2

像使用命令一样,将在你选择的文件“就地”压缩,不留下原始文件。

$bzipbigfile

$ls-lbigfile*

-rw-rw-r--1shsshs18115234Apr1517:57bigfile.bz2

xz

是压缩命令团队中的一个相对较新的成员,在压缩文件的能力方面,它是一个领跑者。像以前的两个命令一样,你只须要将文件名称提供给命令。再指出一次,原始文件被就地压缩。

$xzbigfile

$ls-lbigfile*

-rw-rw-r--1shsshs13427236Apr1517:30bigfile.xz

对于大文件来说,你可能会注意到将比其它的压缩命令耗费更多的运行时间,并且压缩的结果却是十分令人惊叹的。

对比

大多数人都据说过“大小不是一切”。所以,让我们比较一下文件大小以及一些当你计划怎样压缩文件时的问题。

下边显示的统计数据都与压缩单个文件相关,在里面显示的示例中使用bigfile。这个文件是一个大的且相当随机的文本文件。压缩率在一定程度上取决于文件的内容。

大小减缩率

当比较时,里面显示的各类压缩命形成下边的结果。比率表示压缩文件与原始文件的比较疗效。

-rw-rw-r--1shsshs103270400Apr1614:01bigfile

------------------------------------------------------

-rw-rw-r--1shsshs18115234Apr1613:59bigfile.bz2~17%

-rw-rw-r--1shsshs21606751Apr1614:00bigfile.gz~21%

-rw-rw-r--1shsshs21608322Apr1613:59bigfile.tgz~21%

-rw-rw-r--1shsshs13427236Apr1614:00bigfile.xz~13%

-rw-rw-r--1shsshs21606889Apr1613:59bigfile.zip~21%

命令取胜,最终只有压缩文件13%的大小,并且所有这种压缩命令都相当明显地减低原始文件的大小。

是否替换原始文件

、和命令都用压缩文件替换原始文件。和命令不替换。

运行时间

命令显然比其它命令须要耗费更多的时间来加密文件。对于bigfile来说,大约的时间是:

命令运行时间

tar4.9秒

zip5.2秒

bzip222.8秒

gzip4.8秒

xz50.4秒

解压缩文件很可能比压缩时间要短得多。

文件权限

不管你对压缩文件设置哪些权限,压缩文件的权限将基于你的umask设置,但除外,它保留了原始文件的权限。

与Windows的兼容性

命令创建的文件可以在Windows系统以及Linux和其他Unix系统上使用(即解压),而无需安装其他工具,无论这种工具可能是可用还是不可用的。

解压缩文件

解压文件的命令与压缩文件的命令类似。在我们运行上述压缩命令后,这种命令用于解压缩bigfile:

tar:

zip:

gzip:

bzip2:

xz:或

自己运行压缩对比

假如你想自己运行一些测试,抓取一个大的且可以替换的文件,并使用里面显示的每位命令来压缩它——最好使用一个新的子目录。你可能须要先安装linux安装,假如你想在测试中包含它的话。这个可能更容易地进行压缩,并且可能须要耗费几分钟完成。

#!/bin/bash

#寻问用户文件名称

echo-n"filename>"

readfilename

#你须要这个,由于一些命令将替换原始文件

cp$filename$filename-2

#先清除(以免原本的结果依然可用)

rm$filename.*

tarcvfz./$filename.tgz$filename>/dev/null

zip$filename.zip$filename>/dev/null

bzip2$filename

#恢复原始文件

cp$filename-2$filename

gzip$filename

#恢复原始文件

cp$filename-2$filename

xz$filename

#显示结果

ls-l$filename.*

#替换原始文件

mv$filename-2$filename

via:

本文原创地址://q13zd.cn/lsdtmlbszmdy.html编辑:刘遄,审核员:暂无