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