【Linux】unzip命令,记一次遇到的问题

最近在做BOSS系统云平台部署脚本,联调时发现Shell脚本中存在问题,下方记录

 

某个地方提示是否覆盖

[root@haiwai test]# unzip /home/redis/test/main-d-1544-160316.zip -d /home/redis/test/stariboss
Archive:  /home/redis/test/main-d-1544-160316.zip
replace /home/redis/test/stariboss/DBPasswordEncryption.bat? [y]es, [n]o, [A]ll, [N]one, [r]ename: 
 
查询了 UNZIP命令,通过-o 解决了这个问题 ,-o  使解压时不必先询问用户,unzip执行后覆盖原有文件。

unzip -o /home/redis/test/main-d-1544-160316.zip -d /home/redis/test/stariboss一ou

 
意识到,shell脚本时要注意异常问题,因为执行过程中可能会调适脚本,这样某些异常文件还存在, 编写时需要处理, 例如解压缩时使用-o 处理,或者脚步中提前使用rm将一些临时文件删除掉,避免因为脚本错误,没有删除,后续又因为这些异常文件或者数据导致其他问题
 
 
 
UNZIP 指令总结

命令名: unzip

功 能说明:解压缩zip文 件

语  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密 码>][.zip文 件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]

补充说明:unzip为.zip压缩文件的解压缩程序。

参  数:

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

-f   更 新现有的文件。

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

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

-t   检 查压缩文件是否正确。,但不解压。

-u   与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中 的其他文件解压缩到目录中。

-v   执 行是时显示详细的信息。或查看压缩文件目录,但不解压。

-z   仅 显示压缩文件的备注文字。

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

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

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

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

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

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

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

-o   不 必先询问用户,unzip执 行后覆盖原有文件。

-P<密码>   使 用zip的密码选项。

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

-s   将 文件名中的空白字符转换为底线字符。

-V   保 留VMS的文件版本信 息。

-X   解 压缩时同时回存文件原来的UID/GID。

[.zip文件]   指定.zip压缩文件。

[文件]   指定 要处理.zip压缩文 件中的哪些文件。

-d<目录>   指 定文件解压缩后所要存储的目录。

-x<文件>   指 定不要处理.zip压 缩文件中的哪些文件。

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

 

 

命令名: zip

 

功能说明:压缩文件。

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

补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".zip"扩展名 的压缩文件。

参  数:

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

-b<工作目录>   指 定暂时存放文件的目录。

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

-d   从 压缩文件内删除指定的文件。

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

-f   此 参数的效果和指定"-u"参 数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。

-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   更 换较新的文件到压缩文件内。

-v   显 示指令执行过程或显示版本信息。

-V   保 存VMS操作系统的文 件属性。

-w   在 文件名称里假如版本编号,本参数仅在VMS操 作系统下有效。

-x<范本样式>   压 缩时排除符合条件的文件。

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

-y   直 接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之 类的系统下有效。

-z   替 压缩文件加上注释。

-$   保 存第一个被压缩文件所在磁盘的卷册名称。

 

posted @ 2016-04-25 22:50  不及格的飞鱼  阅读(17107)  评论(1编辑  收藏  举报