当前位置: 首页 > ops >正文

Linux zip、unzip 压缩和解压

zip 命令用于压缩文件,压缩后的文件后缀名为 .zip

对应的解压命令是 unzip

测试用的目录结构如下,

user@zn:~/test$ tree
.
├── folder1
│   ├── folder111
│   │   └── file1.txt
│   └── main1.c
├── folder2
│   ├── file2_1.txt
│   ├── file2_2.txt
│   └── file2_3.txt
├── root.txt
└── temp4 directories, 6 files

zip压缩

压缩文件和目录

zip -r newAdd.zip folder1 folder2 root.txt

把 folder1 folder2 root.txt 压缩成 newAdd.zip 。

folder1 和 folder2 是目录,加 -r 参数会递归压缩该目录及其子目录中的所有文件,并保留目录结构。

这个命令满足大部分使用场景。

压缩文件和目录,排除特定文件

zip -r noc.zip folder1 folder2 root.txt -x “*.c”

-x 用于排除特定文件。

把 folder1 folder2 root.txt 压缩成 noc.zip ,排除后缀是 .c 的文件 。

unzip解压

查看压缩包内容

只查看,不解压

unzip -l newAdd.zip

本例的运行结果

Archive:  newAdd.zipLength      Date    Time    Name
---------  ---------- -----   ----0  2025-05-17 08:25   folder1/0  2025-05-17 08:22   folder1/main1.c0  2025-05-17 07:51   folder1/folder111/0  2025-05-17 07:51   folder1/folder111/file1.txt0  2025-05-17 08:24   folder2/0  2025-05-17 07:52   folder2/file2_2.txt0  2025-05-17 07:52   folder2/file2_3.txt0  2025-05-17 07:52   folder2/file2_1.txt0  2025-05-17 07:54   root.txt
---------                     -------0                     9 files

解压

新建 temp 目录后,解压压缩包到 temp 目录

unzip newAdd.zip -d temp

本例的运行结果,

Archive:  newAdd.zipcreating: temp/folder1/extracting: temp/folder1/main1.c    creating: temp/folder1/folder111/extracting: temp/folder1/folder111/file1.txt  creating: temp/folder2/extracting: temp/folder2/file2_2.txt  extracting: temp/folder2/file2_3.txt  extracting: temp/folder2/file2_1.txt  extracting: temp/root.txt

查看 temp 目录结构,

user@zn:~/test$ tree temp/
temp/
├── folder1
│   ├── folder111
│   │   └── file1.txt
│   └── main1.c
├── folder2
│   ├── file2_1.txt
│   ├── file2_2.txt
│   └── file2_3.txt
└── root.txt3 directories, 6 files
http://www.xdnf.cn/news/6808.html

相关文章:

  • 冒泡排序-java
  • stack和queue简单模拟实现
  • 一个可拖拉实现列表排序的WPF开源控件
  • 使用lvm进行磁盘分区
  • LLVM编译器
  • 安装nerdctl和buildkitd脚本命令
  • Go语言深度解析:发展历程、应用场景与性能对比
  • 【springboot+vue3的前后端分离项目实现支付宝的沙箱支付】
  • 从零开始理解Jetty:轻量级Java服务器的入门指南
  • C++跨平台开发:挑战与应对策略
  • Linux:基础IO
  • EXO分布式部署deepseek r1
  • (面试)TCP、UDP协议
  • 38-日语学习小程序
  • 【滑动窗口】P4085 [USACO17DEC] Haybale Feast G|普及+
  • OpenCV透视变换
  • C++学习:六个月从基础到就业——C++11/14:decltype关键字
  • JavaScript进阶(十)
  • 3D个人简历网站 4.小岛
  • Python爬虫(29)Python爬虫高阶:动态页面处理与云原生部署全链路实践(Selenium、Scrapy、K8s)
  • Adobe Illustrator学习备忘
  • 【论文阅读】A Survey on Multimodal Large Language Models
  • MATLAB中进行深度学习网络训练的模型评估步骤
  • 【第一篇】 创建SpringBoot工程的四种方式
  • python field_validator 获取不到参数问题
  • matlab求矩阵的逆、行列式、秩、转置
  • java中的方法详解
  • QML 属性动画、行为动画与预定义动画
  • Python 中的 typing.ClassVar 详解
  • NAT转换和ICMP