# linux常用打包压缩格式
.zip
.gz
.bz2
.tar
.tar.gz
.tar.bz2
一、.zip
格式
# 1. 压缩
# 压缩文件
zip 压缩文件名 源文件
# 压缩目录
zip -r 压缩文件名 源目录
- 实例
[vagrant/tmp] ]$zip a.zip a.md
adding: a.md (stored 0%)
[vagrant/tmp] ]$zip -r abc.zip abc
adding: abc/ (stored 0%)
adding: abc/def/ (stored 0%)
adding: abc/def/ghi/ (stored 0%)
[vagrant/tmp] ]$ll
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 00:53 abc/
-rw-rw-r-- 1 vagrant vagrant 454 Apr 19 00:55 abc.zip
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 00:53 a.md
-rw-rw-r-- 1 vagrant vagrant 158 Apr 19 00:55 a.zip
# 2. 解压缩
unzip 压缩文件名 [-d <文件解压缩后所要存储的目录>]
- 实例
[vagrant/tmp] ]$mkdir zip
[vagrant/tmp] ]$unzip a.zip -d zip
Archive: a.zip
extracting: zip/a.md
[vagrant/tmp] ]$unzip abc.zip -d zip
Archive: abc.zip
creating: zip/abc/
creating: zip/abc/def/
creating: zip/abc/def/ghi/
[vagrant/tmp] ]$ll zip
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 00:53 abc/
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 00:53 a.md
# 二、.gz
格式
# 1. 压缩
# 压缩文件
1. gzip 源文件
注意:源文件会消失!
2. gzip -c 源文件 > 压缩文件
压缩文件,源文件保留
3. gzip -r 目录
压缩目录下所有子文件,但是不能压缩目录
# 压缩目录
gzip 不能压缩目录
- 实例
[vagrant/tmp] ]$gzip -c a.md > a.md.gz
[vagrant/tmp] ]$ll
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 00:53 abc/
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 00:53 a.md
-rw-rw-r-- 1 vagrant vagrant 25 Apr 19 04:11 a.md.gz
[vagrant/tmp] ]$ll abc
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:12 a
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:12 b
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:12 c
[vagrant/tmp] ]$gzip -r abc
[vagrant/tmp] ]$ll abc
-rw-rw-r-- 1 vagrant vagrant 22 Apr 19 04:12 a.gz
-rw-rw-r-- 1 vagrant vagrant 22 Apr 19 04:12 b.gz
-rw-rw-r-- 1 vagrant vagrant 22 Apr 19 04:12 c.gz
# 2. 解压缩
1. gzip -d 压缩文件
2. gunzip 压缩文件
- 实例
[vagrant/tmp/tmp] ]$gzip -d a.md.gz
[vagrant/tmp/tmp] ]$ll
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 04:13 abc/
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:11 a.md
[vagrant/tmp/tmp] ]$gzip -dr abc/
[vagrant/tmp/tmp] ]$ll abc
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:12 a
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:12 b
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:12 c
# 三、.bz2
格式
# 1. 压缩
# 压缩文件
1. bzip2 源文件
注意:源文件会消失!
2. bzip2 -k 源文件
压缩文件,源文件保留
# 压缩目录
bzip2 不能压缩目录
- 实例
[vagrant/tmp/tmp] ]$bzip2 -k a.md
[vagrant/tmp/tmp] ]$ll
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:11 a.md
-rw-rw-r-- 1 vagrant vagrant 14 Apr 19 04:11 a.md.bz2
[vagrant/tmp/tmp] ]$rm a.md.bz2
[vagrant/tmp/tmp] ]$bzip2 a.md
[vagrant/tmp/tmp] ]$ll
-rw-rw-r-- 1 vagrant vagrant 14 Apr 19 04:11 a.md.bz2
# 2. 解压缩
1. bzip2 -d 压缩文件
解压缩,默认不保留压缩文件。加
-k
可保留压缩文件
2. gunzip 压缩文件
解压缩,默认不保留压缩文件。加
-k
可保留压缩文件
- 实例
[vagrant/tmp/tmp] ]$bzip2 -dk a.md.bz2
[vagrant/tmp/tmp] ]$ll
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:11 a.md
-rw-rw-r-- 1 vagrant vagrant 14 Apr 19 04:11 a.md.bz2
[vagrant/tmp/tmp] ]$rm a.md
[vagrant/tmp/tmp] ]$bunzip2 -k a.md.bz2
[vagrant/tmp/tmp] ]$ll
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:11 a.md
-rw-rw-r-- 1 vagrant vagrant 14 Apr 19 04:11 a.md.bz2
[vagrant/tmp/tmp] ]$rm a.md
[vagrant/tmp/tmp] ]$bzip2 -d a.md.bz2
[vagrant/tmp/tmp] ]$ll
-rw-rw-r-- 1 vagrant vagrant 0 Apr 19 04:11 a.md
# 四、.tar
格式
# 1. 打包
tar -cvf 打包文件名 源文件或目录
- 选项
-c
: 打包
-v
: 显示打包过程
-f
: 指定打包后的文件名
- 实例
[vagrant/tmp/tmp] ]$tar -cvf abc.tar abc
abc/
abc/def/
abc/def/ghi/
abc/a
abc/b
abc/c
[vagrant/tmp/tmp] ]$ll
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 04:22 abc/
-rw-rw-r-- 1 vagrant vagrant 10K Apr 19 07:02 abc.tar
# 2. 解打包
tar -xvf 打包文件名
- 选项
-x
: 解打包
- 实例
vagrant/tmp/tmp] ]$tar -xvf abc.tar
abc/
abc/def/
abc/def/ghi/
abc/a
abc/b
abc/c
[vagrant/tmp/tmp] ]$ll
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 04:22 abc/
-rw-rw-r-- 1 vagrant vagrant 10K Apr 19 07:02 abc.tar
# 五、.tar.gz
格式
其实,
.tar.gz
格式是先将文件或目录打包文.tar
格式,再压缩为.gz
格式
# 1. 压缩
tar -zcvf 压缩包名.tar.gz 源文件
- 选项
-z
: 压缩为 .tar.gz 格式
# 2. 解压缩
tar -zxvf 压缩包名.tar.gz
- 选项
-x
: 解压缩
-t
: 查看压缩保内文件,但是不解压缩
- 实例
[vagrant/tmp/tmp] ]$tar -zcvf abc.tar.gz abc
abc/
abc/def/
abc/def/ghi/
abc/a
abc/b
abc/c
[vagrant/tmp/tmp] ]$ll
total 8.0K
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 04:22 abc/
-rw-rw-r-- 1 vagrant vagrant 204 Apr 19 07:27 abc.tar.gz
[vagrant/tmp/tmp] ]$rm -rf abc
[vagrant/tmp/tmp] ]$tar -ztvf abc.tar.gz
drwxrwxr-x vagrant/vagrant 0 2018-04-19 04:22 abc/
drwxrwxr-x vagrant/vagrant 0 2018-04-19 00:52 abc/def/
drwxrwxr-x vagrant/vagrant 0 2018-04-19 00:52 abc/def/ghi/
-rw-rw-r-- vagrant/vagrant 0 2018-04-19 04:12 abc/a
-rw-rw-r-- vagrant/vagrant 0 2018-04-19 04:12 abc/b
-rw-rw-r-- vagrant/vagrant 0 2018-04-19 04:12 abc/c
[vagrant/tmp/tmp] ]$ll
total 4.0K
-rw-rw-r-- 1 vagrant vagrant 204 Apr 19 07:27 abc.tar.gz
[vagrant/tmp/tmp] ]$tar -zxvf abc.tar.gz
abc/
abc/def/
abc/def/ghi/
abc/a
abc/b
abc/c
[vagrant/tmp/tmp] ]$ll
total 8.0K
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 04:22 abc/
-rw-rw-r-- 1 vagrant vagrant 204 Apr 19 07:27 abc.tar.gz
# 六、.tar.bz2
格式
其实,
.tar.bz2
格式是先将文件或目录打包文.tar
格式,再压缩为.bz2
格式
# 1. 压缩
tar -jcvf 压缩包名.tar.bz2 源文件
- 选项
-j
: 压缩为 .tar.bz2 格式
# 2. 解压缩
tar -jxvf 压缩包名.tar.bz2
- 选项
-x
: 解压
-t
: 查看压缩保内文件,但是不解压缩
-C
: 指定解压的目录(注意,该选项必须放在后面)
- 实例
[vagrant/tmp/tmp] ]$tar -jcvf abc.tar.bz2 abc
abc/
abc/def/
abc/def/ghi/
abc/a
abc/b
abc/c
[vagrant/tmp/tmp] ]$ll
total 8.0K
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 04:22 abc/
-rw-rw-r-- 1 vagrant vagrant 210 Apr 19 07:33 abc.tar.bz2
[vagrant/tmp/tmp] ]$tar -jtvf abc.tar.bz2
drwxrwxr-x vagrant/vagrant 0 2018-04-19 04:22 abc/
drwxrwxr-x vagrant/vagrant 0 2018-04-19 00:52 abc/def/
drwxrwxr-x vagrant/vagrant 0 2018-04-19 00:52 abc/def/ghi/
-rw-rw-r-- vagrant/vagrant 0 2018-04-19 04:12 abc/a
-rw-rw-r-- vagrant/vagrant 0 2018-04-19 04:12 abc/b
-rw-rw-r-- vagrant/vagrant 0 2018-04-19 04:12 abc/c
[vagrant/tmp/tmp] ]$tar -jxvf abc.tar.bz2 -C /tmp
abc/
abc/def/
abc/def/ghi/
abc/a
abc/b
abc/c
[vagrant/tmp/tmp] ]$ll /tmp/
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 04:22 abc/
drwxrwxr-x 3 vagrant vagrant 4.0K Apr 19 07:33 tmp/