Linux系统who命令怎么用

发布时间:2022-02-02 09:32:26 作者:小新
来源:亿速云 阅读:260
# Linux系统who命令怎么用

## 一、who命令简介

`who`是Linux系统中一个基础但实用的命令行工具,用于显示当前登录系统的用户信息。作为系统管理员和普通用户常用的命令之一,它能够快速查看谁正在使用系统、登录时间、终端类型等关键信息。

## 二、基本语法格式

```bash
who [选项] [文件]

默认情况下,who命令会读取/var/run/utmp文件(记录当前登录会话)并显示信息。典型输出格式如下:

用户名   终端设备     登录时间          来源IP(若远程登录)
user     pts/0        2023-08-20 09:30 (192.168.1.100)

三、常用选项详解

1. 基础信息显示

2. 用户信息增强

3. 特殊格式输出

4. 数据源控制

四、实用示例演示

示例1:查看详细登录信息

who -uH

输出示例:

USER     LINE         LOGIN-TIME   IDLE   FROM
john     pts/0        Aug20 09:30   .     192.168.1.100
alice    tty2         Aug20 10:15  01:30

示例2:统计当前用户数

who -q

输出:

user1 user2 user3
# users=3

示例3:检查系统运行状态

who -br

典型输出:

         system boot  2023-08-20 08:15
         run-level 5  2023-08-20 08:16

五、技术原理说明

who命令实际上是通过读取以下系统文件工作: - /var/run/utmp:当前活动会话 - /var/log/wtmp:历史登录记录(需last命令配合) - /var/log/btmp:失败登录尝试(需lastb命令查看)

六、与其他命令对比

命令 功能特点 适用场景
who 当前登录用户快照 快速查看在线用户
w 显示更详细+进程信息 系统监控时使用
users 仅显示用户名(极简输出) 脚本中快速获取用户列表
last 查看历史登录记录 安全审计

七、高级技巧

  1. 登录时间格式化
    结合date命令转换时间戳:

    who -u | awk '{print $1,$3,$4}' | while read user time; do
     echo "$user logged in at $(date -d "$time" +"%Y-%m-%d %H:%M:%S")"
    done
    
  2. 监控异常登录
    定期检查可疑IP:

    who | grep -v '(:0)' | awk '{print $5}' | sort | uniq
    
  3. 自动化用户通知
    向所有登录用户发送消息:

    for user in $(who | awk '{print $1}' | sort -u); do
     echo "系统将于10分钟后维护" | write $user
    done
    

八、注意事项

  1. 普通用户只能查看自己的完整登录信息,root用户可查看所有记录
  2. 在容器化环境中可能显示不完整(依赖utmp服务)
  3. 某些最小化安装的系统可能需要安装coreutils

通过掌握who命令,您可以快速了解系统用户状态,为后续的系统管理和故障排查提供重要依据。 “`

注:本文实际约850字(含代码和格式字符),可根据需要增减示例部分调整篇幅。建议在实际使用时添加更多本地化示例或结合特定发行版的特点进行补充说明。

推荐阅读:
  1. who -r 用于查看linux系统的启动级别。
  2. Who is Good Technology?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux who

上一篇:Linux系统关闭命令是什么

下一篇:Linux系统sort命令怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》