Linux常用命令(1) - who

命令概述

who 命令用于显示当前登录系统的用户信息。

基本语法

who [选项] [文件]

如果不指定文件,默认读取 /var/run/utmp

常用选项

1. 显示所有用户登录信息

who

输出格式:用户名 终端设备 登录时间 [远程主机地址]

2. 显示系统启动时间 (-b)

who -b
# 或
who --boot

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

3. 显示登录进程的PID (-p, -u)

who -u
# 或
who --users

显示用户空闲时间和进程ID,格式:
用户名 终端 登录时间 空闲时间 PID 备注

4. 显示系统运行级别 (-r)

who -r
# 或
who --runlevel

显示当前运行级别和上次运行级别变更时间。

5. 显示标题行 (-H)

who -H

为每列信息添加标题行。

6. 显示所有信息 (-a)

who -a

显示所有可用信息,相当于 who -b -d --login -p -r -t -T -u

常用组合示例

示例1:查看所有登录用户详细信息

who -uH

输出:

NAME     LINE         TIME             IDLE          PID COMMENT
root     tty1         2024-01-15 08:30 00:15         1234
user1    pts/0        2024-01-15 09:00 00:05         2345 (192.168.1.100)

示例2:查看系统信息和登录用户

who -b -r -u

输出系统启动时间、运行级别和用户信息。

示例3:查看所有历史登录记录

who /var/log/wtmp

/var/log/wtmp 文件记录了所有历史登录信息。

示例4:显示简化的登录信息

who -q
# 或
who --count

只显示用户名和用户总数。

字段解释

who 输出的各个字段:

  1. NAME - 登录用户名

  2. LINE - 终端设备(ttyN, pts/N)

  3. TIME - 登录时间

  4. IDLE - 空闲时间(. 表示最近1分钟内有活动)

  5. PID - 登录进程ID

  6. COMMENT - 远程主机名或IP地址

who -r 输出的运行级别字段:

  • 运行级别 日期 时间 上次运行级别

  • N 3 2024-01-15 08:30 表示当前运行级别3,上次运行级别N(无)

相关文件

 
文件路径用途
/var/run/utmp 当前登录会话信息
/var/log/wtmp 历史登录记录(二进制)
/var/log/btmp 失败的登录尝试
/proc/self/sessionid 当前会话ID

实用技巧

1. 统计在线用户数

who | wc -l

2. 查看特定用户的登录情况

who | grep "username"
3. 查看谁在做什么 (w命令的简化)
who -uH

4. 显示完整的登录信息(包含主机)

who -mH

5. 结合awk提取特定信息

# 提取所有登录用户的IP地址
who | awk '{print $NF}' | grep -v "^("

# 显示登录时间和终端
who | awk '{print $1, $2, $3, $4}'

与其他命令对比 

命令功能输出详细程度
who 显示登录用户 基本信息
w 显示登录用户及活动 详细信息(包括正在执行的命令)
users 显示登录用户名 仅用户名
last 显示登录历史 详细历史记录
whoami 显示当前用户 仅当前用户

实际应用场景

场景1:监控系统访问

# 实时监控登录情况
watch -n 5 "who -uH"

场景2:安全审计

# 检查是否有异常登录
who | grep -v "pts/" | grep -v "tty"

场景3:生成登录报告

# 生成每日登录统计
echo "=== 当前登录用户 ==="
who -uH
echo -e "\n=== 系统启动时间 ==="
who -b
echo -e "\n=== 运行级别 ==="
who -r

注意事项

  1. 普通用户只能看到自己的登录信息

  2. root用户可以看到所有登录信息

  3. utmp 文件是二进制格式,不能直接编辑

  4. 某些选项可能需要特定权限才能看到完整信息

who 命令是系统管理员日常管理中非常实用的工具,可以快速了解系统的登录状态和运行情况。

posted @ 2026-01-15 10:36  一生爱你  阅读(3)  评论(0)    收藏  举报