> For the complete documentation index, see [llms.txt](https://slackwarecn.gitbook.io/slackbook_cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://slackwarecn.gitbook.io/slackbook_cn/chapter_04/archive_and_compression/zip_and_unzip.md).

# zip、unzip

你应该对 `.zip` 文件非常熟悉了。这是含有其他文件或目录的压缩文件。虽然在 Linux 世界中我们通常不使用 zip 文件，但它们在其他系统里广为使用，所有我们时不时会有处理它的需要。

要创建一个 zip 文件，你需要（废话）使用 `zip(1)` 命令。你能用 `zip` 压缩文件、目录、或文件和目录。你需要使用 `-r` 参数来递归处理目录。

```
darkstar:~$ zip -r /tmp/home.zip /home
darkstar:~$ zip /tmp/large_file.zip /tmp/large_file
```

参数的顺序非常重要。第一个文件名必须是要创建的 zip 文件（如果没有 `.zip` 扩展名，`zip` 会自动加上），另外的是待压缩的文件。

自然，`unzip(1)` 是解压 zip 文件的工具。

```
darkstar:~$ unzip /tmp/home.zip
```
