linux中常用的压缩与解压缩指令

在Linux的环境中,压缩文件案的扩展名大多是:*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2,这是因为Linux支持的压缩挃令非常多,且不同的扩展名所用到的压缩指令不同,彼此之间无法相互压缩或解压了。
*.Z compress 程序压缩的档案;
*.gz gzip 程序压缩的档案;
*.bz2 bzip2 程序压缩的档案;
Linux上常见的压缩指令就是gzip与bzip2,这些指令通常仅能针对一个档案进行压缩与解压缩。

compress
compress [-rcv] 档案或目录 <==这里是压缩
uncompress 档案.Z <==这里是解压缩
compress -c man.config > man.config.back.Z <==保留源文件且建立压缩文件
使用 compress 扩展名自动建立为*.Z;
选项与参数:
-r :可以连同目录下的档案同时给予压缩;
-c :将压缩数据输出成为 standard output (输出到屏幕),保留源文件;
-v :显示出压缩后的档案信息以及压缩过程中的一些文档名变化;

gzip zcat
gzip可以说是应用最广泛的压缩指令了!目前gzip可以解开compress, zip和gzip等软件所压缩的文档。gzip所建立的压缩文件名称为*.gz。
gzip [-cdtv#] 文档名
gzip -9 -c man.config > man.config.gz <==保留源文件且建立压缩文件
选项与参数:
-c :将压缩的数据输出到屏幕上,可透过数据流重导向进行处理;
-d :解压缩的参数;(*.gz/*.Z/*.zip)
-t :可以检验一个压缩文件的一致性;
-v :可以显示出原档案/压缩文件的压缩比等信息;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,默认是-6。
可以发现gzip的压缩比要比compress好很多,还有使用gzip压缩的档案在Windows系统中,可以被 WinRAR 这个软件解压缩。
使用gzip扩展名自劢建立为*.gz。
zcat 文档名.gz
zcat man.config.gz
由于man.config 这个原本的档案是文本文件,因此我们可以尝试使用zcat去读取,此时屏幕上会显示man.config.gz解压缩后的档案内容!
cat 可以读取纯文本档,那个 zcat 则可以读取纯文本档被压缩后的压缩文件!由于gzip这个压缩指令主要想要用来取代compress的,所以不但compress 的压缩文件可以使用 gzip来解开,同时zcat这个指令可以同时读取 compress 和 gzip 癿压缩文件!

bzip2 bzcat
若说gzip是为了取代 compress 并提供更好的压缩比而成立的。
bzip2 [-cdkzv#] 文档名
使用gzip扩展名自动建立为*.gz。
选项与参数:
-c :将压缩过程产生的数据输出到屏幕上!
-d :解压缩的参数
-k :保留源文件,而丌会删除原始癿档案喔!
-z :压缩的参数
-v :可以显示出原档案/压缩文件案的压缩比等信息;
-# :压缩比的参数, -9 最佳, -1 最差!
bzcat 文档名.bz2
bzip2 -z man.config
将文件man.config以bzip2压缩,此时man.config 会变成 man.config.bz2 !
bzcat man.config.bz2
将压缩文件的内容读出来显示在屏幕上,此时屏幕上会显示 man.config.bz2 解压缩后的档案内容。
bzip2 -d man.config.bz2
将文件解压缩
bzip2 -9 -c man.config > man.config.bz2
将文件man.config 用最佳的压缩比压缩,并保留原本d额档案。

以上两个指令gzip与bzip2也能够针对目录进行压缩,不过这两个指令指的是将目录内的所有档案分别进行压缩!而不像在Windows系统中,可以使用类似WinRAR这一类的压缩软件将好多目录压缩成一个档案。这种将多个档案或目录包成一个大档案功能,称之为打包指令。
在linux中tar可以将多个目录或档案打包成一个大档案,同时还可以通过gzip/bzip2的支持,将该档案同时进行压缩,和windows中的WinRAR指令一样。
*.tar tar 程序打包的数据,并没有压缩过;
*.tar.gz tar 程序打包的档案,其中并且经过的gzip的压缩
*.tar.bz2 tar 程序打包的档案,其中并且经过bzip2的压缩
tar指令不能自动建立文档名字,因此需要人为指定。
tar指令的使用方法
tar [-j|-z] [cv] [-f 建立的文档名字] filename... <==打包与压缩
tar [-j|-z] [tv] [-f 建立的文档名字] <==查看档案名
tar [-j|-z] [xv] [-f 建立的文档名字] [-C 目录] <==解压缩
选项与参数:
-c :建立打包档案,可搭配-v查看过程中被打包的档名(filename);
-t :查看打包档案的内容含有哪些档名;
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开;
需要注意的是 -c, -t, -x不可以同时出现在同一串指令当中;
-j :透过 bzip2 的支持压缩/解压缩:此时档名最好为 *.tar.bz2;
-z :透过 gzip 的支持压缩/解压缩:此时档名最好为 *.tar.gz;
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来;
-f filename:-f 后面接要被处理的档名!建议 -f 单独写一个选顷;
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项;
-p :保留备份数据癿原本权限不属性,常用于备份(-c)重要的配置文件
-P :保留绝对路径,亦即允讲备份数据中含有根目录;
–exclude=FILE:在压缩癿过程中,不要将 FILE 打包!

tar命令常用的方法
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
压 缩:tar -zcv -f filename.tar.gz 要被压缩的档案或目录名称
查 询:tar -ztv -f filename.tar.gz
解压缩:tar -zxv -f filename.tar.gz -C 欲解压缩的目录
如果不加 [-j|-z] 的话,文档名最好取为 *.tar 即可。
如果是 -j 选项,代表有bzip2的支持,因此档名最好就取为 *.tar.bz2;
如果是 -z 选项,代表有gzip的支持,那档名最好取为 *.tar.gz;
由于 -f filename 是紧接在一起的,很多时候会写成-jcvf filename,因为选项的顺序理论上是可以调换的,但是很多读者会误认为『-jvfc filename』也可以的,事实上这样会导致产生的文档名变成c。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值