压缩原理:把文档中相同的字符串用特殊的算法提取出来,为其打上一个特殊的标记,并用标记替换文档中原有的字符。从而实现压缩文件占用空间大小的目的。

 

Linux中常用的压缩软件有以下几种(只能压缩文件,不支持目录压缩):

       gzip:压缩后默认不保留原文件

用法: gzip  [option]  filePath

     -c:把压缩后的内容输出到标准输出上,不生产压缩后的文件,并且保留原文件

gzip  -c  filePath >  filePath.gz

         -:设定压缩级别,范围是0-9,默认是6级别

         -d:解压缩

              gzip  -d filePath.gz

      zcat:不解压缩文件,查看文件里面的内容

      gunzip:解压缩

bzip2: 压缩后默认不保留原文件

用法: bzip2  [option]  filePath

     -k:保留原文件

         -:设定压缩级别,范围是0-9,默认是6级别

         -d:解压缩

              bzip2  -d filePath.gz

      bzcat:不解压缩文件,查看文件里面的内容

      bunzip2:解压缩

xz: 压缩后默认不保留原文件

用法: xz  [option]  filePath

     -k:保留原文件

         -:设定压缩级别,范围是0-9,默认是6级别

         -d:解压缩

              xz  -d filePath.gz

      xzcat:不解压缩文件,查看文件里面的内容

      unxz:解压缩

 

由于gzipbzip2xz等工具不能压缩目录,因此有一个专门用来归档的命令tar。此命令可以对目录进行归档,然后在根据给定的选项调用指定的压缩工具对目录进行归档压缩,从而实现压缩目录的功能。

tar: 对文件或目录进行归档并压缩

用法:tar  [option]  DES_file SRC_file

      -c:创建归档文件

           tar -cf  /tmp/httpd.tar   /etc/httpd  #/etc/httpd目录归档

      -f:指定归档或者归档后压缩的文件名或文件路径。合并多个选项时,f必须放在最后面。

             tar  -cf  /tmp/apache.tar   /etc/apache

      -z:调用gzip命令对归档后的文件压缩

           tar -zcf  /tmp/apache.tar.gz  /etc/apache

      -t:不解压缩归档查看归档压缩文件中的内容

           tar -tf  /tmp/apache.tar.gz

      -j:调用bzip2命令对归档后的文件压缩

          tar -jcf  /tmp/apache.tar.bz2/etc/apache

      -J:调用xf命令对归档后的文件压缩

          tar -Jcf  /tmp/apache.tar.xz/etc/apache

      -x:对归档后的或者归档并压缩后的文件进行解压缩归档(默认解压缩归档在当前目录下)

          tar -xf  /tmp/apache.tar.bz2

      -C:指定解压缩归档的目标路径

          tar -xf  /tmp/apache.tar.xz  -C /etc