如何在Linux命令行中使用zip与unzip?

是的,就是这样。
在Linux上,zip和unzip是强大的压缩和解压工具。

压缩命令:
压缩文件:zip zipfile.zip file.txt,文件变成zip。

压缩多个文件:zip archive.zip file1 .txt file2 .jpg script.sh,多个文件打包。

递归压缩目录:zip -r backup.zip /path/to/folder,包括子目录。

排除文件:zip -r project.zip /project -x ".log",排除.log文件。

加密压缩:zip -r -e secure.zip /confidential/,已加密,需要密码才能解压。

解压命令:
解压到当前目录:unzip archive.zip。

解压到指定目录:unzip archive.zip -d /target/directory。

显示内容:unzip -l archive.zip。

静默解压:unzip -q archive.zip。

自动覆盖:unzip -o archive.zip。

常见问题解答:
安装:对于 Ubuntu/Debian 使用 sudo apt install zip unzip,对于 CentOS/RHEL 使用 sudo yum install zip unzip 或 sudo dnf install zip unzip。

选项概述:-r 递归、-x 排除、-e 加密、-d 目录、-o 覆盖、-q 静默。

注意事项:
路径一定要精确,不能有错误。

解压目录必须存在。

请勿丢失加密密码,丢失后您将无法理解。

一旦掌握了这些,压缩和解压就可以轻松完成。
亲自检查一下。
还有什么不明白的吗?

Linux中zip压缩和unzip解压缩命令详解

2 02 2 年,我会在一个城市做这件事。
我记得是用命令行来压缩/home目录下的mydata目录的,所以我输入了zip -r mydata.zip mydata。
嗯,这是正确的一步。
然后解压到mydatabak目录下,我用的是unzip mydata.zip -d mydatabak。
这也有效。

接下来,我想将 abc 和 1 2 3 .txt 文件夹压缩为 abc1 2 3 .zip,所以我再次输入 zip -r abc1 2 3 .zip abc 1 2 3 .txt。
我这里可能有点困惑,文件夹和文件是压缩在一起的,似乎没有问题。
然后将wwwroot.zip解压到/home目录下,我使用的是unzip wwwroot.zip。
嗯,这也有效。

然后我将 abc1 2 .zip、abc2 3 .zip 和 abc3 4 .zip 解压到 /home 目录中,并按 unzip abc/.zip。
这个命令好像有问题,当时我就很困惑。
也许我太极端了,觉得这是错误的。
直到后来我才意识到我应该使用通配符。

要查看 wwwroot.zip 的内容,我使用了 unzip -v wwwroot.zip。
详细信息可以在这里查看。
为了验证 wwwroot.zip 是否完整,我使用了 unzip -t wwwroot.zip。
这可以检查压缩文件是否有问题。

最后,我想将wwwroot.zip中的所有文件解压到顶级目录中,所以我输入unzip -j wwwroot.zip。
这条命令看起来是在当前目录的第一级解压文件,这是正确的。

至于主要参数,我记得-c、-l、-p、-t、-u、-v、-z、-a、-b、-C、-j、-L、-M、-n、-o、-P、-q、-s、-V、-X。
关于这些参数,我对2 02 2 年的一个城市进行了一些具体的操作,比如使用-c来压缩文件,使用-l来查看文件,使用-t来验证文件完整性。
这些操作的量可能不大,但是每个操作都花费了大量的时间。
从金钱上来说,主要是时间成本,所以花费并不多。