Linux zip、unzip 压缩和解压

发布于:2025-05-18 ⋅ 阅读:(22) ⋅ 点赞:(0)

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
└── temp

4 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.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2025-05-17 08:25   folder1/
        0  2025-05-17 08:22   folder1/main1.c
        0  2025-05-17 07:51   folder1/folder111/
        0  2025-05-17 07:51   folder1/folder111/file1.txt
        0  2025-05-17 08:24   folder2/
        0  2025-05-17 07:52   folder2/file2_2.txt
        0  2025-05-17 07:52   folder2/file2_3.txt
        0  2025-05-17 07:52   folder2/file2_1.txt
        0  2025-05-17 07:54   root.txt
---------                     -------
        0                     9 files

解压

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

unzip newAdd.zip -d temp

本例的运行结果,

Archive:  newAdd.zip
   creating: 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.txt

3 directories, 6 files

网站公告

今日签到

点亮在社区的每一天
去签到