Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【备忘清单】 请求: zip #319

Open
3 tasks
xtufw opened this issue Mar 2, 2023 · 4 comments
Open
3 tasks

【备忘清单】 请求: zip #319

xtufw opened this issue Mar 2, 2023 · 4 comments

Comments

@xtufw
Copy link

xtufw commented Mar 2, 2023

🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
注意:请求太多,参考【优先级】快速添加内容
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧

优先级

  • 提交 PR 优先合并(优先处理)
  • 提供可复制的[中文/英文]备忘清单资料,优先添加
  • 大众化的内容(java/python),优先搬运(小众内容请提供资料)

说明项目

zip 命令使用技巧

【请您在这里介绍一下工具或者语言,这很重要】

linux 命令

zip 备忘清单

这是 zip 常用命令的快速参考备忘单。

入门

介绍

在Linux平台上,zip 命令用于压缩文件。zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip。

语法

zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]

选项

:- -
-A 调整可执行的自动解压缩文件。
-b <工作目录> 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 更新现有的文件。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h 在线帮助。
-i <范本样式> 只压缩符合条件的文件。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-J 删除压缩文件前面不必要的数据。
-k 使用MS-DOS兼容格式的文件名称。
-l 压缩文件时,把LF字符置换成LF+CR字符。
-ll 压缩文件时,把LF+CR字符置换成LF字符。
-L 显示版权信息。
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n <字尾字符串> 不压缩具有特定字尾字符串的文件。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-S 包含系统和隐藏文件。
-t <日期时间> 把压缩文件的日期设成指定的日期。
-T 检查备份文件内的每个文件是否正确无误。
-u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 显示指令执行过程或显示版本信息。
-V 保存VMS操作系统的文件属性。
-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x <范本样式> 压缩时排除符合条件的文件。
-X 不保存额外的文件属性。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
-z 替压缩文件加上注释。
-$ 保存第一个被压缩文件所在磁盘的卷册名称。
-<压缩效率> 压缩效率是一个介于1-9的数值。

创建一个 zip 格式的压缩文件

在当前工作目录的 /home/cyberpunk/testdir 目录下创建一个名为 archive.zipzip 压缩文件:

将 /home/cyberpunk/testdir 这个目录下所有文件和文件夹打包为当前目录下的 archive.

zip -q -r archive.zip /home/cyberpunk/testdir

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

zip -q -r archive.zip *

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

zip -dv archive.zip a.c

本例中使用的选项有:
:- | -
:- | -
-r | 递归处理,将指定目录下的所有文件和子目录一并处理。
-q | 不显示指令执行过程。
-v | 显示指令执行过程或显示版本信息。
-d | 从压缩文件内删除指定的文件。

创建压缩后的 tar.gz 存档文件

要创建一个压缩的 gzip 归档文件,我们需要使用选项 z

tar cvzf compressedArchive.tar.gz /home/cyberpunk/testdir

/home/cyberpunk/testdir/
/home/cyberpunk/testdir/file1.txt
/home/cyberpunk/testdir/file2.jpg
/home/cyberpunk/testdir/file3.png

本例中使用的选项有:
:- | -
:- | -
-c | 建立新的备份文件
-v | 显示指令执行过程
-f | 指定归档文件的文件名
-z | 通过 gzip 指令处理备份文件

压缩效率测下及选择

选项 -0 store only, -9 compress better, 默认是使用-6进行压缩, 以一个17G的目录testdir为例:

zip -6(default) 耗时 8m46,压缩后包大小 4.4G, 解压此包耗时 2m6.249s

zip -9 耗时 20m16.389s,压缩后包大小 4.3G, 解压此包耗时 1m56.446s

zip -1 耗时 4m23.021s,压缩后包大小 4.6G, 解压此包耗时 1m55.138s

zip -0 耗时 1m9.021s,压缩后包大小 17G, 解压此包耗时 1m44.762s

结论:使用 -1 时压缩效率和时间是比较好的选择。

提供参考资料地址

提供更多参考资料有助于我们整理成备忘清单(速查表)

⚠️ 注意: 随着内容越来越多,可能甚至找不到这个工具或者语言的官网,请您在这里提供以便大家共同参与贡献内容

@jaywcjlove
Copy link
Owner

@xtufw 要添加什么命令 zip/unzip 俩命令?

@jaywcjlove jaywcjlove changed the title 【备忘清单】 请求: 【备忘清单】 请求: zip/unzip Mar 2, 2023
@xtufw
Copy link
Author

xtufw commented Mar 2, 2023

重新提交了, 添加 linux zip 命令

@xtufw xtufw changed the title 【备忘清单】 请求: zip/unzip 【备忘清单】 请求: zip Mar 2, 2023
jaywcjlove added a commit that referenced this issue Mar 8, 2023
@jaywcjlove
Copy link
Owner

@xtufw 已经添加,欢迎 PR 补充

github-actions bot pushed a commit that referenced this issue Mar 8, 2023
jaywcjlove added a commit that referenced this issue Mar 8, 2023
github-actions bot pushed a commit that referenced this issue Mar 8, 2023
@jaywcjlove
Copy link
Owner

ziptar 是两种不同的压缩格式,zip 是一种基于文件的压缩格式,而 tar 是一种基于存档的格式

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants