Linux常用命令详解who命令详解

云计算

Linux常用命令详解who命令详解

2025-03-11 00:09


Linux系统管理员必备技能!今天我们来深入解析who命令的完整使用方法。这个看似简单的命令,在实际运维中能发挥意想不到的作用。 一、基础认知 who命令用于显示当前登录系统的用户信息,是排查登录问题、进行系统监控的基础工具。

                                            




Linux系统管理员必备技能!今天我们来深入解析who命令的完整使用方法。这个看似简单的命令,在实际运维中能发挥意想不到的作用。

一、基础认知

who命令用于显示当前登录系统的用户信息,是排查登录问题、进行系统监控的基础工具。它会从 /var/run/utmp文件中读取数据,输出格式为:

用户名   终端设备   登录时间          来源
root     pts/0     Aug 10 09:15    (192.168.1.100)

二、核心参数详解(附实例)

  1. -H 显示标题行
who -H

输出结果首行显示字段名称,特别适合脚本处理数据时使用。示例:

NAME    LINE    TIME            COMMENT
user1   tty1    Aug 10 08:30  
  1. -a 显示完整信息
who -a -H

该参数会显示9类系统信息,包括:

  • 用户登录记录
  • 系统启动时间
  • 运行级别变更
  • 终端设备状态等
  1. -b 查看系统启动时间
who -b

输出示例:

system boot  2023-08-10 04:30

这对排查异常重启非常有用?

  1. -d 显示失效进程
who -d

显示已终止但仍占用终端的进程,常用于清理僵尸进程

  1. -u 显示空闲时间
who -u -H

输出示例:

USER    LINE    TIME         IDLE   PID
test    pts/1   09:20        02:30  1234

IDLE列显示用户无操作时长,这对监控用户活动至关重要

三、进阶使用技巧

  1. 快速统计在线用户数
who | wc -l

通过管道符组合命令,立即获取当前登录用户总数

  1. 排查异常登录
who /var/log/wtmp

通过指定日志文件,可查询历史登录记录(默认显示最近一个月)

  1. 实时监控登录
watch -n 5 who

每5秒刷新一次登录状态,特别适合安全监控场景?

四、与其他命令对比

命令 特点 适用场景
who 显示基础登录信息 快速查看当前用户
w 显示更详细的进程信息 系统负载分析
users 仅显示用户名 极简统计
last 显示历史登录记录 安全审计

五、常见问题解决

Q:显示时间格式异常?

who --time-format=iso

使用ISO标准时间格式输出,避免时区混淆

Q:无法显示IP地址?

who -m -H

-m参数专门显示当前终端的完整信息

六、专业建议

  1. 生产环境中建议定期归档 /var/log/wtmp文件
  2. 结合 grep命令过滤特定用户登录记录
  3. 使用 who -q可快速获取用户名列表
  4. 通过 man who查看完整的参数说明手册

重要提示:不同Linux发行版的who命令可能存在参数差异,建议在实际环境中测试验证后再进行关键操作。掌握好这个基础命令,能让日常运维工作事半功倍!


标签:
  • Linux
  • 命令
  • who