0
点赞
收藏
分享

微信扫一扫

linux压缩解压缩命令:gzip、tar、zip、bzip2

程序小小黑 2022-04-08 阅读 143
linux

压缩解压命令

.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
举报

相关推荐

0 条评论