Linux 压缩与解压

Linux 压缩与解压

最常用的压缩命令

后面的压缩命令太多了,如果不需要那么多细节可以不用看,直接记住经常用的就可以了,如果能耐满足你的需要,后面的内容就不用看了,反正我是不愿意看这些。

tar.gz 格式:
- 压缩命令:		tar -zcvf filename.tar.gz 要被压缩的文件名称或目录名称
- 解压缩命令:	tar -zxvf filename.tar.gz -C 解压到哪里

zip2 格式:
- 压缩命令:		tar -jcvf filename.tar.bz2 要被压缩的文件名称或目录名称
- 解压缩命令:	tar -jxvf filename.tar.bz2 -C 解压到哪里

好了就到这里了后面的内容根据心情决定看不看吧


Linux中常见的压缩格式

在Linux中常见的压缩文件扩展名大多是*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2, Linux本身是不关心文件的扩展名的,这些所谓的扩展名其实是用来给人分辨压缩格式用的。

*.Z			compress 程序压缩的文件(这个基本上已经没有人用了,而且这个格式的压缩包可以使用gzip来解压,仅在一些很古老的系统上可能会用到)
*.gz		gzip程序压缩的文件
*.gz2		bzip2程序压缩的文件
*.tar		tar程序打包的数据,并没有压缩过
*.tar.gz	tar程序打包的文件,经过gzip的压缩
*.tar.bz2	tar程序打包的文件,其中经过bzip2的压缩

压缩命令介绍

compress

compress这个压缩命令是非常老旧的一款,基本上已经没有什么人在用了,而且这个格式的压缩包可以是用gzip来解压缩,新版的Linux中已经没有这个命令了,如果一定要使用这个命令可以自己进行安装(yum install ncompress)

compress [-rcv] 文件或目录	# 压缩命令
uncompress 文件.Z			# 解压命令

-r		可以连同目录下的文件也同时进行压缩
-c		将压缩的数据输出成为standard output (输出到屏幕上,可以使用重定向输出到文件)
-v		可以显示出压缩后的文件信息以及压缩过程中的一些文件名变化

示例:
执行 "compress -c test.txt > test.Z" 命令,可以将test.txt文件压缩称为test.Z压缩包

gzip, zcat

gzip目前使用的比较广泛,肯能大部分都在用gzip吧,gzip压缩的文件可以使用zcat直接进行查看

gzip [-cdtv#] 文件名			# 压缩命令
zcat 文件名.gz				# 直接进行查看

-c		将压缩的数据输出到屏幕上,可通过数据流重定向输到文件中,具体可以参见compress的示例
-d		解压缩
-t		可以用来检验一个压缩文件的一致性,看看文件是否有误
-v		可以显示出原文件/压缩文件的压缩比等信息
-#		压缩登记, -1 最快,但是压缩比最差,-9最慢但是压缩比最好,默认为-6

bzip2, bzcat

bzip2可以提供更高的压缩比,用法基本上与gzip相同,同样bzip2压缩的文件可以使用bzcat命令来直接查看

bzip2 [-cdkzv#] 文件名		# 压缩命令
bzcat 文件名.bz2				# 直接进行查看

-c		将压缩的数据输出到屏幕上,可通过数据流重定向输到文件中,具体可以参见compress的示例
-d		解压缩
-k		保留源文件,而不会删除原始文件
-z		压缩
-v		可以显示出原文件/压缩文件的压缩比等信息
-#		压缩登记, -1 最快,但是压缩比最差,-9最慢但是压缩比最好

打包命令

以上的命令有一个问题,就是只能压缩一个文件,如果直接使用gzip与bzip2对目录压缩的话其实也是对目录下的文件进行分别压缩操作,这也太low了吧,所以上面的内容我是没单独用过,下面的命令才真香。

tar

这个命令才是灵魂,这个参数的命令有有很多,下面的只是常用的

tar [-j|-z] [cv] [-f 新建的文件名] filename ⇐ 打包与压缩
tar [-j|-z] [tv] [-f 新建的文件名] ⇐ 查看文件名
tar [-j|-z] [xv] [-f 新建的文件名] [-C 目录] ⇐ 解压缩

-c		新建打包文件
-t		查看打包文件的内容(查看里面的文件名的)
-x		解打包或解压缩用的,主要啊,-c, -t, -x不可同时出现
-j		通过bzip2格式进行压缩打包,给压缩包起名字的时候最后以 *.tar.gz2 做为扩展名,虽然不写没有错,但是写上了以后就能直观的看到格式了
-z		通过gzip的格式进行压缩打包,后缀名字最好为 *.tar.gz,理由跟上面的那个一样
-v		在压缩/解压的过程中显示正在处理的文件名字
-f filename		就因为这个参数我上面整整齐齐的格式被它打乱了,但是不说又不行。这个参数后面要接被处理的文件名
-C 目录	这个参数用在解压缩的时候,若要在特定目录下解压缩,可以使用这个参数 

这里还有几个我没用过的参数
-p		保留备份数据的原本权限与属性,常用语备份
-P		保留绝对路径
--exclude=FILE	在压缩的过程中,不要将FILE打包

Notice: 以上内容部分整理自《鸟哥的Linux私房菜》
详细内容请查询《鸟哥的Linux私房菜 第三版》9.2 节

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值