linux的who命令含义

2025-12-04 14:21:13 3d世界杯

Who命令是Linux操作系统中的一个实用程序,用于显示当前登录系统的用户信息。Who命令可以列出当前所有登录到系统上的用户,并显示他们的登录时间、登录IP地址以及终端设备。通过使用Who命令,可以方便地查看系统上的用户活动情况,包括谁正在使用系统和他们使用系统的方式。

Who命令的语法如下:

“`who [选项] [文件|参数]“`

选项:

– `-a`:显示所有的用户登录信息,包括inet、IPv6等信息。– `-b`:显示最后一次系统启动的时间。– `-d`:不显示用户名,只显示用户所在的终端设备。– `-H`:显示表头。– `-i`:显示用户登录的主机IP地址。– `-l`:显示用户的登录名和登录终端设备。– `-m`:显示含有用户名和终端设备信息的消息。

下面将详细介绍Who命令的使用方法和操作流程。

## 1. 基本用法

最基本的使用方法是直接在命令行中输入who命令:

“`shellwho“`

执行该命令后,系统会显示当前登录到系统上的用户信息,包括用户名、登录终端、登录时间以及登录IP地址(如果有的话)。

示例输出:

“`shelluser1 ttyS0 Apr 26 10:00user2 tty1 Apr 26 11:30“`

以上输出表示系统上有两个用户,分别为user1和user2。user1登录到了终端ttyS0,并且登录时间是4月26日10点;user2登录到了终端tty1,并且登录时间是4月26日11点30分。

## 2. 显示更多信息

在默认情况下,who命令只会显示用户的登录名、终端设备和登录时间。如果需要显示更多的信息,可以使用选项进行设置。

### 显示登录IP地址

要显示用户登录时的IP地址,可以使用`-i`选项。例如:

“`shellwho -i“`

执行该命令后,系统会显示当前登录到系统上的用户信息,包括用户名、登录终端、登录时间和登录IP地址。

示例输出:

“`shelluser1 ttyS0 2021-04-26 10:00 192.168.1.100user2 tty1 2021-04-26 11:30“`

上面的输出中,除了显示用户的登录名、终端设备和登录时间之外,还显示了用户1的登录IP地址(192.168.1.100)。

### 显示所有用户登录信息

默认情况下,who命令只显示已登录用户的信息。如果需要显示所有的用户登录信息,可以使用`-a`选项。例如:

“`shellwho -a“`

执行该命令后,系统会显示所有的用户登录信息,包括已登录用户和系统守护进程等。

示例输出:

“`shelluser1 pts/0 2021-04-26 10:00 192.168.1.100 ttyS0 2021-04-26 14:30 still logged inuser2 tty1 2021-04-26 11:30“`

上面的输出中,除了显示用户的登录名、终端设备和登录时间之外,还显示了一个系统守护进程的信息。

## 3. 显示登录用户数

为了查看当前系统上有多少个登录用户,可以使用`-q`选项。这个选项会告诉你当前登录用户的数量。

“`shellwho -q“`

示例输出:

“`shelluser1 user2# users=2“`

上面的输出表示当前系统上有两个登录用户,分别是user1和user2。

## 4. 显示系统最后一次启动时间

如果你想知道系统最后一次启动的时间,可以使用`-b`选项。这个选项会显示系统最后一次启动的时间和日期。

“`shellwho -b“`执行该命令后,系统会显示系统最后一次启动的时间。

示例输出:

“`shellsystem boot 2021-04-25 10:00“`上面的输出表示系统最后一次启动的时间是2021年4月25日10点。

## 5. 以谁在使用该终端

有时候需要知道某个终端设备是由谁在使用,可以使用`-m`选项。这个选项会显示含有用户名和终端设备信息的消息。

“`shellwho -m“`

执行该命令后,系统会显示谁在使用当前终端设备。

示例输出:

“`shelluser1 pts/0 2021-04-26 10:00 (192.168.1.100)“`

上面的输出表示当前终端设备(pts/0)正在被user1使用,而且该用户的登录IP地址是192.168.1.100。

## 6. 显示用户登录信息的表头

如果希望显示用户登录信息的表头,可以使用`-H`选项。这个选项会在输出结果的开头添加一个表头。

“`shellwho -H“`

示例输出:

“`shellNAME LINE TIME COMMENTroot tty1 Apr 26 09:00 (:0)user1 pts/0 Apr 26 10:00 (192.168.1.100)user2 tty2 Apr 26 11:30 (:1)“`

上面的输出中,第一行是表头,后面的行是用户的登录信息。

## 7. 获取用户的登录名和登录终端设备

如果只需要获取用户的登录名和登录终端设备,可以使用`-l`选项。这个选项会在输出结果中只显示这两个字段。

“`shellwho -l“`

示例输出:

“`shelluser1 pts/0user2 tty1“`

上面的输出中,只显示了用户的登录名和登录终端设备。

## 8. 结合其他命令使用

Who命令可以与其他命令结合使用,以获取更多信息。

### 结合grep命令

可以使用grep命令来过滤Who命令的输出结果。例如,想要查找特定用户的登录信息,可以使用以下命令:

“`shellwho | grep user1“`

上面的命令会在Who命令的输出结果中查找包含”user1″的行。

### 结合awk命令

可以使用awk命令对Who命令的输出结果进行处理和格式化。例如,可以使用下面的命令来仅显示第2列和第4列的信息:

“`shellwho | awk ‘{print $2, $4}’“`

上面的命令使用了awk的print函数,指定了要打印的列号。

### 结合wc命令

可以使用wc命令来计算Who命令的输出行数,从而获取登录用户数量。例如:

“`shellwho | wc -l“`

上面的命令会打印Who命令的输出行数,即登录用户的数量。

以上就是Linux中Who命令的含义及用法的详细介绍。Who命令可以方便地查看系统上的用户信息和活动情况,对于系统管理员和普通用户来说都是一个非常有用的工具。希望通过本文的介绍,读者能够更好地理解和使用Who命令。

问小黄车使用方法如何使用
Windows 7轻松上手:教你轻松发送传真的实用指南