zip 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

zip 命令安装:


-bash: zip: command not found

#Debian
apt-get install zip

#Ubuntu
apt-get install zip

#Alpine
apk add zip

#Arch Linux
pacman -S zip

#Kali Linux
apt-get install zip

#CentOS
yum install zip

#Fedora
dnf install zip

#Raspbian
apt-get install zip

#Docker
docker run cmd.cat/zip zip

zip 命令补充说明:


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

zip 命令语法:


zip options archive inpath inpath ..
.

zip 命令选项:


-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压缩包:指定要创建的zip压缩包;
文件列表:指定要压缩的文件列表。

命令实例


创建档案 stuff.zip(假设它不存在),并将所有文件以压缩形式放入当前目录中(自动添加 .zip 后缀,除非档案名称已经包含一个点;这允许显式其他后缀的规范)。

zip stuff *

与上面的命令相同,但是还包括以点开头的文件(特殊目录名 ... 除外)。

zip stuff .* *

将整个子目录 foo 压缩为一个档案 foo.zip,并记录每个文件的目录名称。

zip -r foo foo

与上述命令相同,但与 -r 不同,-j 选项将不记录目录名称,仅记录文件本身的名称。

zip -j foo foo / *

创建目录 foo 的分割存档,每个分割不大于 2GB。如果 foo 包含 5GB 的内容,并且这些内容未压缩就存储在拆分档案中(为了使此示例简单),这将创建三个拆分,即 2GB 的 split.z012GBsplit.z02split.zip 超过 1GB

zip -s 2g -r split.zip foo

zip 命令扩展阅读:




zip 命令评论