Linux压缩文件(zip)

Linux压缩文件(zip)教程

Linux 中的 zip 命令可用于将一个文件或者目录压缩为 zip 格式的压缩包。

Linux zip命令详解

功能

将文件或者目录压缩为 zip 格式。

语法

zip [options] dest.zip file..

参数

参数 描述
options zip 命令使用的参数。
dest.zip 压缩后的文件名。
file 需要压缩的文件或目录名。

zip命令常用参数

参数 描述
-A 调整可执行的自动解压缩文件。
-b <工作目录> 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 此参数的效果和指定 “-u” 参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-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 替压缩文件加上注释。

说明

zip 命令是使用非常多的命令,其参数也非常丰富。

Linux zip命令常用实例

实例

实例 描述
zip file.zip file 将 file 压缩文件为 file.zip
zip -r dir.zip dir1 将目录 dir 压缩为 dir.zip
zip -dv file.zip file 从压缩文件 file.zip 里面删除 file 文件

压缩zip文件

语法

zip file.zip file

案例

我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:

touch haicoder{1..5}.txt

运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:

22_linux压缩文件zip命令.png

现在,我们使用 zip 命令,将这些文件进行压缩文件,具体命令如下:

zip haicoder.zip haicoder*.txt

运行后,终端输出如下:

23_linux压缩文件zip命令.png

我们可以看到,我们在使用 zip 命令压缩文件时,输出了我们压缩的文件,现在,我们使用 ls 命令,查看我们压缩文件好的文件,具体命令如下:

ls haicoder.zip

运行后,终端输出如下:

24_linux压缩文件zip命令.png

我们看到,我们压缩文件好的文件已经存在了,即,我们使用了 zip 命令压缩了文件。

压缩目录为zip文件

语法

zip -r dir.zip dir1

案例

我们首先,使用 mkdir 命令,创建一个目录,具体命令如下:

mkdir haicoderdir

运行后,我们并使用 ls 命令,查看创建的目录,终端输出如下:

25_linux压缩文件zip命令.png

现在,我们使用 zip 命令,对这个目录进行压缩,具体命令如下:

zip -r haicoderdir.zip haicoderdir

运行后,终端输出如下:

26_linux压缩文件zip命令.png

我们可以看到,我们在使用 zip 加上 r 参数,压缩了文件夹。

从zip压缩包删除文件

语法

zip -dv file.zip file

案例

我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:

touch haicoder{1..5}.txt

运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:

27_linux压缩文件zip命令.png

现在,我们使用 zip 命令,将这些文件进行压缩文件,具体命令如下:

zip haicoder.zip haicoder*.txt

运行后,终端输出如下:

28_linux压缩文件zip命令.png

我们可以看到,我们在使用 zip 命令压缩文件时,输出了我们压缩的文件,现在,我们使用 ls 命令,查看我们压缩文件好的文件,具体命令如下:

ls haicoder.zip

运行后,终端输出如下:

29_linux压缩文件zip命令.png

我们看到,我们压缩文件好的文件已经存在了,现在,我们使用 zip 命令,从 zip 压缩包里删除文件,具体命令如下:

zip -dv haicoder.zip haicoder3.txt

运行后,终端输出如下:

30_linux压缩文件zip命令.png

我们看到,我们从 zip 压缩包里面成功删除了文件。

Linux压缩文件(zip)总结

Linux 中的 zip 命令可用于将一个文件或者目录压缩为 zip 格式的压缩包。