压缩包管理gzip,gunzip,zip,unzip

注:在麒麟系统下不可以建立同名的两个东西,目录和文件不可以同名
例如:mkdir a
touch a
显示只有a(这个a是目录),建立两个只能存在第一个
一.使用gzip(压缩)和gunzip(解压缩)
gzip可以只压缩目录

1.先建立一个main.c的2M文件放在tmp中
cd /tmp 进入tmp模式
cp main.c就把main复制进tmp
gzip main.c压缩
ls之后发现变成main.c.gz

注:使用gzip main.c压缩后就没有main.c只剩下main.c.gz
想要留下两个就用gzip -c main.c>main.c.gz
-c:保留2个文件
-r:递归,可以压缩目录和文件
gzip可以同时压缩目录下的三个文件:gzip 1 2 3

gzip -r distance(一起递归压缩)
解压:gzip -dr distance 此时distance里面可以有三个文件一起递归解压缩

2.gunzip解压(用法与gzip一样)
注:使用gunzip main.c压缩后就没有main.c.gz只剩下main.c
想要留下两个就用gzip -c main.c.gz>main.c

gunzip -r distance(一起递归解压缩)

二。.tar:对目录进行打包(tar本身不具有压缩功能,只能打包)

1.用法:打包distance:tar [选项】 (变化后的,就是原基础加tar) (变化前的)
tar -cvf distance.tar distance
2.选项:

  • -c  create:创建打包文件
  • -v  verbose:详细输出
  • -f :指定要建立的 tar 文件名称。
  • -x :解包 tar 文件。
  • -u :用已打包文件的较新版本更新 tar 文件。
  • -z :调用 gzip 命令执行压缩或解压缩。

经验分享:选项  -cvf  一般是习惯用法,在打包时需要指定打包后文件名扩展名为.tar

3.tar+选项(-z)压缩:就是在打包基础上+-z
压缩distance:tar -zcvf distance.tar distance

注:打包后压缩可以用gzip,压缩的同时进行打包只能用tar

4.解包
解包就是把-cvf 换成-xvf
tar -xvf distance.tar distance
三.zip(压缩)和unzip(解压)
1.用法:
zip [解压后的名称] 【解压前的名称/内部多个文件】
例如:对main.c压缩
zip main.c.zip main.c
2.选项:
-q :静默模式,不显示压缩过程中的详细信息。(压缩时会有类似进度条的东西,-q可以消除)
​

  • -m :压缩后删除源文件。
    ​
  • -r :递归地压缩目录中的文件。
  1. 使用 zip 命令对多个文件进行压缩

使用如下命令对 main.c、distance.h、distance.c 三个文件进行压缩

zip distance.zip main.c distance.h distance.c

4.压缩目录:
 zip -r distance.zip distance
✅考点总结:
 zip 打包+压缩一步完成,多个文件放进同一个压缩包
unzip
:
1.用法:unzip [选项] [被压缩后的文件名]

常用选项如下。
1.  -d  是unzip最高频选项,用来指定解压到哪个目录
示例: unzip test.zip -d /tmp 
2.  -P 大写P,给带密码的zip压缩包解压输入密码
⚠️注意:是大写P,不是小写

3.  -f :更新本地已经存在的旧文件

gzip与zip的区别:

1、核心本质

✅ gzip
只能压缩单个文件,本身没有打包功能

  • 写  gzip a b c :3个文件分别压缩,生成  a.gz 、 b.gz 、 c.gz ,3个独立压缩文件
  • 压缩完成默认删除原文件
  • 想要打包多个文件一起压缩,必须搭配 tar( tar -zcvf  → tar.gz)

✅ zip
打包+压缩一体

  • zip test.zip a b c :直接把3个文件放进同一个zip压缩包,只生成1个文件
  • 默认保留原始文件不会删除

2、选项&特点对比如下:

项目 gzip zip
多文件处理: 每个文件单独压缩,多个gz文件 多个文件打包进单个zip包
原文件: 压缩后删掉原文件 默认保留原文件
递归:  -r  gzip -r 目录:目录里面每一个文件分别压缩  zip -r :整个目录打包成一个zip
跨平台: Linux常用,Windows不能直接双击打开 Windows、Linux、银河麒麟通用
配套解压:  gzip -d  / gunzip unzip

3、

题目:目录下3个文件,每个文件单独压缩,目录不打包 → 用 gzip
题目:目录下3个文件打包压缩成一个压缩文件 → 用 zip / tar

4、配套解压

  • gzip解压: gzip -d xxx.gz
  • zip解压: unzip xxx.zip

易混提醒

tar + gzip 组合产物: .tar.gz ,解压用  tar -zxvf ,不是gzip直接解压!

posted @ 2026-10-20 10:56  11樊香玉  阅读(5)  评论(0)    收藏  举报