压缩解压命令
.gz 压缩文件
压缩包后缀:.gz
命令名称:gzip
命令语法:gzip [文件]
注意:
-
该命令只能压缩一个文件,不能压缩目录
-
压缩后原文件不存在
-
压缩的比例很高
# 复制一个文件到/tmp目录下
[root@VM-8-7-centos tmp]# cp /etc/services /tmp/
# 查看压缩前的大小
[root@VM-8-7-centos tmp]# ll
total 656
-rw-r--r-- 1 root root 670293 Apr 2 17:14 services
# 进行压缩
[root@VM-8-7-centos tmp]# gzip services
# 压缩后的压缩包和大小
[root@VM-8-7-centos tmp]# ll
total 136
-rw-r--r-- 1 root root 136088 Apr 2 17:14 services.gz
解压
命名名称:gunzip
命令语法:gunzip [压缩文件名]
或者是 gzip -d [压缩文件名]
注意:
- 解压后 压缩包会不存在
[root@VM-8-7-centos tmp]# ll
total 136
-rw-r--r-- 1 root root 136088 Apr 2 17:14 services.gz
# 解压
[root@VM-8-7-centos tmp]# gunzip services.gz
[root@VM-8-7-centos tmp]# ll
total 656
-rw-r--r-- 1 root root 670293 Apr 2 17:14 services
.tar 打包目录
命令名称:tar
语法:tar 选项 [压缩后的文件名] [压缩原目录]
选项:
- -c 打包
- -x 解包
- -v 显示详细信息
- -f 指定文件名
- -z 打包同时压缩
注意:
- 该命令,不管是压缩或者是解压,原文件都不会被删除掉
我们可以先将一个目录打包,然后使用gzip命令进行压缩
# 复制一个目录过来
[root@VM-8-7-centos tmp]# cp -r /home/hs/shell/shell_mysql_dump/ /tmp
[root@VM-8-7-centos tmp]# ll
total 4
drwxr-xr-x 2 root root 4096 Apr 2 17:29 shell_mysql_dump
# 开始打包
[root@VM-8-7-centos tmp]# tar -cvf shell_mysql_dump.tar shell_mysql_dump/
shell_mysql_dump/
shell_mysql_dump/increase_mysql_dump.sh
shell_mysql_dump/full_mysql_dump.sh
shell_mysql_dump/.mysql_dump.sh.swp
[root@VM-8-7-centos tmp]# ll
total 36
drwxr-xr-x 2 root root 4096 Apr 2 17:29 shell_mysql_dump
-rw-r--r-- 1 root root 30720 Apr 2 17:30 shell_mysql_dump.tar
# 然后在使用gzip命令进行压缩
[root@VM-8-7-centos tmp]# gzip shell_mysql_dump.tar
[root@VM-8-7-centos tmp]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 2 17:29 shell_mysql_dump
-rw-r--r-- 1 root root 2388 Apr 2 17:30 shell_mysql_dump.tar.gz
但是这样很麻烦,如果想一步到位,打包和压缩一条命令完成,那就加上-z的选项
[root@VM-8-7-centos tmp]# tar -zcvf shell_mysql_dump.tar.gz shell_mysql_dump/
解压
[root@VM-8-7-centos tmp]# tar -zxvf shell_mysql_dump.tar.gz
.zip 压缩文件
命令名称:zip
命令语法:zip [选项] [压缩后的文件名] [文件或目录]
选项:
- -r 压缩目录,如果是压缩文件就不需要该选项,如果是压缩目录则需要
注意:
- zip命令可以压缩文件或目录
- 压缩后原文件还存在
- 但是该命令的压缩比例不太高
- zip的压缩包在linux和windows上都支持
范例:
# 压缩文件
zip full_mysql_dump.zip full_mysql_dump.sh
# 压缩目录
zip -r shell_mysql_dump.zip shell_mysql_dump
解压
命名名称:unzip
命令语法:unzip [压缩文件]
# 解压
unzip shell_mysql_dump.zip
.bz2 压缩文件
该命令是gzip命令的升级版本,就是可以添加-k的选项来保留原文件,并且该命令的压缩比例很高,往往用来压缩一些大文件,它不能压缩目录
命令名称:bzip2
命令语法:bzip2 [选项] [文件]
该命令生成的压缩包文件的后缀名为:.bz2
选项:
- -k 产生压缩文件后保留原文件
范例:
# 压缩文件,然后就会生成full_mysql_dump.sh.bz2的文件
bzip2 full_mysql_dump.sh
# 解压
bunzip2 full_mysql_dump.sh.bz2
当然 该命令也可以和tar命令结合使用,只是将之前的-z选择该为-j选项
# 打包并压缩
tar -jcvf shell_mysql_dump.tar.bz2 shell_mysql_dump
# 解压
tar -jxvf shell_mysql_dump.tar.bz2