Linux命令 - unzip命令

  Linux中 unzip 命令是为.zip压缩文件的解压缩程序。

1.语法:

unzip [参数] [文件或目录]

2.功能:

  解压缩zip文件。

3.参数:
-c   将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f   更新现有的文件。
-l   显示压缩文件内所包含的文件。
-p   与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t   检查压缩文件是否正确。
-u   与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v   执行是时显示详细的信息。
-z   仅显示压缩文件的备注文字。
-a   对文本文件进行必要的字符转换。
-b   不要对文本文件进行字符转换。 
-C   压缩文件中的文件名称区分大小写。
-j   不处理压缩文件中原有的目录路径。
-L   将压缩文件中的全部文件名改为小写。
-M   将输出结果送到more程序处理。
-n   解压缩时不要覆盖原有的文件。
-o   不必先询问用户,unzip执行后覆盖原有文件。
-P<密码>   使用zip的密码选项。
-q   执行时不显示任何信息。
-s   将文件名中的空白字符转换为底线字符。
-V   保留VMS的文件版本信息。
-X   解压缩时同时回存文件原来的UID/GID。
[.zip文件]   指定.zip压缩文件。
[文件]   指定要处理.zip压缩文件中的哪些文件。
-d<目录>   指定文件解压缩后所要存储的目录。
-x<文件>   指定不要处理.zip压缩文件中的哪些文件。
-Z   unzip -Z等于执行zipinfo指令。
4.常用范例:

例一:查看压缩文件中包含的文件

命令:unzip -l test.zip

[root@localhost test]# unzip -l test.zip 
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
       96  05-25-2021 15:10   color.sh
       96  05-18-2021 10:15   lncolor
       13  05-25-2021 10:58   log1.txt
      592  05-14-2021 17:00   log2.txt
      655  05-14-2021 17:06   log3.txt
       52  05-25-2021 10:58   log.txt
---------                     -------
     1504                     6 files

例二:查看压缩文件目录信息,但是不解压该文件

命令:unzip -v test.zip

[root@localhost test]# unzip -v test.zip 
Archive:  test.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
      96  Defl:N       51  47% 05-25-2021 15:10 cba5c603  color.sh
      96  Defl:N       51  47% 05-18-2021 10:15 cba5c603  lncolor
      13  Stored       13   0% 05-25-2021 10:58 7a7f61b4  log1.txt
     592  Defl:N      161  73% 05-14-2021 17:00 45fe6d2e  log2.txt
     655  Defl:N      137  79% 05-14-2021 17:06 5c81697f  log3.txt
      52  Defl:N       37  29% 05-25-2021 10:58 e7951b29  log.txt
--------          -------  ---                            -------
    1504              450  70%                            6 files

例三:将test.zip解压到当前文件下

命令: unzip test.zip

  源压缩文件不会被删除。

[root@localhost test]# unzip test.zip
Archive:  test.zip
  inflating: color.sh                
  inflating: lncolor                 
 extracting: log1.txt                
  inflating: log2.txt                
  inflating: log3.txt                
  inflating: log.txt  
[root@localhost test]# ll
总用量 28
-rw-r--r--. 1 root root   96 5月  25 15:10 color.sh
-rwxr--r--. 1 root root   96 5月  18 10:15 lncolor
---xr--r--. 1 root root   13 5月  25 10:58 log1.txt
-rwxrw-r-x. 1 root root  592 5月  14 17:00 log2.txt
-rwxr-x--x. 1 root root  655 5月  14 17:06 log3.txt
-rwxr--r--. 1 root root   52 5月  25 10:58 log.txt
-rw-r--r--. 1 root root 1332 5月  25 16:33 test.zip

例四:将test.zip解压到/games目录下,并且不要覆盖已有文件

命令: unzip -n test.zip -d /usr/games/

[root@localhost test]# unzip -n test.zip -d /usr/games/
Archive:  test.zip
  inflating: /usr/games/lncolor      
 extracting: /usr/games/log1.txt     
  inflating: /usr/games/log2.txt     
  inflating: /usr/games/log3.txt     
  inflating: /usr/games/log.txt      
[root@localhost test]# cd ../
[root@localhost games]# ll
总用量 36
-rw-r--r--. 1 root root   96 5月  25 15:16 color.sh
-rwxr--r--. 1 root root   96 5月  18 10:15 lncolor
---xr--r--. 1 root root   13 5月  25 10:58 log1.txt
-rwxrw-r-x. 1 root root  592 5月  14 17:00 log2.txt
-rwxr-x--x. 1 root root  655 5月  14 17:06 log3.txt
-rwxr--r--. 1 root root   52 5月  25 10:58 log.txt
drwxr-xr-x. 2 root root  116 5月  25 17:07 test
-rw-r--r--. 1 root root 3016 5月  25 16:36 test1.zip
-rw-r--r--. 1 root root 3211 5月  25 16:40 test2.zip
-rw-r--r--. 1 root root 3016 5月  25 16:42 test3.zip

例五:将test.zip解压到/tmp目录下,并且覆盖已有文件

命令: unzip -o test.zip -d /usr/games/

  压缩的是包括test目录及以下的文件和文件夹。

[root@localhost test]# unzip -o test.zip -d /usr/games/
Archive:  test.zip
  inflating: /usr/games/color.sh     
  inflating: /usr/games/lncolor      
 extracting: /usr/games/log1.txt     
  inflating: /usr/games/log2.txt     
  inflating: /usr/games/log3.txt     
  inflating: /usr/games/log.txt      
[root@localhost test]# ll
总用量 28
-rw-r--r--. 1 root root   96 5月  25 15:10 color.sh
-rwxr--r--. 1 root root   96 5月  18 10:15 lncolor
---xr--r--. 1 root root   13 5月  25 10:58 log1.txt
-rwxrw-r-x. 1 root root  592 5月  14 17:00 log2.txt
-rwxr-x--x. 1 root root  655 5月  14 17:06 log3.txt
-rwxr--r--. 1 root root   52 5月  25 10:58 log.txt
-rw-r--r--. 1 root root 1332 5月  25 16:33 test.zip