全心致力于ICT实战型人才培养和输送
扫码试听
扫码试听
027-87532688
首页 > 干货分享 > > 在 Linux 上压缩文件的 5 种方法
企业资讯 热门问答 干货分享

在 Linux 上压缩文件的 5 种方法

发布时间:4 年 前 栏目:干货分享 浏览:
在 Linux 上有不少用于压缩文件的命令。最新最有效的一个方法是 xz,但是所有的方法都有节省磁盘空间和维护备份文件供以后使用的优点。在这篇文章中,我们将比较这些压缩命令并指出显著的不同。
 
tar
 
tar 命令不是专门的压缩命令。它通常用于将多个文件拉入一个单个的文件中,以便容易地传输到另一个系统,或者将文件作为一个相关的组进行备份。它也提供压缩的功能,这就很有意义了,附加一个 z 压缩选项能够实现压缩文件。
 
当使用 z 选项为 tar 命令附加压缩过程时,tar 使用 gzip 来进行压缩。
 
就像压缩一组文件一样,你可以使用 tar 来压缩单个文件,尽管这种操作与直接使用 gzip 相比没有特别的优势。要使用 tar 这样做,只需要使用 tar cfz newtarfile filename 命令来标识要压缩的文件,就像标识一组文件一样,像这样:


 
注意,文件的大小显著减少了。
 
如果你愿意,你可以使用 tar.gz 扩展名,这可能会使文件的特征更加明显,但是大多数的 Linux 用户将很可能会意识到与 tgz 的意思是一样的 – tar 和 gz的组合来显示文件是一个压缩的 tar 文件。在压缩完成后,你将同时得到原始文件和压缩文件。
 
要将很多文件收集在一起并在一个命令中压缩出 “tar ball”,使用相同的语法,但要指定要包含的文件为一组,而不是单个文件。这里有一个示例:
 

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

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

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

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

 
对于大文件来说,你可能会注意到 xz 将比其它的压缩命令花费更多的运行时间,但是压缩的结果却是非常令人赞叹的。
 
对比
 
大多数人都听说过“大小不是一切”。所以,让我们比较一下文件大小以及一些当你计划如何压缩文件时的问题。
 
下面显示的统计数据都与压缩单个文件相关,在上面显示的示例中使用 bigfile。这个文件是一个大的且相当随机的文本文件。压缩率在一定程度上取决于文件的内容。
 
(1) 大小减缩率
 
当比较时,上面显示的各种压缩命产生下面的结果。百分比表示压缩文件与原始文件的比较效果。
 

 
xz 命令获胜,最终只有压缩文件 13% 的大小,但是所有这些压缩命令都相当显著地减少原始文件的大小。
 
(2) 是否替换原始文件
 
bzip2、gzip 和 xz 命令都用压缩文件替换原始文件。tar 和 zip 命令不替换。
 
(3) 运行时间
 
xz 命令似乎比其它命令需要花费更多的时间来加密文件。对于 bigfile 来说,大概的时间是:
 

 
解压缩文件很可能比压缩时间要短得多。
 
(4) 文件权限
 
不管你对压缩文件设置什么权限,压缩文件的权限将基于你的 umask 设置,但 bzip2 除外,它保留了原始文件的权限。
 
(5) 与 Windows 的兼容性
 
zip 命令创建的文件可以在 Windows 系统以及 Linux 和其他 Unix 系统上使用(即解压),而无需安装其他工具,无论这些工具可能是可用还是不可用的。
 
解压缩文件
 
解压文件的命令与压缩文件的命令类似。在我们运行上述压缩命令后,这些命令用于解压缩 bigfile:
 
tar: tar xf bigfile.tgz
zip: unzip bigfile.zip
gzip: gunzip bigfile.gz
bzip2: bunzip2 bigfile.gz2
xz: xz -d bigfile.xz 或 unxz bigfile.xz
 
自己运行压缩对比
 
如果你想自己运行一些测试,抓取一个大的且可以替换的文件,并使用上面显示的每个命令来压缩它 —— 最好使用一个新的子目录。你可能需要先安装 xz,如果你想在测试中包含它的话。这个脚本可能更容易地进行压缩,但是可能需要花费几分钟完成。

在 Linux 上压缩文件的 5 种方法
上一篇:代码对比工具,我就用这7个!
技术干货
  • 刚毕业就从外包逆袭到上市甲方,李同学说:我就干好了这件事!
    刚毕业就从外包逆袭到上市甲方,李同学说:我就干好了这件事!
    甲方做爸爸,乙方当牛马。 这是不是大家甲方和乙方的初始印象。 小天之前写过一篇关于网络工程行业甲方乙方的文章,有60%的朋友投票表示想进甲方,原因无非是体面且高薪。 文章...
    2024-07-02
  • 网工请自查!这十个技术问题还不会就out了
    网工请自查!这十个技术问题还不会就out了
    NO.1 数据链路层有什么用? 数据链路层,作为OSI第二层,里面包含的设备就是交换机,包含的协议通常是一些局域网和广域网协议,那些协议的定位是什么呢? 就是当设备之间连线连好...
    2024-07-02
  • 想拿到H3C网络工程师高级证书,怎么搞?
    想拿到H3C网络工程师高级证书,怎么搞?
    在信息化时代,网络工程师成为了各行各业中不可或缺的技术人才。H3C(新华三)作为中国领先的数字化解决方案供应商,其网络工程师认证体系具有较高的认可度和含金量。本文将详...
    2024-07-02
  • 华为网络工程师认证考试内容和安排
    华为网络工程师认证考试内容和安排
    随着信息技术的发展,网络工程师在企业中的地位和作用日益凸显。华为作为全球领先的ICT(信息与通信技术)解决方案提供商,推出了多层次、多方向的网络工程师认证体系,为IT从...
    2024-07-02
10年以上业内强师集结,手把手带你锐变精英
  • 岳同学180****1241刚刚成功领取
  • 胡同学134****6431刚刚成功领取
  • 李同学150****6122刚刚成功领取
  • 张同学136****2231刚刚成功领取
  • 孙同学178****5521刚刚成功领取
  • 齐同学156****7788刚刚成功领取
猜你喜欢
查看更多
相关推荐
查看更多
现在学习,我的薪资能达到多少?
立即报名

联系我们:

027-87532688

公众号

公众号

课程老师

课程老师

现在报名立减2000!