如何压缩Linux上的5种方法文件

有很多的,你使用Linux系统上的压缩文件的工具,但他们并不都具有相同的行为方式或产生压缩的同一水平。在这篇文章中,我们比较了他们五个。

盖蒂图片社

在Linux上有很多用于压缩文件的命令。其中最新最有效的是xz,但它们都有节省磁盘空间和保存文件供以后使用的优点。在这篇文章中,我们比较了压缩命令并指出了显著的差异。

柏油

tar命令没有特别的压缩命令。它通常用来拉一些文件转化为便于运输单个文件到另一个系统或将文件备份为一组相关。它也提供压缩的功能,这使得有很大的意义,和另外的z压缩选项可用来实现这一点。

当压缩被添加到柏油命令z选项,焦油用途gzip进行压缩。

您可以使用柏油虽然这没有提供特别的优势利用为一组那样容易压缩单个文件gzip直接。使用柏油对于这一点,只是识别文件,你会一组这样的“焦油CFZ newtarfile文件名”命令的文件:

$焦油CFZ bigfile.tgz大文件^ ^ ||+  - 新文件+  - 文件被压缩
$ ls -l命令大文件* -RW-RW-R-- 1个SHS SHS 103270400 4月16日16:09大文件-RW-RW-R-- 1个SHS SHS 21608325 4月16日16:08 bigfile.tgz

注意在文件大小显著减少。

如果你愿意,你可以使用tar.gz的扩展名,这可能会使文件的字符更明显一些,但是大多数Linux用户可能会认识它tgz因为意思是一样的东西——组合柏油GZ以指示该文件是压缩的tar文件。压缩完成后,您将同时保留原始文件和压缩文件。

要收集大量的文件一起,在一个命令压缩所产生的“焦油球”,使用相同的基本语法,但指定的文件被包括在地方的单个文件的一组。下面是一个例子:

$焦油CFZ bin.tgz斌/ *
^ ^
| +——要包含的文件
+新文件

邮政编码

邮政编码命令创建一个压缩文件,同时保持原始文件不变。语法很简单,但与with一样柏油,你要记住,你的原始文件应该是在命令行中的最后一个参数。

$ ls -l bigfile.zip -rw-rw-r- 1 shs shs 103270400 Apr 16 11:18 bigfile -rw-rw-r- 1 shs shs 21606889 Apr 16 11:19 bigfile.zip

gzip

gzip命令是非常简单易用。您只需键入“压缩”,其次是要压缩的文件的名称。不同于上述的命令,gzip将加密文件“在适当的位置”。换句话说,原始文件将被加密的文件替换。

$ ls -l bigfile* -rw-rw-r- 1 shs shs 21606751 Apr 15 17:57 bigfile.gz

bzip2

gzip命令,bzip2将压缩文件,您选择“在适当的位置”,只留下原来的文件。

$ ls -l bigfile* -rw-rw-r- 1 shs shs 18115234 Apr 15 17:57 bigfile.bz2

xz

作为压缩命令团队的新人,xz是的,以及它如何压缩文件方面领跑者。就像前两个命令,你只需将文件名提供给命令。此外,原始文件代替压缩。

大文件* -rw-rw-r- 1 shs shs 13427236 4月15日17:30 bigfile.xz

对于大文件,你可能会注意到,xz与其他压缩命令相比,运行需要更长的时间,但是压缩的结果非常令人印象深刻。

考虑的比较

大多数人都听到有人说,“大小并不代表一切”。所以,让我们比较文件的大小,以及当你做出你想要如何压缩文件计划中加以考虑其他一些问题。

下面所示的所有统计涉及压缩单个文件 - 大文件 - 在上面示出的例子中使用的命令。这个文件是一个庞大而相当随机的文本文件。压缩率将取决于一定程度上的文件的内容。

大小减少

当比较,所示的各种压缩以上命令得到以下的结果。以百分比表示的压缩文件如何与原来的文件进行比较。

-rw-rw-r - 1啦啦103270400 4月16日14:01 bigfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -rw-rw-r - 1啦啦18115234 4月16日13:59 bigfile。bz2 ~17% - rwo - rwo -r- 1 shs shs 21606751 4月16日14:00 bigfile.gz ~21% - rwo - rwo -r- 1 shs shs 21608322 4月16日13:59 bigfile。tgz ~21% - rww - rwr -r- 1 shs shs 13427236 4月16日14:00大文件。xz~13% -rw-rw-r-- 1 shs shs 21606889 Apr 16 13:59 bigfile.zip ~21%

xz命令胜出,最终只占原始文件大小的13%,但是所有这些压缩命令都大大减少了原始文件的大小。

无论是原始文件被替换

bzip2,gzipxz命令将所有原始文件替换为压缩版本。的柏油邮政编码命令。

运行时

xz命令似乎需要更多的时间比其他命令的文件进行加密。对于大文件,大概时间分别为:

命令运行时tar 4.9秒zip 5.2秒bzip2 22.8秒gzip 4.8秒xz 50.4秒

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

文件权限

不管你有你的原始文件中设置什么权限的,对压缩文件的权限将根据您的umask设置,除了bzip2保留原始文件的权限。

兼容Windows

邮政编码命令创建一个可以使用的文件(即,decompressed) on Windows systems as well as Linux and other Unix systems without having to install other tools which may or may not be available.

解压文件

为解压缩文件中的命令是类似于用于对文件进行压缩。这些命令可以正常解压缩大文件上面显示的压缩命令被运行后。

  • 沥青:tar xf bigfile.tgz
  • 邮政编码:解压bigfile.zip
  • gzip的:gunzip解bigfile.gz
  • bzip2:bunzip2命令bigfile.gz2
  • 翔泽:XZ -d bigfile.xz要么unxz bigfile.xz

运行你自己的压缩比较

如果您想自己运行一些测试,可以获取一个大型但可替换的文件,然后使用上面所示的每个命令对其进行压缩——最好使用一个新的子目录。您可能必须先安装xz如果您想在测试中包含它。这个脚本可以使比较更容易,但是可能需要几分钟来完成。

# !你需要这个,因为一些命令会取代原来的文件cp $filename $filename-2 # clean first(如果之前的结果仍然可用)rm $filename。* tar cvfz ./$filename。tgz$filename > /dev/null zip $filename.zip $filename > /dev/null bzip2 $filename # recover original file cp $filename-2 $filename gzip $filename # recover original file cp $filename-2 $filename xz $filename # show results ls -l $filename.* # replace the original file mv $filename-2 $filename
加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对那些顶级心态的话题发表评论。
相关:

版权©2020Raybet2

IT薪资调查:结果在