Bootstrap

关于Linux压缩和解压知识

压缩与解压缩

指令总结

指令解释
gzip压缩指令
bzip2更高的压缩效率指令
zip压缩文件或文件夹
tar打包并压缩指令

代码演示

压缩指令——gzip

说明:linux压缩文件为.gz(gzip)格式

语法: gzip [选项] 文件名/目录

选项:

​ -r :可以将目录下的文件递归操作

​ -l :显示已经压缩文件的压缩信息

​ -d :解压缩

注意: gunzip aa.c.gz 也可以解压扩展名是.gz的文件

注意:gzip 只针对文件,文件夹无变化

代码演示
gzip a.txt        	//压缩a.txt文件
gzip -d a.txt.gz   	//解压a.txt.gz
gzip -r a 			//递归压缩a文件夹,将a文件夹中的所有文件进行压缩,文件夹没有变化
gzip -dr a	//递归解压a文件夹中所有的文件

请添加图片描述

更高的压缩效率指令——bzip2

说明:压缩文件为.bz2的格式

语法: bzip2 [选项] 文件名

选项:

​ -k :保留源文件

​ -d :解压缩

​ -f :覆盖解压(文件夹中有同名文件,用解压出来的文件覆盖同名文件)

总结

​ gzip和bzip2的区别:

​ gzip可以压缩文件夹中的所有文件,bzip2不可以。

​ 与gzip相比,bzip2有更高的压缩效率。

​ gzip和bzip2压缩指令不能混用,主要通过压缩文件的扩展名区分。

注意: bunzip2 -f a.txt.bz2 也可以解压缩扩展名是.bz2的文件。

代码演示
bzip2 a.txt		//压缩a.txt文件
bzip2 -k b.txt	//压缩b.txt文件,并且保存原文件

请添加图片描述

压缩文件或文件夹——zip

说明:文件的后缀名是.zip

语法: zip [选项] 压缩后的文件名 文件名/目录

选项:

​ -r :递归压缩,用于对文件夹的操作

注意:不带选项会保留源文件

代码演示
zip love.zip love2.txt 			//压缩love2.txt
unzip love.zip 					//解压缩love.zip
zip a.zip a 					//压缩目录a
unzip a.zip 					//解压缩a.zip
zip -r a2.zip a 				//递归压缩目录a
unzip -r a2.zip 				//递归解压缩a2.zip
zip ./my/love.zip love2.txt 	//压缩文件到./a目录下

请添加图片描述

打包并压缩指令——tar

语法: tar [选项] 产生的文件名称 被压缩的文件或文件夹列表(用空格隔开)

选项:

​ -c :打包

​ -v :显示命令执行的过程

​ -f :用于指定打包文件的名称

​ -z :打包时压缩/解包同时解压缩,所以操作的文件扩展名为 .gz (gz说明是用的gzip)

​ -x :解包

​ -j :与-z类似,不过使用的是bzip2指令,扩展名为 .bz2

代码演示
tar -cvf love.tar love2.txt love.txt	//打包love2.txt,love.txt文件并压缩到love.tar中

tar -xvf love.tar						//解包love.tar中的love2.txt和love.txt

请添加图片描述

总结

  1. *.tar :用 tar -xvf 解包
  2. *.gz : 用 gzip -d 解压缩
  3. *.tar.gz :和 *.tgz 用 tar -xvzf 解压
  4. *.bz2 :用 bzip2 -d 解压
  5. *.tar.bz2 :用 tar -xvjf 解包
  6. *.zip :用 unzip 解压
;