Linux常用指令学习(篇六):压缩解压命令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

环境及相关软件:VMWare 14、CentOS 7、SecureCRT。


提示:以下是本篇文章正文内容,下面案例可供参考

一、压缩/解压缩.gz文件:gzip/gunzip

gzip

命令英文原意:GNU zip
命令所在路俭:/bin/gzip
执行权限:所有用户
语法:gzip[文件]
功能描述:压缩文件
压缩后文件格式:.gz

gunzip

命令英文原意:GNU unzip
命令所在路径:/bin/gunzip
执行权限:所有用户
语法:gunzip [压缩文件]
功能描述:解压缩.gz的压缩文件

[root@localhost tmp]# cp /etc/services /tmp/yangf
[root@localhost tmp]# 
[root@localhost tmp]# gzip yangf
[root@localhost tmp]# ls -l
总用量 136
-rw-r--r--. 1 root root 136085 2月   1 21:32 yangf.gz
# 注释:gunzip = gzip -d
[root@localhost tmp]# gunzip yangf.gz
[root@localhost tmp]# ls -l       
总用量 656
-rw-r--r--. 1 root root 670293 2月   1 21:32 yangf

注:gzip只能压缩文件,不能压缩目录;压缩不保留原文件。

二、打包/解包目录:tar(重要)

打包

命令所在路径:/bin/tar
执行权限:所有用户
语法:tar 选项[-zcf] [压缩后文件名] [目录]
​    -c 打包
​    -v 显示详细信息
​    -f 指定文件名
​    -z 打包同时压缩
功能描述:打包目录
压缩后文件格式: .tar.gz
范例:
$ tar -zcf Japan.tar.gz Japan
将目录Japan打包并压缩为.tar.gz文件

1.先打包,再压缩

[root@localhost tmp]# mkdir school
[root@localhost tmp]# mkdir school/ningsy school/yangf school/chenq
[root@localhost tmp]# ls
school  yangf
[root@localhost tmp]# 
[root@localhost tmp]# tar -cvf school.tar school
school/
school/ningsy/
school/yangf/
school/chenq/
[root@localhost tmp]# ls
school  school.tar  yangf
[root@localhost tmp]# gzip school.tar
[root@localhost tmp]# ls
school  school.tar.gz  yangf

2.打包的同时压缩

[root@localhost tmp]# tar -zcf etc.tar.gz /etc
tar: 从成员名中删除开头的“/[root@localhost tmp]# 
[root@localhost tmp]# ls
etc.tar.gz  school  school.tar.gz  yangf

解包

tar命令解压缩语法:
​​   -x 解包
​  ​ -v 显示详细信息
​   ​ -f 指定解压文件
​  ​ -z 解压缩
范例:$ tar -zxvf Japan.tar.gz

[root@localhost tmp]# rm -rf school
[root@localhost tmp]# 
[root@localhost tmp]# ls
etc.tar.gz  school.tar.gz  yangf
[root@localhost tmp]# tar -zxvf school.tar.gz
school/
school/ningsy/
school/yangf/
school/chenq/
[root@localhost tmp]# ls
etc.tar.gz  school  school.tar.gz  yangf

三、压缩/解压缩.zip文件或目录:zip/unzip

zip

命令所在路径:/usr/bin/zip
执行权限:所有用户
语法:
   zip 选项[-r] [压缩后文件名] [文件或目录]
      -r 压缩目录
功能描述:压缩文件或目录
压缩后文件格式:.zip(Windows和Linux都支持该格式)

unzip

命令所在路径:/usr/bin/unzip
执行权限:所有用户
语法:unzip [压缩文件]
功能描述:解压.zip的压缩文件

  • 提示未找到命令zip和unzip时:
[root@localhost tmp]# zip yangf.zip yangf
-bash: zip: 未找到命令
[root@localhost tmp]# yum install zip
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
base                                                                                                                                                                                                                                     | 3.6 kB  00:00:00     
extras                                                                                                                                                                                                                                   | 2.9 kB  00:00:00     
updates                                                                                                                                                                                                                                  | 2.9 kB  00:00:00     
updates/7/x86_64/primary_db                                                                                                                                                                                                              |  13 MB  00:00:03     
正在解决依赖关系
--> 正在检查事务
---> 软件包 zip.x86_64.0.3.0-11.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================================================================================================================================================================================================
 Package                                                    架构                                                          版本                                                                源                                                           大小
================================================================================================================================================================================================================================================================
正在安装:
 zip                                                        x86_64                                                        3.0-11.el7                                                          base                                                        260 k

事务概要
================================================================================================================================================================================================================================================================
安装  1 软件包

总下载量:260 k
安装大小:796 k
Is this ok [y/d/N]: y
Downloading packages:
zip-3.0-11.el7.x86_64.rpm                                                                                                                                                                                                                | 260 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : zip-3.0-11.el7.x86_64                                                                                                                                                                                                                       1/1 
  验证中      : zip-3.0-11.el7.x86_64                                                                                                                                                                                                                       1/1 

已安装:
  zip.x86_64 0:3.0-11.el7                                                                                                                                                                                                                                       

完毕!
[root@localhost tmp]# yum install unzip  
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 unzip.x86_64.0.6.0-24.el7_9 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================================================================================================================================================================================================
 Package                                                    架构                                                        版本                                                                 源                                                            大小
================================================================================================================================================================================================================================================================
正在安装:
 unzip                                                      x86_64                                                      6.0-24.el7_9                                                         updates                                                      172 k

事务概要
================================================================================================================================================================================================================================================================
安装  1 软件包

总下载量:172 k
安装大小:369 k
Is this ok [y/d/N]: y
Downloading packages:
unzip-6.0-24.el7_9.x86_64.rpm                                                                                                                                                                                                            | 172 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : unzip-6.0-24.el7_9.x86_64                                                                                                                                                                                                                   1/1 
  验证中      : unzip-6.0-24.el7_9.x86_64                                                                                                                                                                                                                   1/1 

已安装:
  unzip.x86_64 0:6.0-24.el7_9                                                                                                                                                                                                                                   

完毕!

1.压缩文件

[root@localhost tmp]# zip yangf.zip yangf
  adding: yangf (deflated 80%)
##zip的压缩比不如gzip;但zip可以保留原文件
[root@localhost tmp]# ls
etc.tar.gz  school  school.tar.gz  yangf  yangf.zip

2.压缩目录 zip -r

[root@localhost tmp]# zip -r school.zip school
  adding: school/ (stored 0%)
  adding: school/ningsy/ (stored 0%)
  adding: school/yangf/ (stored 0%)
  adding: school/chenq/ (stored 0%)

3.解压缩文件

[root@localhost tmp]# unzip yangf.zip  
Archive:  yangf.zip
replace yangf? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: yangf

四、压缩/解压缩.bz2文件:bzip2/bunzip2(gzip的升级版)

bzip2

命令所在路径:/usr/bin/bzip2
执行权限:所有用户
语法:bzip2 选项 [-k] [文件]
​       -k 产生压缩文件后保留原文件
功能描述:压缩文件
压缩后文件格式:.bz2

bunzip2

命令所在路径:/usr/bin/bunzip2
执行权限:所有用户
语法:bunzip2 选项 [-k] [压缩文件]
       -k 解压缩后保留原文件
功能描述:解压缩

  • 提示未找到命令bzip2时:
[root@localhost tmp]# bzip2 -k yangf
-bash: bzip2: 未找到命令
[root@localhost tmp]# yum install bzip2
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 bzip2.x86_64.0.1.0.6-13.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================================================================================================================================================================================================
 Package                                                     架构                                                         版本                                                                 源                                                          大小
================================================================================================================================================================================================================================================================
正在安装:
 bzip2                                                       x86_64                                                       1.0.6-13.el7                                                         base                                                        52 k

事务概要
================================================================================================================================================================================================================================================================
安装  1 软件包

总下载量:52 k
安装大小:82 k
Is this ok [y/d/N]: y
Downloading packages:
bzip2-1.0.6-13.el7.x86_64.rpm                                                                                                                                                                                                            |  52 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : bzip2-1.0.6-13.el7.x86_64                                                                                                                                                                                                                   1/1 
  验证中      : bzip2-1.0.6-13.el7.x86_64                                                                                                                                                                                                                   1/1 

已安装:
  bzip2.x86_64 0:1.0.6-13.el7                                                                                                                                                                                                                                   

完毕!

1.压缩/解压缩文件

##压缩文件并保留原文件
[root@localhost tmp]# bzip2 -k yangf
[root@localhost tmp]# ls
etc.tar.gz  school  school.tar.gz  school.zip  yangf  yangf.bz2  yangf.zip
##解压缩文件
[root@localhost tmp]# bunzip2 yangf.bz2
bunzip2: Output file yangf already exists.
[root@localhost tmp]# rm yangf
rm:是否删除普通文件 "yangf"?y
[root@localhost tmp]# bunzip2 yangf.bz2
[root@localhost tmp]# ls
etc.tar.gz  school  school.tar.bz2  school.tar.gz  school.zip  yangf  yangf.zip

2.打包/解包

##打包并压缩目录
[root@localhost tmp]# tar -jcf school.tar.bz2 school
[root@localhost tmp]# ls
etc.tar.gz  school  school.tar.bz2  school.tar.gz  school.zip  yangf  yangf.bz2  yangf.zip
##解包目录
[root@localhost tmp]# rm -rf school
[root@localhost tmp]# ls
etc.tar.gz  school.tar.bz2  school.tar.gz  school.zip  yangf  yangf.zip
[root@localhost tmp]# tar -jxf school.tar.bz2
[root@localhost tmp]# ls
etc.tar.gz  school  school.tar.bz2  school.tar.gz  school.zip  yangf  yangf.zip

总结

  1. gzip只能压缩文件,并且不保留原文件;
  2. gzip要压缩目录需结合tar一起使用;
  3. zip既能压缩文件,也能压缩目录;
  4. zip压缩比没有gzip好;
  5. bzip2是gzip的升级版,增加保留原文件的选项,即bzip2 -k;
  6. tar打包压缩成.gz格式:tar -zcf;
    解包.gz格式:tar -zxf;
  7. tar打包压缩成.bz2格式:tar -jcf;
    解包.bz2格式:tar -jxf。

待完善。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值