压缩与解压缩
指令总结
指令 | 解释 |
---|---|
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
总结
- *.tar :用 tar -xvf 解包
- *.gz : 用 gzip -d 解压缩
- *.tar.gz :和 *.tgz 用 tar -xvzf 解压
- *.bz2 :用 bzip2 -d 解压
- *.tar.bz2 :用 tar -xvjf 解包
- *.zip :用 unzip 解压