zip命令的常用选项

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 大家都知道,在linux上一切皆文件,在实际生产环境中,如果我们需要部署一些系统的服务,我们会将一些软件包提前下载下来统一放到一个文件夹中,

然后将部署的过程用shell或者python写成一个脚本,当我们在一个裸机上部署一个服务的时候,就只需要执行脚本,然后你去喝上一杯咖啡,回来的时候服

务就已经部署好了。哈哈~以上的都不是重点,重点是存放脚本和软胶包的目录,那么如何把这个目录下载下来呢?你可能会用tar,zip等工具去操作,我工作

中常用的是tar,来让我们一起学习一下zip的使用方法吧~

语法:zip [参数] [打包后的文件名] [打包的目录路径]

1.参数:-r ,将指定的目录下的所有子目录以及文件一起处理

[root@yinzhengjie yinzhengjie]# zip -r tools.zip tools > zip.log

在这里插入图片描述

2.参数:-q,安静模式,在压缩的时候不显示指令的执行过程

[root@yinzhengjie yinzhengjie]# zip -q -r tools01.zip tools

在这里插入图片描述

3.参数:-P,加密压缩,解压的时候会询问密码

在这里插入图片描述

好了,偷偷告诉你,我常用的就这3种,其他的选项还有很多,我就不一一例举啦~我百度了一些中文的资料,关于zip参数的说明,如果您觉得有所不妥,建议用([root@yinzhengjie yinzhengjie]# zip -h2)用这个命令就查看帮助,我偷偷的秒了一眼,发现这个命令的功能不仅仅我列出来的这么点有兴趣的朋友可以研究一下的哟

常用参数:

-r 递归,将指定目录下的所有文件和子目录一并处理

-S 包含系统和隐藏文件

-y 直接保存符号连接,而非该连接所指向的文件

-X 不保存额外的文件属性

-m 将文件压缩并加入压缩文件后,删除源文件

-<压缩级别> 1~9,数字越大,压缩率越高

-F 尝试修复已损坏的压缩文件

-T 检查备份文件内的每个文件是否正确无误

-q 不显示指令执行过程

-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件

-u 更新压缩包内文件

-f 更新压缩包内文件。如果符合条件的文件没有包含在压缩包中,则压缩后添加

-$ 保存第一个被压缩文件所在磁盘的卷标

-j 只保存文件名称及其内容

-D 压缩文件内不建立目录名称

-i <表达式> 压缩目录时,只压缩符合条件的文件

-x <表达式> 排除符合条件的文件

-n <文件名后缀> 排除指定文件名后缀的文件

-b <缓存路径> 指定临时文件目录

-d <表达式> 从压缩文件内删除指定的文件

-t <日期时间> 把压缩文件的日期设成指定的日期

-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同

-A 调整可执行的自动解压缩文件

-c 替每个被压缩的文件加上注释

-z 替压缩文件加上注释

-k 使用MS-DOS兼容格式的文件名称。

-l 压缩文件时,把LF字符置换成LF+CR字符。

-ll 压缩文件时,把LF+CR字符置换成LF字符。

上面我门学习了zip的用法,那么怎么知道我们是否真的就压缩成功了呀?我们需要一个命令查看:unzip

语法:unzip [参数] <压缩文件> [压缩包中将被释放的文件]

1.参数:-d,解压到制定的目录,该目录可以是不存在的哟

[root@yinzhengjie yinzhengjie]# unzip -q -n tools -d zip
在这里插入图片描述

检查类容是否一致:

在这里插入图片描述

2.参数:-P,后面需要跟着你之前加密的密码,其实这个参数也没有卵用。我测试了换一下别的密码也是可以解开的。
在这里插入图片描述

关于unzip的参数:

-P <密码> zip压缩包的密码

-d <路径> 指定解压路径

-n 解压缩时不覆盖原有文件

-f 覆盖原有文件

-o 不经询问,直接覆盖原有文件

-u 覆盖原有文件,并将压缩文件中的其他文件解压缩到目录中

-l 显示压缩文件内所包含的文件

-t 检查压缩文件是否正确

-z 显示压缩包注释

-Z unzip -Z等于执行zipinfo指令

-j 不处理压缩文件中原有的目录路径

-C 压缩文件中的文件名称区分大小写

-L 将压缩文件中的全部文件名改为小写

-s 将文件名中的空格转换下划线

-X 解压缩时保留文件原来的UID/GID

-q 执行时不显示任何信息

-v 执行是时显示详细的信息

-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换

-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换

-a 对文本文件进行必要的字符转换

-b 不要对文本文件进行字符转换

-x <表达式> 处理里排除压缩包中的指定文件

-M 将输出结果送到more程序处理

当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。 欢迎加入 基础架构自动化运维:598432640,大数据SRE进阶之路:959042252

猜你喜欢

转载自blog.csdn.net/qq_34322008/article/details/90021259