关于Linux的(解)压缩操作及归档

前言

归档(打包) 指将多个文件或目录不经过压缩储存在一个文件中,方便传输。由于其未经过压缩,故大小于之前相同
压缩 利用算法将文件进行处理,使其保留信息的同时让文件体积变小。

但如果文件本身过小,按照一定算法压缩后可能体积变大,例如:

1111111111	//十个一
1			//一个一

按照如上算法,第二个明显体积变大

压缩

常用的压缩命令有三个,分别是gzipbzip2xz,但这里不得不提到zip,Windows常见的压缩格式就是zip,但在Linux中,上三中压缩方法的压缩率zip要高,但是不能压缩目录(归档);还有一点就是zip压缩会默认替换后缀,但其余三种压缩会默认在原文件名后加上相应后缀

zip和unzip命令

zip是及归档又压缩的工具,可以压缩目录
压缩:zip FILE
解压:unzip FILE

  1. 准备一个目录及其子目录,并在其下创建文件
    在这里插入图片描述
  2. 使用zip压缩文件file1.txt
    命令:zip 压缩文件名 源文件名
    在这里插入图片描述
    这里的*是通配符,表示匹配file1后任意字符任意次数
  3. 使用-9令压缩率最高
    命令:zip -9 压缩文件名 源文件名
    在这里插入图片描述
    这里可以看到,由于file2.txt过小,即使使用压缩率最高的方式,压缩后的文件也比与源文件体积大
  4. 使用-r选项压缩目录及目录下文件
    命令:zip -r 压缩文件名 源目录名
    在这里插入图片描述
  5. 使用-m选项向压缩文件file1.zip中添加file2.txt文件
    命令:zip -m file1.zip file2.txt
  6. 使用-d选项删除压缩文件中的文件
    命令:zip -d file1.zip file2.txt
  7. 使用-x选项压缩文件时排除某个文件
    命令:zip 压缩文件名 源文件 -x 被排除文件
    在这里插入图片描述
  8. 解压文件
    命令:unzip 压缩文件名
    在这里插入图片描述
    由于存在一个file2.txt,故这里提示覆盖等选项
  9. 使用-d选项指定解压后的目录
    命令:unzip 压缩文件名 -d 目录
    在这里插入图片描述
  10. 使用-v选项查看压缩文件目录,但不解压
    命令:unzip -v 压缩文件名
    在这里插入图片描述

gzip和gunzip

gzip命令十分好记,和zip差不多,而且解压缩就是g+unzip,之后的两个命令亦是如此

  1. 压缩文件
    命令:gzip 源文件
    默认加上gz后缀且替换源文件
    在这里插入图片描述
    发现大小为30,的确比zip压缩率高
  2. 使用-r选项指定压缩某个目录下的文件
    命令:gzip -r 目录
    在这里插入图片描述
  3. 使用-c和重定向符指定压缩后的文件名,以保留源文件
    命令:gzip -c 源文件 > 压缩文件名
    在这里插入图片描述
  4. 查看压缩后的文件,但不解压
    命令:zcat 文件名.gz
    在这里插入图片描述
    先用tee定向输入到屏幕和file1,txt文件,再将其压缩,最后使用zcat读取
  5. 解压
    命令:gunzip 文件名.gz
    (gunzip=gzip -d)
    在这里插入图片描述

bzip2和bunzip2

bzip2是更新的Linux压缩工具,有着比gzip更高的压缩率,且命令相似

# bunzip2=bzip2 -d
bzip2 源文件			#压缩文件
bzip2 -9 源文件			#压缩率更高
bzip2 -c 源文件 > 压缩文件名.bz2
						#结尾必须为.bz2
bzip2 -d 压缩文件名.bz2	#解压缩
bzcat 压缩文件名.bz2		#读取但不解压

xz和unxz

# unxz=xz -d
xz 源文件			#压缩文件
xz dir/*			#压缩目录下的文件
xz -d 压缩文件名.xz	#解压缩
xzcat 压缩文件名.xz		#读取但不解压

归档

tar [选项] 打包文件名 被打包源文件或目录列表
tar [选项] 打包文件名 [-C 目标目录]

选项功能
c创建.tar格式的包文件
x释放.tar格式的包文件
t查看包中的文件列表
v表示在命令执行时显示详细的提示信息
f 包文件名用于指定包文件名。当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名;当与-x选项一起使用时,则释放该选项指定的tar包文件。
p打包时保留文件及目录的权限。
z调用gzip程序,以gzip格式压缩或解压缩文件。
j调用bzip2程序,以bzip2格式压缩或解压缩文件。
J使用xz压缩(.tar.xz)。xz的压缩率通常比bzip2更高。
C 目录路径名释放包时指定释放的目标的位置。
  1. 归档(打包),但不压缩
    命令:tar cvf 包文件名.tar 目录或文件列表
    在这里插入图片描述

  2. 创建带压缩的包文件
    命令:tar c[z|j|J]f 包文件名 目录或文件列表
    tar支持三种压缩方式
    在这里插入图片描述
    带压缩的打包方式体积明显变小

  3. 列出包文件中的文件列表
    命令:tar t[v]f 包文件名
    在这里插入图片描述

  4. 提取包文件到指定目录
    命令:tar x[v]f 包文件名 [-C 目标目录]
    在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1ta-chi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值