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