1. 了解who命令
在Linux系统中,who是一个用于显示当前登录的用户信息以及系统启动时间的命令。它可以告诉我们有关当前系统上登录用户的详细信息,如用户名、登录终端、登录时间等。通过who命令,系统管理员可以方便地检查当前系统的登录情况。
1.1 who命令的使用方法
使用who命令非常简单,只需在终端中输入who,然后按下Enter键即可。who命令会立即显示当前登录用户的相关信息。
$ who
user1 tty1 2022-10-10 10:00
user2 :1 2022-10-10 11:00 (:1)
user3 pts/0 2022-10-10 12:00 (:1.0)
在上面的示例中,who命令显示了三个登录用户的信息。每行显示一个用户,每列分别为用户名、登录终端和登录时间。
1.2 查看详细信息
使用who命令还可以进一步了解每个用户的详细信息,如用户ID、登录IP等。可以使用who -i命令来查看用户ID(UID)和登录IP(LOGIN@IP)。
$ who -i
user1 tty1 2022-10-10 10:00 (:0)
user2 :1 2022-10-10 11:00 (:1)
user3 pts/0 2022-10-10 12:00 (192.168.1.100)
通过添加-i选项,who命令会在输出中显示用户ID和登录IP。
2. who命令的返回值
在Linux中,所有命令都会有一个返回值,通常是一个整数。who命令也不例外,它的返回值有以下几种可能:
2.1 返回值为0
当who命令成功执行并输出结果时,它的返回值为0。这意味着命令执行成功,没有发生任何错误。
2.2 返回值为非零
当who命令发生错误或无法正常执行时,它的返回值为非零。这表示命令执行失败,可能有以下几种情况:
错误的命令参数:如果输入了错误的参数,who命令将无法识别该参数并返回非零值。
$ who -x
who: invalid option -- 'x'
Try 'who --help' for more information.
$ echo $?
1
权限不足:如果当前用户没有足够的权限来执行who命令,它也会返回非零值。
$ sudo -u user1 who
[sudo] password for user:
user1 tty1 2022-10-10 10:00
$ echo $?
0
$ sudo -u user1 who -a
sudo: who: command not found
$ echo $?
1
3. who命令的常见用途
who命令作为一个系统管理员常用的工具,有着很多实际的用途。
3.1 监视登录用户
使用who命令可以方便地监视当前系统上的登录用户。管理员可以通过who命令了解当前系统上有哪些用户登录,以及他们登录的终端、时间等信息。
$ who
user1 tty1 2022-10-10 10:00
user2 :1 2022-10-10 11:00 (:1)
user3 pts/0 2022-10-10 12:00 (:1.0)
3.2 确定用户数量
通过使用who命令,系统管理员可以确定当前系统上有多少个用户登录。可以使用who命令的-w选项来显示登录用户的数量。
$ who -w
user1 tty1 2022-10-10 10:00
user2 :1 2022-10-10 11:00 (:1)
user3 pts/0 2022-10-10 12:00 (:1.0)
# 显示登录用户的总数
$ who -w | wc -l
3
注意:who命令的-w选项会在输出的最后一行显示登录用户的数量。通过使用wc -l命令,可以计算出用户数量。
3.3 查看空闲终端
通过使用who命令的-T选项,系统管理员可以查看当前系统上的空闲终端。空闲终端是指当前没有用户登录的终端。
$ who -T
user1 tty1 2022-10-10 10:00
user2 :1 2022-10-10 11:00 (:1)
注意:输出中不包含没有空闲终端的用户。
4. 总结
本文介绍了Linux中的who命令,并详细讲解了该命令的使用方法、返回值以及常见用途。通过使用who命令,系统管理员可以方便地监视登录用户、确定用户数量以及查看空闲终端。了解和掌握who命令的使用方法对于管理Linux系统非常重要。