Linux里各种压缩格式相关命令

这么多年来,数据压缩对我们来说是非常有用的。无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效的节约磁盘空间。某些压缩格式有时允许我们以60%的比率(甚至更高)压缩文件。对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同 了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用。

Compress

compress是一个相当古老的unix档案压缩指令,压缩后的档案会加上一个.Z延伸档名以区别未压缩的档案,压缩后的档案可以以uncompress解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。

compress压缩和解压缩命令

解压:uncompress FileName.Z

压缩:compress FileName

Zip

zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。

在Linux上有两种这样的工具:免费的Info-ZIP和以赢利为目的的PKZIP for Linux。如果您只是偶尔需要创建或打开zip文件,使用Info-ZIP。如果希望使用在MS-DOS或其它系统上使用的相同工具,请选择PKZIP(PKZIP 可用于许多操作系统)。

zip压缩和解压缩命令

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

Rar

rar的全名是:Roshal ARchive,是一种专利文件格式,用于数据压缩与归档打包。rar通常情况比zip压缩比高,但压缩/解压缩速度较慢。因为RAR文件头也要占据一定空间,在数据压缩余地不大时,压缩过的文件可能比原文件要大。RAR的一个主要优点是可以把文件压缩目标分割到多个文件,并且很容易从这样的分割的压缩文件解压出源文件。要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,RAR for Linux不是免费的。

rar压缩和解压缩命令

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName

Gzip

gzip的基础是DEFLATE,DEFLATE是LZ77与哈夫曼编码的一个组合体。这种格式是使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。通常gzip仅用来压缩单个文件。多个文件的压缩归档通常是首先将这些文件合并成一个tar文件,然后再使用gzip进行压缩,最后生成的.tar.gz或者.tgz文件就是所谓的“tar压缩包”或者“tarball”。ZIP也使用DEFLATE算法,而且可移植性更好,不需要一个外部的归档工具就可以包容多个文件。但是,由于ZIP对每个文件进行单独压缩而没有利用文件间的冗余信息(即固实压缩),所以ZIP的压缩率会稍逊于tar压缩包。

gzip压缩和解压缩命令

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压缩:gzip FileName

Bzip2

bzip2是采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码的压缩格式。bzip2比传统的gzip或者ZIP的压缩效率更高,但是它的压缩速度较慢。从这点来说,它非常类似于最近出现的其它一些压缩算法。与RAR或者ZIP等其它不同的是,bzip2只是一个数据压缩工具,而不是归档工具,在这一点上它与gzip类似。程序本身不包含用于多个文件、加密或者文档切分的工具,相反按照UNIX的传统需要使用如tar或者GnuPG这样的外部工具。

bzip2压缩和解压缩命令

解压1:bunzip2 FileName.bz2

解压2:bzip2 -d FileName.bz2

压缩: bzip2 -z FileName

Tar

tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文 件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。

tar打包和解包命令

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

tar.gz、.tar.bz2、.tar.Z

tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用compress、gzip、bzip2等。

  • tar中使用-z这个参数来调用gzip。
  • tar中使用-j这个参数来调用bzip2。
  • tar中使用-Z这个参数来调用compress。

tar.gz压缩和解压缩命令

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

tar.bz2压缩和解压缩命令

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

tar.Z压缩和解压缩命令

解压:tar Zxvf FileName.tar.Z

压缩:tar Zcvf FileName.tar.Z DirName

参考文章

分类

开发
    --go (9)
    --java (5)
    --php (11)
    --mysql (9)
    --javascript (3)
    --html (1)
    --算法 (6)
架构
    --理论 (9)
    --网络 (3)
    --服务器 (2)
    --消息队列 (3)
    --容器 (5)
    --监控 (1)
    --搜索引擎 (3)
    --大数据 (0)
    --测试 (1)
系统
    --linux (10)
    --mac (2)
    --windows (1)
足球
    --世界杯 (60)
    --欧洲杯 (28)
    --文迷 (3)
大学时光
    --校园生活 (96)
    --假期生活 (17)
    --广院杯那些事 (14)
    --北京奥运 (6)
    --胡思乱写 (17)


最近发布

零拷贝技术介绍

服务网格技术简介

C语言标准和标准库简介

Kubernetes简介及环境搭建

Go语言开发的顶级项目


归档

2006 (109)
2007 (40)
2008 (47)
2009 (10)
2010 (6)
2012 (10)
2013 (14)
2014 (27)
2015 (15)
2016 (6)
2017 (8)
2018 (11)
2019 (17)
2020 (5)