Linux 中 zip 和 unzip 命令
Linux 使用文档
收录了这篇文章

基本用法

将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:

zip -q -r html.zip /home/html

如果在我们在 /home/html 目录下,可以执行以下命令:

zip -q -r html.zip *

从压缩文件 cp.zip 中删除文件 a.c

zip -dv cp.zip a.c

加密压缩一个文件

zip -e test.zip test.txt

加密压缩一个文件夹

zip -e -r test_dir.zip test_dir/


zip 命令

在Linux系统中,zip 命令是一个用于压缩文件和目录的工具,它创建的归档文件通常具有.zip扩展名。以下是zip命令的基本用法:


基本语法:

zip [选项] 输出.zip 文件名 输入文件或目录...


常用选项:

-r 或 --recursive:递归处理,将指定目录及其子目录中的所有文件和子目录都添加到压缩包中。

-q 或 --quiet:安静模式,减少输出信息。

-j 或 --junk-paths:压缩时不保存路径名,仅存储文件名。

-0 到 -9:设置压缩级别,其中-0表示无压缩(存储模式),-9表示最大压缩比(耗时较长)。

-a:自动转换文本文件格式(在MS-DOS、Unix等不同平台上兼容)。

-x 或 --exclude:排除特定的文件或模式。


示例:

将当前目录下的所有文件和子目录压缩成一个名为archive.zip的文件:

zip -r archive.zip .

仅压缩指定文件夹mydir到myarchive.zip,并保持目录结构:

zip -r myarchive.zip mydir/

在静默模式下压缩文件,并排除特定文件:

zip -rq archive.zip . -x *.log

这会压缩当前目录下除.log文件以外的所有内容。

以最快的速度压缩单个文件:

zip -0 file.zip file.txt

仅压缩文件名,不包括路径:

zip -j output.zip /path/to/file.txt

要查看更详细的帮助信息,请直接在终端输入:

zip --help


unzip 命令

在Linux系统中,unzip 命令是一个用于解压缩 .zip 格式文件的工具。


基本语法:

unzip [选项] 待解压文件.zip  


常用选项:

-x 或 --exclude: 排除指定的文件或模式不进行解压缩。unzip -x archive.zip file_to_exclude.txt

-d 或 --destination: 指定解压缩后的目录。unzip archive.zip -d /path/to/extract/to/

-l 或 --list: 列出压缩文件内的文件清单,但不解压。unzip -l archive.zip

-t 或 --test: 测试压缩文件内的文件是否损坏,不解压任何文件。unzip -t archive.zip

-q 或 --quiet: 安静模式,不显示任何信息(除了错误信息)。unzip -q archive.zip

-o 或 --overwrite: 覆盖已存在的文件而不提示。unzip -o archive.zip

-j 或 --junk-paths: 解压时不保留原来的路径结构,所有文件都直接解压到当前目录下。unzip -j archive.zip

-n 或 --no-dir-entries: 不创建目录条目,只提取文件到当前目录。unzip -n archive.zip

-p 或 --passphrase: 使用给定的密码解密受密码保护的压缩文件。unzip -P password archive.zip

这些是unzip命令的一些基本和常用选项,根据实际需求可以组合使用。请注意,输入密码时使用-P选项可能会将密码暴露在命令历史记录中,因此在脚本或安全敏感环境中应该避免这种方式,并考虑其他安全的方法来提供密码。


例子:

解压缩一个ZIP文件到当前目录:

unzip filename.zip

解压缩并指定目标目录:

unzip filename.zip -d target_directory/

只列出ZIP文件内的内容而不解压:

unzip -l filename.zip

保留原有目录结构解压:

unzip filename.zip

默认情况下,unzip 就会保持原始文件夹结构。如果ZIP文件内部有子目录,它们会被自动创建并在相应位置解压文件。 

修改时间 2024-02-16

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
CRSF 跨站脚本攻击已死,使用 Same-Site Cookies 来防范 CSRF
medium-zoom,一款 JavaScript 图片缩放库
Express 使用 cors 模块支持跨域
JavaScript 流式传输数据 SSE (Server-Sent Events)
WordPress 语言文件
浏览器的同源和跨域
MySQL 批量修改时间
WordPress 插件开发