Merge pull request #28645 from wxy/20230117.0-️-Learn-zip-Command-in-Linux-Using-Examples

RP:published/20230117.0 ️ Learn zip Command in Linux Using Examples.md
This commit is contained in:
Xingyu.Wang 2023-02-14 14:57:31 +08:00 committed by GitHub
commit 82d06b1879
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,50 +3,52 @@
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: "Chao-zhi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15539-1.html"
通过实例学习Linux中的zip命令
zip 命令的解释与示例
======
**这里是关于理解 Linux 中的 zip 命令的初学者指南,并附有一些例子。**
> 这是一份关于理解 Linux 中的 zip 命令的初学者指南,并附有一些例子。
![][1]
这篇文章是 [Linux 命令][4]学习系列的一部分。
zip 文件是一个包含一个或多个文件的压缩档案。它作为一种无损数据压缩技术被广泛使用。由于压缩,它占用的磁盘空间更少,在计算机网络上传输时需要的数据也更少。
这些压缩文件可以在 Linux、Windows 和 macOS 中轻松提取。有各种支持压缩文件的软件,也提供提取它们的功能。
这些压缩文件可以在 Linux、Windows 和 macOS 中轻松提取。有各种支持压缩 zip 文件的软件,也提供提取它们的功能。
由于它很流行,几乎所有的操作系统都内置了这个功能。
在本教程中,我们将谈论几种基于终端的方法来压缩 Linux 中的文件。
### Linux 中的 Zip 命令,例子:
### Linux 中的 Zip 命令示例
#### 语法
在 Linux 中,你需要使用的压缩文件的程序名称是`zip`。下面是基本的语法。
在 Linux 中,你需要使用的压缩文件的程序名称是 `zip`。下面是基本的语法:
``` sh
```
zip [压缩文件名] file1 file2 file3
```
这里是官方的语法。
以下是正式的语法:
``` sh
```
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
```
理想情况下,zip 命令应该被安装在所有主要的 Linux 发行版中。如果没有,使用下面的命令来安装它。
理想情况下,`zip` 命令应该被安装在所有主流的 Linux 发行版中。如果没有,使用下面的命令来安装它。
#### 在 Debian, Ubuntu and 相关发行版上安装
#### 在 Debian、Ubuntu 和相关发行版上安装
```
sudo apt install zip
```
#### 在 Fedora, 基于 RHEL 的系统上安装
#### 在 Fedora基于 RHEL 的系统上安装
```
sudo dnf install zip
@ -58,17 +60,17 @@ sudo dnf install zip
pacman -S zip
```
让我们继续看一些例子
让我们继续看一些例子
#### 如何压缩文件和文件夹
我的测试目录中有以下三个文件。它们是 file1.txt、file2.txt 和 file3.txt。如果我想用 zip 压缩三个文件,并创建一个 myfiles.zip 的压缩包,用下面的命令就可以了。
我的测试目录中有以下三个文件。它们是 `file1.txt``file2.txt``file3.txt`。如果我想用 zip 压缩三个文件,并创建一个 `myfiles.zip` 的压缩包,用下面的命令就可以了。
```
zip myfiles.zip file1.txt file2.txt file3.mp3
```
输出
输出
```
adding: file1.txt (stored 0%)
@ -81,12 +83,12 @@ adding: file3.mp3 (deflated 13%)
这里你应该记住几个要点。
- 当创建一个 zip 文件时,你应该有对当前目录的修改权限。
- zip 文件格式不包含权限即读42和执行1。所以创建该文件的用户成为该文件的所有者。
- 如果你想使用有权限的 zip可以尝试使用 `tar` 命令(将在后面的教程中解释)。
- zip 文件格式不包含权限即读42和执行1。所以创建该文件的用户成为该文件的所有者。
- 如果你想使用有权限的 zip可以尝试使用 `tar` 命令(将在后面的教程中解释)。
- 在上面的输出中,`zip` 命令显示了被添加到存档中的文件名和压缩方法。
- 在目标文件名中指定 .zip 文件名的扩展名并不是必须的。如果你省略了 .zip`zip` 会在最后加上 .zip。
当你有成百上千的文件在运行时,可以在终端中减少输出。你可以使用 `-q` 参数来抑制 `zip` 命令中的输出。
当你操作成百上千的文件时,为了减少终端中的输出,你可以使用 `-q` 参数来抑制 `zip` 命令中的输出:
```
zip -q myfiles.zip file1.txt file2.txt file3.txt
@ -96,13 +98,13 @@ zip -q myfiles.zip file1.txt file2.txt file3.txt
`zip` 命令的 `-r` 选项使你能够囊括所有子目录。这个选项会递归地遍历到一个目录结构的最后一个子目录,并将它们全部加入到压缩文件中。
下面的命令创建了一个包含 my_folder 内所有内容和子目录的压缩文件。
下面的命令创建了一个包含 `my_folder` 内所有内容和子目录的压缩文件:
```
zip -r myfolder.zip my_folder
```
你也可以使用通配符(*)在你的压缩文件中包含特定类型的文件
你也可以使用通配符(`*`)在你的压缩文件中包含特定类型的文件
```
zip -0 my_movies.zip *.mp4
@ -118,9 +120,9 @@ zip -r myfiles.zip file1.txt file2.txt file3.txt my_folder1 my_folder2
### 压缩算法
zip 压缩的默认输出包含两个不同的词,即 deflate 和 store。zip 默认使用的压缩方法是 deflate。如果它成功地压缩了文件那么输出显示 deflate。而当它不能压缩一个文件时它只是将它们原封不动地存储在 .zip 文件中。这些文件的输出显示为 store。
zip 压缩的默认输出包含两个不同的词,即 `deflate``store`。zip 默认使用的压缩方法是 `deflate`。如果它成功地压缩了文件,那么输出显示 `deflate`。而当它不能压缩一个文件时,它只是将它们原封不动地存储在 .zip 文件中。这些文件的输出显示为 `store`
目前有许多压缩算法。其中一种是 bzip2 压缩法,它在 Linux 中被 `zip` 命令所支持。你可以指定压缩算法作为一个命令选项来使用。使用选项 `-Z`,后面跟上算法名称,如下所示
目前有许多压缩算法。其中一种是 bzip2 压缩法,在 Linux 中的 `zip` 命令支持它。你可以指定压缩算法作为一个命令选项来使用。使用选项 `-Z`,后面跟上算法名称,如下所示
```
zip -r -Z bzip2 myfolder.zip my_folder
@ -138,7 +140,7 @@ zip -9 -r myfolder.zip my_folder
#### 用密码保护一个压缩文件
你也可以用下面的 `-e` 选项对压缩文件进行密码保护
你也可以用下面的 `-e` 选项对压缩文件进行密码保护
```
zip -e -r myfolder.zip my_folder
@ -146,7 +148,7 @@ zip -e -r myfolder.zip my_folder
运行该命令后,它将要求输入密码。
> 注意。尽量不要使用 zip 命令来对压缩文件进行密码保护。zip 的加密算法是使用流密的 PKZIP。而它很容易被破解。如果你想保护你的文件请使用 7-Zip 或其他高级工具。
> 注意。尽量不要使用 zip 命令来对压缩文件进行密码保护。zip 的加密算法是使用流式加密的 PKZIP。而它很容易被破解。如果你想保护你的文件请使用 7-Zip 或其他高级工具。
#### 分割较大的压缩文件
@ -160,9 +162,8 @@ zip -s 1g -r myfolder.zip my_folder
你学到了一些 `zip` 命令的基本知识。它对大多数本地情况很有用,在这些情况下,你需要通过即时压缩来进行快速备份。然而,对于更高级的选项,你应该使用 7-Zip 或其他命令,我将在接下来的几篇文章中分享。
同时,你可以在 [zip 手册][3]中了解更多。
同时,你可以在 [zip 手册][3] 中了解更多。
_这篇文章是 [Linux 命令][4]学习系列的一部分。_
--------------------------------------------------------------------------------
@ -171,7 +172,7 @@ via: https://www.debugpoint.com/zip-command-linux-examples/
作者:[Arindam][a]
选题:[lkxed][b]
译者:[Chao-zhi](https://github.com/Chao-zhi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出