首页 > 代码库 > Linux中常见的压缩与解压缩方法

Linux中常见的压缩与解压缩方法

  • zip:可以压缩多个文件或者目录,压缩后保留原始文件或者目录,后缀为.zip

# yum-y install zip

选项:

-r:压缩目录

-q:静默模式,执行时不显示任何信息

-v:执行时显示详细的信息

-1compress faster

-9compress better

-T:检查zip文件完整性

压缩文件test1.txttest1.zip# zip -q test1.zip test1.txt

同时压缩文件test1.txt和目录test1test1.zip# zip-qr test1.zip test1 test1.txt

检查上述test1.zip的完整性:# zip-T test1.zip  -->  test of test1.zip OK


  • unzip:解压后保留原始压缩文件

选项:

-d:将文件或目录解压至其他位置

-q:静默模式,执行时不显示任何信息

-v:执行时显示详细信息

-t:检查压缩文件是否正确

-l:显示压缩文件内所包含的文件

-x 文件名:解压压缩包中的所有文件除了-x后接的那个文件

test1.zip静默解压至/tmp目录下:# unzip -qd /tmp test1.zip

检查压缩文件test1.zip是否正确:# unzip -t test1.zip

Archive:  test1.zip

    testing: test1/                  OK

    testing: test1.txt               OK

Noerrors detected in compressed data of test1.zip.

显示压缩文件test1.zip中的所有文件:# unzip-l test1.zip

解压test1.zip,除了test1.txt# unzip test1.zip -x test1.txt      //-x选项必须放在最后面

Archive:  test1.zip

   creating: test1/


  • gzip压缩后删除源文件,不能压缩目录,后缀为.gz

选项:

-c:将压缩结果送往标准输出,可以使用重定向将其保存为压缩文件,从而保留源文件

-d:解压缩

-l:显示压缩文件中的内容

-q:压缩时不显示任何信息

-v:压缩时显示详细信息

-1compress faster

-9compress better

-r:目录中递归操作

压缩文件test2# gzip-q test2                   //删除test2,生成test2.gz

显示test2.gz中的内容:# gzip-l test2.gz

         compressed        uncompressed  ratio uncompressed_name

             26                 0      0.0%      test2

解压缩test2.zip# gzip-d test2.gz 或者 # gunziptest2.gz     //删除test2.gz,生成test2

压缩test2时不删除test2自身:# gzip -c test2 > test2.gz


  • gunzip(等同于gzip -d):解压后删除原始压缩文件

选项:

-l:显示压缩文件中的内容

-q:压缩时不显示任何信息

-c:将解压缩结果送往标准输出,可以使用重定向将其保存为文件,从而保留原始压缩文件

查看test2.gz中的内容:#gunzip -l test2.gz

         compressed        uncompressed  ratio uncompressed_name

             26                 0      0.0%      test2

静默解压test2.gz# gunzip-q test2.gz       //删除test2.gz,生成test2

解压缩test2.gz时不删除压缩包自身:# gunzip-c test2.gz > test2


  • bzip2:压缩后删除源文件,压缩效果比gzip好,不能压缩目录,后缀为.bz2

选项:

-d:解压缩

-k:保留源文件

-q:执行压缩时使用静默模式

-v:执行压缩时输出详细信息

静默压缩文件test2,并保留test2# bzip2 -qk test2

解压缩test2.bz2# bzip2-d test2.bz2 或者 # bunzip2test2.bz2     //删除test2.bz2,生成test2


  • bunzip2(等同于bzip2 -d):解压后删除原始压缩文件


  • xz:压缩后删除源文件,压缩效果最好,不能压缩目录,后缀为.xz

# yum -y install xz

选项:

-z:强制压缩

-d:强制解压缩

-k:保留源文件

-q:执行压缩时使用静默模式

静默压缩文件test2,并保留test2# xz -qk test2

解压缩test2.xz# xz-d test2.xz 或者 # unxztest2.xz       //删除test2.xz,生成test2


  • unxz(等同于xz -d):解压后删除原始压缩文件


打包归档(将多个文件打包成一个文件)工具:# tar [选项] -f 归档后的文件名.tar 要归档的文件名 ...

选项:

-c:创建一个新归档

-t:列出归档内容

-x:从归档中解出文件

-r:追加文件至归档结尾

-j:通过bzip2过滤归档

-J:通过xz过滤归档

-z:通过gzip过滤归档

-C DIR:改变至目录DIR

-v:详细地列出处理的文件

-f ARCHIVE:使用归档文件或ARCHIVE设备

将文件test2和目录test1打包成test.tar# tar-cf test.tar test2 test1    //保留源文件test2和目录test1

列出test.tar中的内容:# tar-tf test.tar  -->  test2  test1/

解开打包文件test.tar# tar-xf test.tar                            //保留打包文件test.tar

创建目录test3,并追加至归档文件test.tar# tar -rf test.tar test3

打包并使用gzip压缩文件test2和目录test1test.tar.gz# tar -zcf test.tar.gz test2 test1   //.tar.gz等同于.tgz

查看test.tar.gz中的内容:# tar -tf test.tar.gz

解压test.tar.gz# tar -zxf test.tar.gz 或者 # tar -xf test.tar.gz

打包并使用bzip2压缩文件test2和目录test1test.tar.bz2# tar -jcf test.tar.bz2 test2 test1

查看test.tar.bz2中的内容:# tar -tf test.tar.bz2

解压test.tar.bz2# tar -jxf test.tar.bz2 或者 # tar -xf test.tar.bz2

打包并使用xz压缩文件test2和目录test1test.tar.xz# tar -Jcf test.tar.xz test2 test1

查看test.tar.xz中的内容:# tar -tf test.tar.xz

解压test.tar.xz# tar -Jxf test.tar.xz 或者 # tar -xf test.tar.xz


本文出自 “天道酬勤” 博客,请务必保留此出处http://qiuyue.blog.51cto.com/1246073/1903510

Linux中常见的压缩与解压缩方法