zip

zip

可以用来解压缩文件

补充说明

zip命令 可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。

语法

zip(选项)(参数)
zip [-选项] [-b 路径] [-t 日期] [-n 后缀名] [压缩文件列表] [-xi 列表]

选项

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

参数

  • zip压缩包:指定要创建的zip压缩包;
  • 文件列表:指定要压缩的文件列表。

实例

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

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

上面的命令操作是将绝对地址的文件及文件夹进行压缩,以下给出压缩相对路径目录,比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果:

zip -q -r html.zip html

比如现在我的html目录下,我操作的zip压缩命令是:

zip -q -r html.zip *

压缩 example/basic/ 目录内容到 basic.zip 压缩包中 -x 指定排除目录,注意没有双引号将不起作用。

zip -r basic.zip example/basic/ -x "example/basic/node_modules/*" -x "example/basic/build/*" -x "example/basic/coverage/*"

上面压缩解压出来,内容存放在 example/basic/, 如果想存放到根目录,进入目录进行压缩,目前没有找到一个合适的参数来解决此问题。

cd example/basic/ && zip -r basic.zip . -x "node_modules/*" -x "build/*" -x "coverage/*"

压缩效率选择:

zip -9 # 1-9 faster->better

创建 public_html 目录下忽略所有文件和文件夹,排除包括文本 backup 的所有文件。

$ zip -r public_html.zip public_html -x *backup*

httpdocs 目录忽略 .svn 文件或 git 的文件和目录下创建所有文件的归档。

$ zip -r httpdocs.zip httpdocs --exclude *.svn* --exclude *.git*

httpdocs 目录忽略的所有文件,并与 .log 结尾的目录下创建所有文件的归档。

$ zip -r httpdocs.zip httpdocs --exclude "*.log"

问题解决

CentOS7中命令找不到

-Bash: Unzip: Command Not Found

解决方法

yum install -y unzip zip

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/zip/

(0)
AuroraAurora站点维系者
上一篇 2024年 3月 11日
下一篇 2024年 3月 11日

相关推荐

  • last

    文章目录last补充说明语法选项参数实例 last 列出目前与过去登入系统的用户相关信息 补充说明 last命令 用于显示用户最近登录信息。单独执行last命令,它会读取/var/…

    入门教程 2023年 12月 19日
  • SSH 连接出现 Connection reset by peer 如何解决

    以上错误一般是因为以下原因导致: 服务器改了密码,试过密码多次后出现 服务器安全策略,无法下发ssh-key-id 调试方法一般是 ssh -v root@ip_addr 文章目录…

    2021年 8月 6日
  • ip6tables-save

    文章目录ip6tables-save补充说明语法选项 ip6tables-save 保存ip6tables表配置 补充说明 ip6tables-save命令 将Linux内核中ip…

    入门教程 2023年 12月 19日
  • TCP/IP 介绍

    TCP/IP 是用于因特网 (Internet) 的通信协议。 文章目录计算机通信协议(Computer Communication Protocol)什么是 TCP/IP?在 T…

    2023年 5月 15日
  • C++ 注释

    程序的注释是解释性语句,您可以在 C++ 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。 C++ 支持单行注释和多行注释。注释中的所有字符会被 C++…

    2024年 3月 18日
  • Java Character 类

    Character 类用于对单个字符进行操作。 Character 类在对象中包装一个基本类型 char 的值 文章目录实例实例转义序列实例Test.java 文件代码:Chara…

    入门教程 2023年 3月 4日
  • Git 分支管理

    几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。 使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。 Git 分支实际上是指向更改…

    2024年 4月 30日
  • getsebool

    文章目录getsebool补充说明语法选项实例 getsebool 查询SElinux策略内各项规则的布尔值 补充说明 getsebool命令 是用来查询SElinux策略内各项规…

    入门教程 2023年 12月 14日
  • wall

    文章目录wall补充说明语法参数实例 wall 向系统当前所有打开的终端上输出信息 补充说明 wall命令 用于向系统当前所有打开的终端上输出信息。通过wall命令可将信息发送给每…

    入门教程 2024年 1月 3日
  • dnsdomainname

    文章目录dnsdomainname补充说明语法选项实例 dnsdomainname 定义DNS系统中FQDN名称的域名 补充说明 dnsdomainname命令 用于定义DNS系统…

    入门教程 2023年 12月 7日

发表回复

登录后才能评论
Translate »