The zipLinux 中的命令是一个实用程序,用于将一组文件打包到 zip 存档中。 zip 命令还可以用于压缩文件,从而减少它们在计算机硬盘上占用的空间。此外,zip命令可用于加密文件,使未经授权的用户更难以访问zip存档的内容。
要解压缩 zip 存档,您可以使用unzip命令。此命令将解压缩 zip 存档中的文件,以便您访问它们。
Zip 命令示例
查看以下 Linux zip 命令的真实示例。
- 压缩目录中的所有文件
此命令将创建 /backup 目录中所有文件的 zip。我不会递归地归档子目录下的文件。
zip backup.zip /backup/*
Output:
adding: backup/anaconda.ifcfg.log (deflated 47%)
adding: backup/anaconda.log (deflated 78%)
adding: backup/anaconda.program.log (deflated 84%)
adding: backup/anaconda.storage.log (deflated 90%)
adding: backup/boot.log (deflated 72%)
adding: backup/dracut.log (deflated 92%)
adding: backup/httpd/ (stored 0%)
adding: backup/kadmind.log (deflated 74%)
adding: backup/krb5kdc.log (deflated 71%)
adding: backup/mysqld.log (deflated 82%)
- 使用通配符压缩文件
使用 Linux 通配符仅归档特定扩展名的文件。就像仅备份目录中的 .log 扩展名文件一样。
zip backup.zip /backup/*.log
Output:
adding: backup/anaconda.ifcfg.log (deflated 47%)
adding: backup/anaconda.log (deflated 78%)
adding: backup/anaconda.program.log (deflated 84%)
adding: backup/anaconda.storage.log (deflated 90%)
adding: backup/boot.log (deflated 72%)
adding: backup/dracut.log (deflated 92%)
adding: backup/kadmind.log (deflated 74%)
adding: backup/krb5kdc.log (deflated 71%)
adding: backup/mysqld.log (deflated 82%)
adding: backup/pm-powersave.log (deflated 15%)
adding: backup/wpa_supplicant.log (stored 0%)
adding: backup/Xorg.0.log (deflated 83%)
adding: backup/Xorg.9.log (deflated 83%)
adding: backup/yum.log (deflated 77%)
- 递归压缩文件
以下命令将递归地创建包含文件、目录及其子目录的存档。它还将目录结构维护为源文件。
zip -r backup.zip /backup
- 创建受密码保护的 zip
有时我们需要创建一个受密码保护的存档。 zip 命令为您提供了创建受密码保护的存档文件的选项。要创建受密码保护的存档,请使用-e选项。这将提示输入密码并确认密码。
zip -e backup.zip /backup/*.log
Output:
Enter password:
Verify password:
adding: backup/anaconda.ifcfg.log (deflated 47%)
adding: backup/anaconda.log (deflated 78%)
adding: backup/anaconda.program.log (deflated 84%)
adding: backup/anaconda.storage.log (deflated 90%)
- 具有压缩级别的 Zip
您还可以使用 zip 命令定义压缩级别。有 10 个压缩级别,范围从 0 到 9。
-
-6 用作默认压缩级别。
-
-0 用于最低级别的压缩。
-
-9 用于最高级别的压缩
zip -9 high-compressed-file.zip /backup/*
zip -0 lowest-compressed-file.zip /backup/*
检查压缩文件之间的差异
ls -lh lowest-compressed-file.zip high-compressed-file.zip
Output:
-rw-r--r--. 1 root root 50K Apr 11 14:14 high-compressed-file.zip
-rw-r--r--. 1 root root 447K Apr 11 14:14 lowest-compressed-file.zip
您可以看到两个文件大小之间的差异。
列出 zip 文件的内容
Using -l
使用 unzip 命令切换以仅列出 zip 存档内的文件而不解压缩它。
unzip -l backup.zip
Output:
Archive: backup.zip
Length Date Time Name
--------- ---------- ----- ----
140 04-11-2013 14:07 backup/anaconda.ifcfg.log
11153 04-11-2013 14:07 backup/anaconda.log
15446 04-11-2013 14:07 backup/anaconda.program.log
136167 04-11-2013 14:07 backup/anaconda.storage.log
2722 04-11-2013 14:07 backup/boot.log
211614 04-11-2013 14:07 backup/dracut.log
0 04-11-2013 14:08 backup/httpd/
1382 04-11-2013 14:07 backup/kadmind.log
1248 04-11-2013 14:07 backup/krb5kdc.log
6485 04-11-2013 14:07 backup/mysqld.log
87 04-11-2013 14:07 backup/pm-powersave.log
0 04-11-2013 14:07 backup/wpa_supplicant.log
30186 04-11-2013 14:07 backup/Xorg.0.log
31094 04-11-2013 14:07 backup/Xorg.9.log
6739 04-11-2013 14:07 backup/yum.log
--------- -------
454463 15 files
提取 zip 文件。
The unzip命令用于提取 zip 文件。使用以下命令简单地提取 zip 文件。
unzip backup.zip
检查存档文件
Use -t检查和归档文件。该选项提取内存中的每个指定文件并比较CRC(循环冗余校验,增强型校验和)。
unzip -t backup.zip
Output:
Archive: backup-11Apr2013.zip
testing: backup/anaconda.ifcfg.log OK
testing: backup/anaconda.log OK
testing: backup/anaconda.program.log OK
testing: backup/anaconda.storage.log OK
testing: backup/boot.log OK
testing: backup/dracut.log OK
testing: backup/httpd/ OK
testing: backup/kadmind.log OK
testing: backup/krb5kdc.log OK
testing: backup/mysqld.log OK
testing: backup/pm-powersave.log OK
testing: backup/wpa_supplicant.log OK
testing: backup/Xorg.0.log OK
testing: backup/Xorg.9.log OK
testing: backup/yum.log OK
No errors detected in compressed data of backup.zip.
Wrap Up
我们向您展示了如何使用终端在 Linux 中压缩文件。这是一项方便的技能,当您需要向某人发送压缩文件或节省计算机上的存储空间时,它可以派上用场。此外,解压缩存档很容易,我们将向您展示如何快速轻松地完成此操作。