linux打包与压缩

1.zip与unzip

zip压缩和unzip解压默认都不删除源文件,且zip生成的压缩文件名可以随意取(为便于辨认还是建议取源文件.zip),unzip也可以解压任意由unzip压缩的文件无需后缀为.zip。

zip [参数] 压缩后文件 待压缩文件

unzip [参数] 要解压文件名

2.gzip与gunzip

gzip表示压缩(也可解压缩),默认删除源文件,生成的文件名为源文件.gz,gzip只能压缩文件不能压缩目录

基本用法gzip [参数] 源文件

  • -c:gzip默认会删除源文件,加-c可通过标准输出到重定向目标文件进而保留源文件,gzip -c 源>目标
  • -v:显示压缩比
  • -r:递归压缩目录下的每个文件,不能直接压缩目录
  • -n:n为数字1-9,表示压缩等级,-1压缩最快压缩比最差,-9压缩最慢压缩比最好,使用默认-6就行
  • -d:解压缩的参数,后缀需要为.gz才能识别,解压缩后直接去掉.gz后缀,也可直接使用gunzip解压缩
  • -l:显示.gz压缩文件的相关信息

gzip进行的压缩可以使用gzip -d解压缩,也可以使用gunzip解压缩,gunzip解压时需要后缀需要为.gz才能识别,且默认删除源文件,参数-c可保留源文件。

[root@jenkins1 /tmp/phh]# ls
a.txt
[root@jenkins1 /tmp/phh]# gzip a.txt 
[root@jenkins1 /tmp/phh]# ls
a.txt.gz

[root@jenkins1 /tmp/phh]# gzip -l a.txt.gz 
         compressed        uncompressed  ratio uncompressed_name
               1319                7021  81.6% a.txt

[root@jenkins1 /tmp/phh]# gzip -cdv a.txt.gz > a.txt
a.txt.gz:        81.6%
[root@jenkins1 /tmp/phh]# ls
a.txt.gz   a.txt

[root@jenkins1 /tmp/phh]# ls c
a.txt  b.sql
[root@jenkins1 /tmp/phh]# gzip -r c
[root@jenkins1 /tmp/phh]# ll c
a.txt.gz  b.sql.gz

[root@jenkins1 /tmp/phh]# gzip -9 -cv a.txt >a.txt.gz
a.txt:   82.1%
gzip用法示例

3.bzip2与bunzip2

bzip2的用法基本类似gzip,不过bzip2压缩后的文件后缀名为bz2,并且压缩比要比gzip更高。

有一点不同的是bzip2没有-c参数,bzip2使用-k参数表示保留源文件bzip2 -k 源文件或者bunzip2 -k 源文件。

 

4.tar

tar的参数非常多,下面说几个常用的

  • -c:新建打包文件
  • -x:解打包的文件
  • -t:查看打包文件包含的文件名,同一个命令中c、x、t只能出现一个
  • -f:最后一个参数,后面跟目标文件
  • -z:打包/解包时通过gzip/gunzip进行压缩/解压缩,此时文件名最好为.tar.gz
  • -j:打包/解包时通过bzip2/bunzip2进行压缩/解压缩,此时文件名最好为.tar.bz2
  • -v:将执行过程显示在屏幕上
  • -C path:解压缩到-C指定的目录

压缩并打包:tar  zcf  ***.tar.gz  ***

解压并解包:tar  zxf  ***.tar.gz -C path

查看内容:tar  ztf  ***.tar.gz 

原文地址:https://www.cnblogs.com/Forever77/p/11474320.html