linux下unzip解压到指定目录,linux解压缩unzip命令详解

时间:2025-02-19 10:39:29

功能描述

根据名称可以看出,unzip命令解压缩由zip生成的压缩文件,是与zip互逆的一对工具。

命令语 法

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

选项含义

选项

含义

-c

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

-f

更新现有的文件。

-l

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

-p

会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

-t

检查压缩文件是否正确。

-u

但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。

-v

执行是时显示详细的信息。

-z

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

-a

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

-b

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

-C

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

-j

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

-L

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

-M

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

-n

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

-o

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

-P

使用zip的密码选项。

-q

执行时不显示任何信息。

-s

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

-V

保留VMS的文件版本信息。

-X

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

-d

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

-x

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

-Z

等于执行 zipinfo 指令

示例:

实例1:对.zip文件进行解压缩。

在命令提示符下输入:

[root@localhost ~]# unzip

(对一个压缩文件解压缩)

[root@localhost ~]# unzip

(对两个压缩文件进行解压缩)

执行结果如下。可以看出,unzip在默认情况下,是解压缩文件到当前工作目录,如果当前目录中存在和压缩文件中同名的文件,将提示用户。同时unzip不能同时对两个压缩文件解压缩,否则命令行将第二个压缩文件解析为只解压指定文件的语法形式。

[root@localhost ~]# unzip

Archive:

replace aaa? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

extracting: aaa

creating: home/ddf/

[root@localhost ~]# unzip

Archive:

caution: filename not matched:

实例2:解压缩归档压缩文件中的指定文件。

假设当前目录下存在压缩归档文件,其中包含bbb和ccc两个文件,在命令提示符下输入:

[root@localhost ~]# unzip -v bbb

(只解压中的bbb文件)

执行结果如下。

[root@localhost ~]# unzip -v bbb

Archive: 

Length   Method    Size  Cmpr    Date    Time   CRC-32   Name

--------  ------  ------- ---- ---------- ----- --------  ----

8  Stored        8   0%  04-28-2018 20:52 c825a043  bbb

--------          -------  ---                            -------

8                8   0%                             1 file

实例3:查看压缩文件的信息。

利用“实例2”中的文件,在命令提示符下输入:

[root@localhost ~]# unzip -Z

(显示压缩文件的信息)

[root@localhost ~]# unzip -Z bbb

(显示压缩文件中指定文件的信息)

[root@localhost ~]# unzip -Z

(不能同时显示多个压缩文件的信息)

执行结果如下,利用unzip -Z参数可以查看归档压缩文件包含的内容,同时也可以获取归档文件的内容;但是不能显示多个归档文件的内容。

[root@localhost ~]# unzip -v bbb

Archive: 

Length   Method    Size  Cmpr    Date    Time   CRC-32   Name

--------  ------  ------- ---- ---------- ----- --------  ----

8  Stored        8   0%  04-28-2018 20:52 c825a043  bbb

--------          -------  ---                            -------

8                8   0%                             1 file

[root@localhost ~]# unzip -Z

Archive: 

Zip file size: 303 bytes, number of entries: 2

-rw-r--r--  3.0 unx        8 tx stor 18-Apr-28 20:52 bbb

-rw-r--r--  3.0 unx        5 tx stor 18-Apr-28 20:52 ccc

2 files, 13 bytes uncompressed, 13 bytes compressed:  0.0%

[root@localhost ~]# unzip -Z bbb

-rw-r--r--  3.0 unx        8 tx stor 18-Apr-28 20:52 bbb

[root@localhost ~]# unzip -Z

caution: filename not matched:

注意事项

unzip解压缩必须由zip生成的压缩文件。

一次只能对一个.zip文件解压缩,若指定更多的.zip压缩文件,命令行将把后面的文件名解析为要解压缩第一个压缩归档文件的特定文件。

若指定处理归档压缩文件中某个特定的文件,则必须保证该文件在压缩文件中存在,这需要对压缩文件的内容有一定的了解,可以利用zipinfo或unzip来获得其包含的内容。