命令介绍

gunzip 是一个使用广泛的解压缩命令,它用于解压被 gzip 压缩过的文件(扩展名为 .gz)。当然,对于解压被 gzip 压缩过的文件,还可以使用 gzip 自己,即 gzip -d 压缩包。

命令格式

gunzip 命令的基本格式为: gunzip [选项] 文件

该命令常用的选项及各自的含义说明:

选项 含义 备注
-r 递归处理,解压缩指定目录下以及子目录下的所有文件 -
-c 把解压缩后的文件输出到标准输出设备。 -
-f 强制解压缩文件,不理会文件是否已存在等情况 -
-l 列出压缩文件内容。 -
-v 显示命令执行过程。 -
-t 测试压缩文件是否正常,但不对其做解压缩操作。 -

命令实例

实例一:常规解压

不带任何参数解压,将文件解压到当前目录下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@ubuntu2204-101 /data 07:31:20]# tree tar/
tar/
├── shadow.gz
├── test1
│   └── bolt.service.gz
├── test2
├── test3
└── test4
└── passwd.gz

[root@ubuntu2204-101 /data 07:32:20]# cd tar/

# 解压:
[root@ubuntu2204-101 /data/tar 07:32:35]# gunzip shadow.gz

# 查看:
[root@ubuntu2204-101 /data/tar 07:32:42]# ls
shadow test1 test2 test3 test4

实例二:解压目录下所有 gzip 压缩的文件

参数: -r,递归解压目录下所有 gzip 压缩的文件;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 解压前的目录结构:
[root@ubuntu2204-101 ~ 09:12:01]# tree /data/tar/
/data/tar/
├── shadow.gz
├── test1
│   └── bolt.service.gz
├── test2
├── test3
└── test4
└── passwd.gz

4 directories, 3 files

# 解压:
[root@ubuntu2204-101 ~ 09:14:00]# gunzip -r /data/tar/

# 解压后的目录结构:
[root@ubuntu2204-101 ~ 09:14:11]# tree /data/tar/
/data/tar/
├── shadow
├── test1
│   └── bolt.service
├── test2
├── test3
└── test4
└── passwd

4 directories, 3 files

当然,这里我们还可以使用 gzip -d 逐一对 gzip 压缩的文件进行解压:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 再次递归压缩:
[root@ubuntu2204-101 ~ 09:15:01]# gzip -r /data/tar/

# 查看压缩后的目录结构:
[root@ubuntu2204-101 ~ 09:17:51]# tree /data/tar/
/data/tar/
├── shadow.gz
├── test1
│   └── bolt.service.gz
├── test2
├── test3
└── test4
└── passwd.gz

4 directories, 3 files

# 使用 gzip -d 对单个文件进行解压:
[root@ubuntu2204-101 ~ 09:17:53]# gzip -d /data/tar/shadow.gz

# 再次查看目录结构:
[root@ubuntu2204-101 ~ 09:18:10]# tree /data/tar/
/data/tar/
├── shadow
├── test1
│   └── bolt.service.gz
├── test2
├── test3
└── test4
└── passwd.gz

4 directories, 3 files

注意:
如果我们压缩的是一个纯文本文件,则可以直接使用 zcat 命令在不解压缩的情况下查看这个文本文件中的内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@ubuntu2204-101 ~ 09:18:12]# zcat /data/tar/test4/passwd.gz
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-network:x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:104::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:104:105:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
pollinate:x:105:1::/var/cache/pollinate:/bin/false
sshd:x:106:65534::/run/sshd:/usr/sbin/nologin
syslog:x:107:113::/home/syslog:/usr/sbin/nologin
uuidd:x:108:114::/run/uuidd:/usr/sbin/nologin
tcpdump:x:109:115::/nonexistent:/usr/sbin/nologin
tss:x:110:116:TPM software stack,,,:/var/lib/tpm:/bin/false
landscape:x:111:117::/var/lib/landscape:/usr/sbin/nologin
usbmux:x:112:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
ubuntu:x:1000:1000:ubuntu:/home/ubuntu:/bin/bash
lxd:x:999:100::/var/snap/lxd/common/lxd:/bin/false
veazhi:x:1003:1003::/home/veazhi:/bin/sh
user002:x:1004:1011::/data/user:/bin/bash

总结:
使用该命令对文件进行解压缩,都会对源文件造成影响(删除)