打包、压缩指令

  Linux 支援的压缩指令非常多,且不同的指令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩档案啰。所以,当你下载到某个压缩档时,自然就需要知道该档案是由哪种压缩指令所制作出来的,好用来对照着解压缩啊!也就是说,虽然Linux 档案的属性基本上是与档名没有绝对关系的, 但是为了帮助我们人类小小的脑袋瓜子,所以适当的副档名还是必要的

1、压缩文件的后缀

 * .Z     compress程式压缩的档案;
 * .zip   zip程式压缩的档案;
 * .gz    gzip程式压缩的档案;
 * .bz2   bzip2程式压缩的档案;
 * .xz    xz程式压缩的档案;
 * .tar   tar程式打包的资料,并没有压缩过;
 * .tar.gz     tar程式打包的档案,其中并且经过gzip的压缩
 * .tar.bz2    tar程式打包的档案,其中并且经过bzip2的压缩
 *.tar.xz      tar程式打包的档案,其中并且经过xz的压缩

2、压缩命令(单个压缩)

  ①gzip:gzip可以压缩产生后缀为 .gz 的压缩文件,(zcat 压缩名)查看压缩文件的内容。使用 gzip 指令压缩/解压文件均会使得源文件消失,即源文件会被直接解压/压缩而不保留备份。若想要保留原文件可以使用 -c 参数结合数据流重定向操作

选项与参数:
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看档案有无错误;
-v :可以显示出原档案/压缩档案的压缩比等资讯;
-# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是-6

  注:对应于 gzip,可以使用 gunzip 进行解压操作,效果类似gzip -d xx,同时可以使用zcat读取压缩文件的内容并显示在标准输出,功能类似于 gzip -c xx. 

 ②bzip2:与gzip相似的指令选项,(bzcat 压缩名),查看文件内容

选项与参数:
 - c :将压缩的过程产生的资料输出到萤幕上!
 - d :解压缩的参数
 - k :保留原始档案,而不会删除原始的档案喔!
 - z :压缩的参数(预设值,可以不加)
 -v :可以显示出原档案/ 压缩档案的压缩比等资讯;
 -# :与gzip同样的,都是在计算压缩比的参数, - 9最佳, - 1最快!

  ③xz:xcat 压缩名,查看内容;优化较大,但是耗时较长

选项与参数:
 - d :就是解压缩啊!
 - t :测试压缩档的完整性,看有没有错误
 - l :列出压缩档的相关资讯
 - k :保留原本的档案不删除~
 - c :同样的,就是将资料由萤幕上输出的意思!
 -# :同样的,也有较佳的压缩比的意思!

以上压缩方式均为独立压缩

3、打包压缩指令 

  ① tar

选项与参数:
 -c :建立打包档案,可搭配- v来察看过程中被打包的档名(filename)
 -t :察看打包档案的内容含有哪些档名,重点在察看『档名』就是了;
 -x :解打包或解压缩的功能,可以搭配- C (大写)在特定目录解开
      特别留意的是, -c, -t, - x不可同时出现在一串指令列中。
 -z :透过gzip的支援进行压缩/解压缩:此时档名最好为* .tar.gz
 -j :透过bzip2的支援进行压缩/解压缩:此时档名最好为* .tar.bz2
 -J :透过xz的支援进行压缩/解压缩:此时档名最好为* .tar.xz
      特别留意, -z, -j, - J不可以同时出现在一串指令列中
 -v :在压缩/ 解压缩的过程中,将正在处理的档名显示出来!
 -f filename:-f后面要立刻接要被处理的档名!建议- f单独写一个选项啰!(比较不会忘记)
 -C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

 其他后续练习会使用到的选项介绍:
 -p(小写) :保留备份资料的原本权限与属性,常用于备份(- c)重要的设定档
 - P(大写) :保留绝对路径,亦即允许备份资料中含有根目录存在之意;
 - -exclude=FILE:在压缩的过程中,不要将FILE打包!

常用指令

压缩:  tar -cvjpf etc.tar.bz2 /etc  //-c为创建一个打包文件,相应的-f后面接创建的文件的名称,使用了.tar.bz2后缀,-j标志使用bzip2压缩,最后面为具体的操作对象/etc目录
查看:  tar -tvjf etc.tar.bz2     //-t为查看操作,则-f对应所查看的文件的名称,文件后缀显示使用bzip2进行压缩,所以加入-j选项,-v会显示详细的权限信息
解压:   tar -xvjf etc.tar.bz2     //-x为解压操作,则-f指定的是解压使用的文件,文件后缀显示使用bzip2进行压缩,所以加入-j选项,即使用bzip2解压
                          //若只解压指定打包文件中的一个文件,在上述指令的最后加上带解压文件名作为参数即可
 tar -zxvf aa.gz
  • 压缩:tar -j c v -f filename.tar.bz2要被压缩的档案或目录名称
  • 查询:tar -j t v -f filename.tar.bz2
  • 解压缩:tar -j x v -f filename.tar.bz2 -C欲解压缩的目录

  tar -cf 文件

  tar -xf 压缩包 

  ②zip

基本格式:unzip [Options] file[.zip]    //不接任何Options时,默认将指定的file文件解压至当前文件夹,可同时接受多个文件参数
常用命令参数:
-Z        //以形如 ls -l 的格式显示目标文件内容,实际原理是命令第一个参数为-Z时,其余参数会被视为 zipinfo 的参数,并产生对应效果  
-Z1        //仅显示压缩文件内容的文件名,更多显示可查看 zipinfo 命令的 man 帮助
-l        //显示压缩文件中包括时间、占用空间和文件名等信息,内容上较 -Z 更简单
//文件测试
-t        //在内存中解压文件并进行文件的完整性校验(CRC校验)
//解压缩参数,注意unzip默认即为解压操作
-f        //注意与 tar 命令不同,unzip指定 -f 参数时,则将磁盘上已经存在且内容新于对应磁盘文件的压缩内容解压出来
-n        //解压缩时不覆盖已存在的文件(而是跳过)
-q        //安静模式,仅解压缩而不输出详细信息
-d dir      //将文件解压至dir指定的文件夹中

本文链接:https://www.cnblogs.com/yaradish/p/9553849.html 

参考:http://linux.vbird.org/linux_basic/0240tarcompress.php#compress_tech

原文地址:https://www.cnblogs.com/yaradish/p/9553849.html