Linux如何查看当前连接用户?

who 命令:查看当前登录用户

命令

who

输出示例

user1   pts/0        2025-10-05 14:30 (192.168.1.10)
user2   tty1         2025-10-05 09:15 (:0)

参数解析

  • 用户名:登录用户的账户名。
  • 终端类型
    • pts/*:远程终端(如SSH连接)。
    • tty*:本地物理终端。
  • 登录时间:用户连接的起始时间。
  • 来源IP:远程用户的IP地址(本地用户显示为空或:0)。

常用选项

  • who -u:显示空闲时间(IDLE列)。
  • who -H行(便于阅读)。

w 命令:查看用户及活动进程

命令

w

输出示例

 14:45:03 up 2 days,  3:22,  2 users,  load average: 0.15, 0.08, 0.06
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user1    pts/0    192.168.1.10     14:30    5.00s  0.05s  0.00s sshd: user1 [priv]
user2    tty1     :0               09:15    2days  0.20s  0.00s /bin/bash

关键信息

  • 系统负载:首行显示运行时间及平均负载。
  • 用户活动
    • WHAT:用户当前运行的命令(如sshd表示SSH会话)。
    • JCPU:该终端所有进程占用CPU时间。
    • IDLE:用户空闲时间(2days表示持续未操作)。

last 命令:查看历史登录记录

命令

last

输出示例

user1    pts/0        192.168.1.10     Thu Oct  5 14:30   still logged in
user2    tty1                          Thu Oct  5 09:15   still logged in
reboot   system boot  5.4.0-91-generic Thu Oct  5 09:10   still running

作用

  • 显示所有登录/重启记录(包括已断开连接的用户)。
  • 数据来源:/var/log/wtmp(需sudo权限访问)。

常用选项

  • last -n 5:仅显示最近5条记录。
  • last user1:仅查看user1的记录。

users 命令:快速显示用户名

命令

users

输出示例

user1 user2

适用场景
仅需检查哪些用户在线,无需详细信息时使用。


查看实时终端连接

通过/dev/pts目录直接查看活跃终端:

ls /dev/pts

输出中的数字编号(如pts/0)对应每个远程会话的终端ID。


高级方法:ssnetstat

通过端口分析网络连接(需结合进程信息):

ss -tpn | grep sshd

输出示例

ESTAB 0 0 192.168.1.100:22 192.168.1.10:54321 users:(("sshd",pid=1234,fd=3))

说明

  • 显示SSH连接及关联进程(sshd)。
  • 适用于验证远程用户是否通过SSH连接。

注意事项

  1. 权限要求
    • 普通用户可查看自身会话。
    • 完整信息需root权限(如last读取系统日志)。
  2. 安全操作建议
    • 谨慎断开用户:使用pkill -KILL -t pts/0终止指定终端(需sudo)。
    • 定期审计:通过last检查异常登录时间或IP。
  3. 数据来源
    • 实时会话:whow读取/var/run/utmp
    • 历史记录:last读取/var/log/wtmp

命令 适用场景 优势
who 快速查看在线用户及来源IP 输出简洁,适合基础检查
w 监控用户活动及资源占用 集成系统负载和进程信息
last 审计历史登录记录 追踪安全事件或异常登录
users 仅需用户名列表 极简输出,便于脚本处理

引用说明参考Linux man手册(man whoman w等)及开源社区文档(如Linux Documentation Project),确保方法符合主流发行版(Ubuntu/CentOS等),操作建议基于Linux内核5.4+环境验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8333.html

(0)
酷番叔酷番叔
上一篇 2025年7月23日 15:29
下一篇 2025年7月23日 15:39

相关推荐

  • 如何快速查看Linux系统镜像详情?

    在 Linux 环境中,”系统镜像”通常指两类内容:已安装系统的版本信息(如发行版名称、内核版本)下载的 ISO 安装镜像文件(如 Ubuntu、CentOS 的安装文件)以下是详细的操作指南,涵盖命令行和图形界面方法,查看已安装系统的镜像信息通过终端命令快速获取系统版本和内核详情:lsb_release 命令……

    2025年6月28日
    5100
  • Linux系统下如何安装Windows系统?

    在Linux系统中安装Windows双系统是一个常见的操作,但需要谨慎处理分区和引导配置,以避免数据丢失或系统无法启动,以下是详细的安装步骤和注意事项,帮助顺利完成安装,安装前的准备工作备份重要数据磁盘分区操作会清空数据,务必将Linux和Windows系统中的重要文件(如文档、照片、配置文件等)备份到移动硬盘……

    2025年9月29日
    1600
  • linux如何烧录到u盘

    制作Linux启动U盘是安装Linux系统的关键步骤,通过将Linux ISO镜像文件写入U盘,可使U盘具备启动和安装系统的功能,以下是详细操作流程及注意事项,涵盖不同操作系统下的工具选择与操作方法,准备工作下载Linux ISO镜像:从Linux发行版官网(如Ubuntu、Fedora、Debian等)下载对……

    2025年9月19日
    2300
  • Linux下如何正确使用date命令格式化时间格式?

    在Linux系统中,时间格式化是日常运维和脚本开发中的常见需求,无论是生成带时间戳的日志文件、展示特定格式的时间,还是处理时区转换,掌握时间格式化方法都至关重要,Linux提供了多种工具和命令来实现时间格式化,其中最常用的是date命令,此外还有strftime函数(用于编程语言)和timedatectl(用于……

    2025年10月7日
    1400
  • Linux系统中,如何具体查看缓存文件的位置、大小及使用情况?

    在Linux系统中,缓存文件是提升系统性能的关键,它们存储了频繁访问的数据,减少磁盘I/O操作,查看缓存文件有助于理解内存使用情况、排查性能问题或清理冗余数据,以下是Linux中查看不同类型缓存文件的详细方法,系统级缓存查看(内核与内存缓存)Linux内核将空闲内存用作缓存,主要包括Page Cache(文件缓……

    2025年9月17日
    2200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信