一、who命令的概述
who命令是Linux系统中的一个常见命令,用于显示当前登录系统的用户信息,包括用户的登录名、登录时间、登录IP地址等。who命令可以用来查看系统中当前登录的用户数、用户的登录情况,以及用户的状态等信息。另外,who命令还可以配合其他命令一起使用,如w命令、last命令等。
二、who命令的语法格式
who [-abdHlmpqrRstTu] [--file <FILE>] [--help] [--version] [am i] [am I] [hostname] [user ...]
命令选项:
- -a:显示所有的信息,等同于执行-mprtTu选项
- -b:输出系统最后一次的开机时间
- -d:仅显示当前系统的进入时间
- -H:显示表头信息
- -l:除了显示用户信息之外还将将系统登录的一些信息显示出来
- -m:显示当前正在使用系统的所有用户
- -p:以旧的格式显示用户信息
- -q:只显示登录用户数和登录名
- -r:显示当前运行的等级
- -R:不显示登录IP和端口信息
- -s:仅显示当前正在使用系统的登录名和数量
- -t:显示终端名
- -T:显示终端类型
- -u:显示当前正在使用系统的所有用户
- --file:从指定文件中读取信息
- --help:显示帮助信息
- --version:显示版本信息
三、who命令的应用场景
1. 查看登录用户
使用who命令可以查看系统中当前登录的用户信息。例如:
$ who
user1 tty1 2022-01-01 09:00
user2 tty2 2022-01-01 09:10
user3 pts/0 2022-01-01 09:20 (192.168.1.100)
上面的结果表示有三个用户登录到系统中,user1和user2在本地终端tty1和tty2上登录,user3通过远程终端pts/0从IP地址为192.168.1.100的主机登录。
2. 查看登录时间
使用who命令可以查看每个用户的登录时间。例如:
$ who
user1 tty1 2022-01-01 09:00
user2 tty2 2022-01-01 09:10
user3 pts/0 2022-01-01 09:20 (192.168.1.100)
上面的结果中“2022-01-01 09:00”表示user1在2022年1月1号9点左右登录系统。
3. 查看系统最后一次开机时间
使用who命令加上-b选项可以查看系统最后一次的开机时间。例如:
$ who -b
system boot 2022-01-01 08:55
上面的结果表示系统最后一次的开机时间为2022年1月1日8点55分。
4. 查看当前登录用户数
使用who命令加上-q选项可以查看当前系统中登录用户的数量。例如:
$ who -q
user1 user2 user3
#或者
$ who -q |wc -w
第一个命令的结果表示系统中当前有三个用户登录,第二个命令的结果表示当前系统中有3个用户登录。
5. 查看登录IP地址
使用who命令可以查看每个用户登录的IP地址和端口号。例如:
$ who
user1 tty1 2022-01-01 09:00
user2 tty2 2022-01-01 09:10
user3 pts/0 2022-01-01 09:20 (192.168.1.100)
上面的结果中“(192.168.1.100)”表示user3是从IP地址为192.168.1.100的主机上登录的。
6. 查看终端信息
使用who命令加上-t和-T选项可以查看用户登录的终端名称和终端类型。例如:
$ who -tT
user1 tty1 2022-01-01 09:00 +0000 (console)
user2 tty2 2022-01-01 09:10 +0000 (console)
user3 pts/0 2022-01-01 09:20 (192.168.1.100)
上面的结果中“(console)”表示登录的终端是控制台终端。
7. who命令的配合使用
除了可以单独使用外,who命令还可以和其他命令一起使用,如:w命令、last命令等。
使用who命令配合w命令可以显示登录用户当前的进程和系统状态。例如:
$ w
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 tty1 - 09:00 2:34 0.20s 0.07s sshd: user1
user2 tty2 - 09:10 2:31 0.14s 0.14s sshd: user2
user3 pts/0 192.168.1.100 09:20 0.00s 0.12s 0.00s w
上面的结果中“WHAT”一列表示登录用户当前正在运行的进程。
四、总结
who命令是Linux系统中一个常见的命令,可以用来查看当前登录系统的用户信息、登录时间、登录IP地址等。who命令可以配合其他命令一起使用,如w命令、last命令等,提高工作效率。熟练掌握who命令,对于Linux系统的运维工程师来说是必不可少的技能之一。