Linux常用的压缩与归档命令

1. 压缩命令


用途:制作压缩文件、解开压缩文件
(1) gzip
压缩后文件格式.gz
注意:gzip 命令只能压缩文件,不能压缩整个目录,对于目录可使用tar先打包,然后再压缩
命令格式:
① 压缩文件
   gzip [-<压缩效率>] [-v] <源文件>
   -<压缩效率>:压缩效率是一个介于 1 - 9 的数值,预设值为 "6" ,指定愈大的数值,压缩效率就会愈高。
   -v:显示指令执行过程
对于gzip -r <目录>
   -r递归处理,将指定目录下的所有文件及子目录里的所有文件一并处理,所有文件各自分别压缩 (目录下的子文件及子目录里的文件会分别压缩)
这样压缩之后原有的文件没有了,生成了.gz格式的压缩文件,如果要在压缩的同时保存原有的文件,命令如下:
   gzip [-<压缩效率>] -c <原文件> > <.gz格式的压缩文件>
   -c:压缩同时保存原文件
    >:输出重定向

② 查看压缩信息:
   gzip -l <.gz格式的压缩文件>列出压缩后压缩文件的相关信息
   zcat <.gz格式的压缩文件>查看压缩后压缩文件的内容

 解压文件:
   gzip -d <.gz格式的压缩文件>
   -d:解开压缩文件
同样解压之后.gz格式的压缩文件没有了。
   另一种方法是:
   gunzip <.gz格式的压缩文件>

我们从/etc目录下拷贝一份文件kdump.conf到/home/test目录下进行实验,
    
 现在对kdump.conf文件进行压缩:
    
 压缩后再查看/home/test目录下的文件:
    
 发现只有压缩后的kdump.conf.gz文件,而源文件kdump.conf已经不存在了。
 如果要压缩的同时保存源文件,操作如下:
    

 再查看/home/test目录下的文件:

    

 此时发现源文件仍然存在。
 查看kdump.conf.gz压缩文件的相关信息:
 
 查看kdump.conf.gz压缩文件的内容(文件内容较长,所以只截取了前面的一小部分内容):

  

  解压kdump.conf.gz文件:

  

  

(2) bzip2
压缩后文件格式.bz2
注意:和 gzip 一样,bzip2 命令只能压缩文件,不能压缩整个目录,对于目录可使用tar先打包,然后再压缩
命令格式:
① 压缩文件
   bzip2 [-<压缩效率>] [-z] <原文件>
   -<压缩效率>:压缩效率是一个介于 1 - 9 的数值,预设值为 "6" ,指定愈大的数值,压缩效率就会愈高。
   -z:强行执行压缩
这样压缩之后原有的文件没有了,生成了.bz2 格式的压缩文件,如果要在压缩的同时保存原有的文件,有两种方法:
第一种方法和gzip类似,命令如下:
   bzip2 [-<压缩效率>] -c <原文件> > <.bz2格式的压缩文件>
   -c:压缩同时保存原文件
    >:输出重定向
第二种方法命令如下:
   bzip2 -k <原文件>

 查看压缩信息:
   file <.bz2格式的压缩文件>:列出压缩后压缩文件的相关信息
   bzcat <.bz2格式的压缩文件>:查看压缩后压缩文件的内容

 解压文件:
   bzip2 -d <.bz2格式的压缩文件>
   -d:解开压缩文件
同样解压之后.bz2格式的压缩文件没有了,生成了原文件。
   另一种方法是:
   bunzip2 [-k] <.bz2格式的压缩文件>
   -k:解压缩后保留压缩文件
具体操作与gzip命令类似,此处不再举例。

(3) lzma
压缩后文件格式.lzma
命令格式:
① 压缩文件:
   lzma <原文件>
同样压缩之后原有的文件没有了,生成了.lzma格式的压缩文件。
② 解压文件:
   lzma -d <.lzma格式的压缩文件>
或 unlzma <.lzma格式的压缩文件>

(4) zip
压缩后文件格式:.zip
命令格式:
① 压缩文件:
   zip [-r] <压缩后的.zip格式的文件名> <原文件或目录>
   -r:压缩目录
② 解压文件:
   unzip <.zip格式的压缩文件>
zip的压缩和解压都会保存原有的文件。
具体操作与gzip命令类似,此处不再举例。

(5) xz
压缩后文件格式:.xz
命令格式:
① 压缩文件:
   xz [-k] <原文件>
   -k:保留原有被压缩的文件
② 解压文件:
   xz -d [-k] <.xz格式的压缩文件>
   -d:解开压缩文件
    -k:保留原有被解压的文件

2. 归档命令

用途: 制作归档文件、释放归档文件
(1) tar
命令格式:
    tar [选项] <归档(压缩)文件名> <源文件或目录>  (对.tar源文件进行压缩,对目录进行打包(并压缩))
常用命令选项:
    -c:创建.tar格式的包文件
    -x:解开.tar格式的包文件
    -t:列表查看包内的文件
    -z:调用gzip程序进行压缩或解压
    -j:调用bzip2程序进行压缩或解压
    -p:打包时保留原始文件即目录的权限
    -P:文件名使用绝对名称,不移除文件名称前的“/”号
    -v:输出详细信息
    -f:指定文件名
    -C:解包时指定释放的目标文件夹
    一般情况下,相关具体操作命令如下:
    ① 打包目录并压缩:
       tar -zcvf xxx.tar.gz xxx  或  tar -jcvf xxx.tar.bz2 xxx
    ② 查看文件内容:
       tar -ztvf xxx.tar.gz  或  tar -jtvf xxx.tar.bz2
    ③ 解压并释放文件:
       tar -zxvf xxx.tar.gz  或  tar -jxvf xxx.tar.bz2
       如果从一个压缩包只释放一个文件,则在上面的命令后面加上相关文件名即可。
       在命令后面加上-C <目录>,表示解包时指定释放的目标文件夹为<目录>。

例:我们对/etc目录进行备份来进行实验。
 将/etc目录备份为etc.tar.gz文件,具体命令如下:
    
 打包备份后查看/home/test目录:
    
 发现多了一个etc.tar.gz文件。
 若要备份为etc.tar.bz2文件,命令如下:
    
 此时查看/home/test目录又多了一个etc.tar.bz2文件。
    
 解压etc.tar.gz文件:
    
   此时查看/home/test目录会多了一个etc目录。
    
  类似的可以解压etc.tar.bz2文件。

(2) 更快速的归档工具——pbzip2
    使用pbzip2替代bzip2进行压缩解压,可支持多核。
    命令格式:
    ① 压缩文件:    
       pbzip2 [选项] <源文件>
       -k:保留源文件
       -p<数字>处理器数量,默认自动检测,检测失败设置为2
      如:tar -cvf etc.tar /etc
          pbzip2 -p2 etc.tar
    ② 解压文件:
       pbzip2 -d[选项] <压缩文件>
      如:pbzip2 -d etc.tar.bz2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值