命令简介

who 命令是 Linux 系统中一个非常有用的小工具,它可以显示当前登录到系统的用户信息。通过 who 命令,我们可以查看当前有哪些用户登录了系统,他们分别从哪里登录,登录的时间是什么时候,以及正在运行的进程等详细信息。对于系统管理员来说,who 命令可以帮助快速了解系统的使用情况,是一个非常实用的命令。

命令格式

1
who [选项]

参数说明

参数 描述 备注
-a 显示所有已登录的用户信息,包括位于其他主机上的用户 -
-b 显示最近的系统启动时间 -
-d 显示死掉的进程 -
-H 显示报头栏 -
-l 显示远程主机名 -
-m 仅显示当前终端的登录用户信息 -
-p 显示活跃用户的进程ID -
-q 显示当前登录用户的名称和总数 -
-r 显示运行级别 -
-s 按登录时间排序 -
-u 显示闲置时间 需要启用指定内核选项

命令实例

基本用法

1.显示当前登录用户

1
who

输出当前登录系统的所有用户信息。

2.显示登录时间和主机

1
who -l

同时显示用户登录的远程主机名。

3.显示启动时间

1
who -b

显示系统最近一次启动的时间。

4.显示活跃进程

1
who -p

显示每个登录用户正在运行的进程ID。

高级用法

1.统计登录用户数

1
who | wc -l

使用 who 命令输出结合 wc 命令,可以快速统计当前登录系统的用户总数。

2.监控实时登录情况

1
watch -n 5 who

结合 watch 命令,可以实时监控系统的登录和注销情况。

3.记录用户活动日志

编写一个简单的 Shell 脚本,可以利用 who 命令记录用户活动日志。

1
2
3
4
#!/bin/bash

logfile="/var/log/user_activity.log"
echo "$(date) | $(who)" >> $logfile

该脚本会将当前时间和登录用户信息追加到日志文件中。可以配合 cron 定期执行,从而记录系统的用户活动情况。

总之,who 命令虽然非常简单,但在日常的系统管理工作中却可以发挥很大的作用。它提供了快速查看和分析系统使用情况的能力,是一个非常实用的小工具。如有任何其他疑问,欢迎随时提问。