压缩文件——zip

目录

安装

zip

unzip

参数

zip

unzip

示例

场景一

场景二

参考


需要对一些文件进行加密打包压缩,提高数据安全和方便数据传输。

安装

apt-get安装:

apt-get install zip

yum安装:

yum install -y unzip zip

语法

zip

zip [-shortopts ...] [--longopt ...] [zipfile [path path ...]] [-xi list]

unzip

unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]

参数

zip

选项说明
-A调整可执行的自动解压缩文件。
-b<工作目录> 指定暂时存放文件的目录。
-c替每个被压缩的文件加上注释。
-d从压缩文件内删除指定的文件。
-D压缩文件内不建立目录名称。
-f更新现有的文件。
-F尝试修复已损坏的压缩文件。
-g将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h在线帮助。
-h2详细的帮助文档
-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的数值。

unzip

选项说明
-Z等于执行 zipinfo(1) 命令,用于查看 zip 文件的整体信息
-q不显示执行过程
-f更新压缩包的文件
-l显示压缩文件内的文件
-v执行时显示详细的信息
-o不询问用户,覆盖原有文件
-d指定文件解压缩后所要存储的目录

未列举完。

示例

场景一

递归压缩/83To82/Yang/data/Rs_Platform_code路径下,名为sentinel-2L1c文件夹及其包含的所有文件和文件夹,压缩文件保存/83To82/Sentinel2目录下,压缩文件路径为/83To82/Sentinel2/Rs_Platform_code.zip,解压目录为/83To82/all_data/YingXiang解压后的文件夹路径为/83To82/Sentinel2/Rs_Platform_code

# 压缩

# 分步执行
cd /83To82/Yang/data
zip -r /83To82/Sentinel2/Rs_Platform_code.zip ./Rs_Platform_code -i './**/sentinel-2L1c'

# 一步到位
cd /83To82/Yang/data && zip -r /83To82/Sentinel2/Rs_Platform_code.zip ./Rs_Platform_code -i './**/sentinel-2L1c'

# 解压
unzip /83To82/Sentinel2/Rs_Platform_code.zip -d /83To82/all_data/YingXiang

内部zip支持以下通配符:

  • ? :(或%或#,取决于操作系统)匹配任何单个字符
  • *  :匹配任意数量的字符,包括零
  • [list] :匹配列表中的字符(regex),可以执行范围[ac-f],除[!bf]外的所有字符

如果端口支持[],则必须将[]转义为[[]或使用-nw关闭通配符,对于扩展通配符的shell,请转义(\*或“*”),以便zip可以递归

zip zipfile -r-i "*.h"

注意

  • 通常*在路径中跨越目录边界,例如“a*b”可以匹配“ac/db”。如果使用-ws选项,*不跨越目录边界,但**跨越。
  • 对于DOS和Windows,[list]现在被禁用,除非新选项-RE启用[list](正则表达式)匹配,用于避免包含“[”和“]”的文件路径出现问题。

场景二

加密压缩/83To82/Yang/data/Rs_Platform_code目录,压缩文件为/83To82/Sentinel2/Rs_Platform_code.zip。并对其进行解压。

压缩方法:

## 加密压缩方法一 
cd /83To82/Yang/data && zip -re Rs_Platform_code.zip ./Rs_Platform_code
## 加密压缩方法二 password是密码
cd /83To82/Yang/data && zip -rP passwork Rs_Platform_code.zip ./Rs_Platform_code

解压方法:

## 有密码提示:输入密码,方法一
unzip Rs_Platform_code.zip
## 没有密码提示,方法二
unzip -P password Rs_Platform_code.zip

参考

Linux zip命令

Linux系统安装zip命令

zip命令详解 - 运维术 (cnbugs.com)

(105条消息) linux中zip加密压缩_linux zip加密_,倦。的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值