Command Line - ZIP
一. 认识 zip
可以通过 man zip
获得 zip 命令的 man 页,zip
命令可以用来压缩打包文件,压缩文件以 .zip
结尾
man zip
二.zip 使用参数说明
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
参数 | 说明 |
---|---|
-f | 以新文件取代压缩包中的文件 |
-u | 只更新改变过的文件和新文件 |
-d | 从一个 .zip 包中移出一个文件 |
-m | 将特定文件移入 zip 压缩包中,并且删除特定文件。 |
-r | 递归式压缩包含其子目录 |
-j | 只储存文件名,不含目录下的文件 |
-z | 为 zip 压缩包添加注解 |
-0 | 不进行压缩,仅仅存储文件 |
-1 | 最快压缩,压缩率最差 |
-9 | 最慢压缩, |
-q | 安静模式,不会显示任何提示和信息 |
-v | 显示版本的咨询或详细信息 |
-c | 替新增或更新的文件添加一行注释 |
-z | 为压缩包添加注解 |
-@ | 从标准输入读取文件名称 |
-o | 将压缩包的时间设成最后修正 zip 文件的时间 |
-x | 不需要压缩的文件 <FileName> |
-i | 指定要含入的某些特定文件 |
-F | 修复已经损毁的压缩文件 |
-D | 不要在压缩文件中储存文件目录信息 |
-A | 调整可执行的自动解压缩文件 |
-J | 删除压缩文件前面不必要的数 |
-T | 检查备份文件内的每个文件是否正确无误 |
-X | 不保存额外的文件属性 |
-y | 直接保存符号连接,而非该连接所指向的文件(本参数仅在UNIX 之类的系统下有效) |
-e | 对压缩文件进行加密 |
-n | 不压缩特定扩展名的文件 |
-h2 | 显示更多的帮助信息 |
三.zip 实例使用
1.压缩当前目录文件
格式:zip -r <压缩包名称> ./*
例如
zip -r test1.zip ./*
将当前目录下的所有文件和文件夹全部压缩成 test1.zip
文件, -r
表示递归压缩子目录下所有文件
2.压缩目录文件
格式:zip -r <压缩包名称> 待压缩目录/*
实例
zip test2.zip test/*
3.删除压缩包中指定文件
格式:zip -d <压缩包名称> <压缩包待删除文件名列表>
实例
zip -d test.zip test/zip_test.txt
4.添加指定文件到压缩包
格式:zip -m <压缩包名称> <压缩包待添加文件名列表>
实例
zip -m test.zip test.txt
添加成功
Command Line - UNZIP
一. 认识 unzip
可以通过 man unzip
获得 unzip
命令的 man 页,unzip
命令可以用来列出、测试、提取 zip 文件中的 压缩文件
man unzip
二.unzip 使用参数说明
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
参数 | 说明 |
---|---|
-p | 与 -c 选项类似会将解压缩的结果显示到屏幕上但不会执行任何的转换 |
-l | 显示压缩文件内所包含的文件 |
-f | 更新现有文件 |
-t | 检查压缩文件是否正确但不解压 |
-u | 与 -f 选项类似但是除了更新现有的文件外也会将压缩文件中的其他文件解压缩到目录中 |
-z | 仅显示压缩文件的备注文字 |
-v | 执行时显示详细的信息或查看压缩文件目录但不解压 |
-T | 将解压文件时间更新到最新修改时间 |
-x | 文件列表解压缩文件,但不包括指定的 file 文件。 |
-d | 目录,把压缩文件解到指定目录下 |
-n | 解压缩时不要覆盖原有的文件 |
-q | 执行时不显示任何信息 |
-o | 不必先询问用户 unzip 执行后是否覆盖原有文件而进行直接覆盖 |
-a | 对文本文件进行必要的字符转换 |
-j | 不处理压缩文件中原有的目录路径 |
-U | 对所有非 ASCII Unicode 进行转义 |
-C | 压缩文件中的文件名称区分大小写 |
-L | 将压缩文件中的全部文件名改为小写 |
-X | 解压缩时同时保持文件原来的 UID/GID |
-V | 保留 VMS 的文件版本信息 |
-M | 将输出结果送到 more 程序处理 |
三.unzip 应用实例
1.将压缩文件解压缩至当前目录下
如果当前目录存在同名文件会进行询问 是否替换?
格式:unzip
unzip test1.zip
2.解压缩时不覆盖原有文件
格式:unzip -n
unzip -n test1.zip
3.解压缩时覆盖原有文件
格式:unzip -o
unzip -o test1.zip
4.将压缩文件解压缩至指定目录下
格式:unzip -n
unzip -n test.zip -d /home/trsky/test1
5.不解压的情况下查看压缩包文件目录
格式:unzip -v
unzip -v test.zip
zip&unzip 更高级的用法
1.将一个文件 file.txt
和一个目录 directory
压缩成 package.zip
压缩包
zip -r package.zip file.txt directory
2.当前目录下有压缩包 package1.zip
、package2.zip
、package3.zip
、package?.zip
,并一起解压它们
unzip package?.zip
3.当前目录下有文件夹 filepkg1
、filepkg2
、filepkg3
、、、filepkg?
,并打算一起压缩它们到同一个压缩包 package.zip
zip package.zip filepkg?
实例
Note: ?
表示一个字符,如果用 *
则表示任意多个字符。
4.判断压缩文件 package.zip
是否完全
unzip -t package.zip
5.将压缩包 package.zip
目录文件都解压到第一级文件而不是层级建立目录
unzip -j package.zip