本文介绍了linux常见的5中压缩格式以及压缩命令和解压缩命令,每条命令都有相应的示例,测试环境为centos6
常见的五种压缩格式
- .zip
- .gz
- .bz2
- .tar.gz
- .tar.bz2
linux系统不区分后缀名,但为了方便人区分其文件类型,人为定义文件名时最好加上后缀名
1. .zip 格式的压缩
- 压缩
zip 压缩文件名 源文件
zip压缩文件.png
选项:
-r 压缩目录
zip压缩目录.png
- 解压
unzip 压缩文件
zip解压.png
2. .gz格式
- 压缩
gzip 源文件
压缩为.gz格式的压缩文件,源文件会消失
gzip压缩.png
gzip -c 源文件 > 压缩文件
压缩为.gz格式的压缩文件,源文件会保留
gzip压缩(保留源文件).png
gzip -r 目录
压缩目录下的所有子文件,但不会压缩目录
gzip压缩目录.png
- 解压
gunzip 压缩文件 等价于 gzip -d 压缩文件
gzip解压(gunzip).png
gzip解压(gzip -d).png
3. .bz2格式
- 压缩
bzip2 源文件
不保留源文件
bz2压缩(不保留源文件).png
bzip2 -k 源文件
保留源文件
bz2压缩(保留源文件).png
注意:bz2文件不支持压缩目录
- 解压
bunzip2 压缩文件
bz2解压.png
由前文可知,gz和bz2压缩格式都没有对应的命令去压缩整个目录
想要做到压缩目录,需要遵循如下步骤
- 将目录打包
- 将打包后的文件压缩
打包需要使用 tar 命令
- 打包
tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示打包过程
-f 指定打包后的文件名
打包
- 解包
tar -xvf 打包文件名
选项:
-x 解包
解包
下面介绍的两种压缩格式的命令,是linux中最常用的压缩命令,其本质都是通过一条命令,实现先打包后压缩
4. .tar.gz
- 压缩
tar -zcvf 压缩包名(.tar.gz) 源文件
选项:
-z:压缩为.tar.gz格式
.tar.gz压缩
- 解压
tar -zxvf 压缩包名(.tar.gz)
.tar.gz解压
5. .tar.bz2
- 压缩
tar -jcvf 压缩包名(.tar.bz2) 源文件
.tar.bz2压缩
可压缩多个文件
压缩多个文件
- 解压
tar -jxvf 压缩包名(.tar.bz2) 源文件
.tar.bz2解压
使用 -C 可以指定解压缩位置
-C指定解压位置