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命令。