Linux如何查看当前登录的用户信息?

Linux系统中,查看登录用户是系统管理和安全维护的基础操作,无论是监控当前系统使用情况、排查异常登录行为,还是优化资源分配,都需要掌握相关命令和方法,本文将详细介绍Linux系统中查看登录用户的多种命令,包括其功能、参数、输出示例及适用场景,帮助管理员根据实际需求选择合适的工具。

linux如何查看登陆的用户

基础查看命令:who

who是最常用的查看登录用户命令,它从/var/log/wtmp文件中读取信息,显示当前登录系统的用户列表,包括用户名、终端、登录时间等核心信息。

基本用法

直接执行who命令,默认输出格式为:

用户名  终端    登录时间        IP地址
root    pts/0   2023-10-01 10:15 (192.168.1.100)
alice   tty1    2023-10-01 09:30  
  • 用户名:登录系统的账户名称;
  • 终端:用户登录的终端类型,tty表示本地物理终端,pts/表示虚拟终端(如SSH登录);
  • 登录时间:用户登录的精确时间;
  • IP地址:远程登录的客户端IP(本地登录显示为空)。

常用参数

  • -u:显示用户空闲时间(表示当前活跃,old表示长时间未操作);
  • -q:仅显示登录用户数量,并列出用户名(适合快速统计在线人数);
  • -H:显示列标题(便于解析输出);
  • -m:显示当前用户信息(等同于who am i)。

示例

who -uH  # 显示带标题的用户列表及空闲时间

输出可能为:

USER     TERM             IDLE          PID COMMENT
root     pts/0            .         12345 (192.168.1.100)
alice    tty1          old          6789  

详细活动监控:w

w命令在who的基础上,进一步显示系统负载和每个用户的进程信息,适合监控用户当前活动状态。

基本用法

执行w命令后,输出分为两部分:

  • 第一行:系统时间、运行时长、登录用户数、1/5/15分钟负载均值;
  • 第二部分:每个用户的详细活动,包括用户名、终端、登录时间、空闲时间、JCPU(用户进程累计CPU时间)、PCPU(当前进程CPU时间)、正在执行的命令。

示例输出

 10:30:01 up 2 days,  3:15,  2 users,  负载均值: 0.15, 0.10, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.100   10:15    5:00   0.02s  0.01s -bash
alice    tty1     -                09:30   2days  0.01s  0.01s /usr/bin/Xorg

常用参数

  • -h行(适合脚本处理);
  • -u:显示用户空闲时间(默认已包含);
  • -s:简洁模式,不显示JCPU/PCPU和命令字段。

示例

w -h  # 仅显示用户活动信息,无标题

登录历史查询:last

last命令读取/var/log/wtmp文件,显示用户的登录历史记录(包括成功登录、注销、重启等),适合审计用户行为。

linux如何查看登陆的用户

基本用法

直接执行last,按时间倒序显示登录记录,包含用户名、终端、IP地址、登录时间、持续时间、退出状态等。

示例输出

root     pts/0    192.168.1.100   Mon Oct 1 10:15   still logged in
alice    tty1     -                Mon Oct 1 09:30 - 10:30  (00:59)
reboot   system boot  5.15.0-52-generic Mon Oct 1 09:30   (2+03:15)
  • still logged in:用户仍在登录状态;
  • (00:59):登录持续时长;
  • reboot:系统重启记录。

常用参数

  • -n 10:显示最近10条记录;
  • -x:显示关机、重启等非登录记录;
  • -i:显示IP地址而非主机名(适用于DNS解析异常的情况)。

示例

last -n 5 -x  # 显示最近5条登录及系统事件记录

失败登录记录:lastb

lastb命令读取/var/log/btmp文件,显示失败的登录尝试(如密码错误、账户不存在等),是安全审计的重要工具。

基本用法

需root权限执行(普通用户无权限访问btmp),输出格式与last类似,记录失败登录的用户、终端、IP和时间。

示例输出

invalid  pts/1    192.168.1.200   Mon Oct 1 11:00 - 11:00  (00:00)
bob      tty2     -                Mon Oct 1 10:45 - 10:45  (00:00)

常用参数

  • -n 3:显示最近3条失败记录;
  • -i:显示IP地址。

示例

sudo lastb -n 3  # 查看最近3次失败登录

简洁用户列表:users

users命令以空格分隔的形式列出所有当前登录的用户,适合快速获取在线用户名(无详细信息)。

基本用法

users

输出示例:

linux如何查看登陆的用户

root alice bob

系统负载与用户数:uptime

uptime命令主要用于显示系统运行时间和负载,但也会附带当前登录用户数,适合快速了解系统整体状态。

基本用法

uptime

输出示例:

10:30:01 up 2 days,  3:15,  2 users,  负载均值: 0.15, 0.10, 0.05
  • 2 users:当前登录用户数。

日志分析:journalctl

对于使用systemd的现代Linux系统,可通过journalctl查询登录相关的系统日志,灵活性更高。

基本用法

sudo journalctl -u systemd-logind -n 10  # 查看登录服务最近10条日志

输出示例:

10月月01 10:15:01 systemd[1]: Started Session 2 of user root.
10月月01 10:15:01 systemd[1]: New session c2 of user root.
10月月01 09:30:00 systemd[1]: Started Session 1 of user alice.

命令对比总结

命令 功能描述 常用参数 适用场景
who 显示当前登录用户基本信息 -u(空闲时间)、-q(用户数)、-H

日常查看当前在线用户
w 显示用户详细活动及系统负载 -h)、-s(简洁模式) 监控用户实时活动、资源占用
last 查询登录历史记录 -n(条数)、-x(显示系统事件) 审计用户登录行为、排查历史问题
lastb 查询失败登录记录 -n(条数)、-i(显示IP) 安全审计、检测暴力破解
users 简洁列出当前用户 快速获取在线用户名列表
uptime 显示系统负载及用户数 -p(友好时间)、-s(启动时间) 快速了解系统状态及在线人数
journalctl 查询登录日志 -u(服务名)、-n(条数)、-f(实时) 灵活分析登录事件、深度排查问题

Linux查看登录用户的方法多样,需根据具体需求选择:日常监控用who/w,历史审计用last/lastb,快速统计用users/uptime,深度日志分析用journalctl,掌握这些命令,能帮助管理员高效管理多用户环境,保障系统安全稳定运行。

相关问答FAQs

Q1: 如何查看当前登录用户的详细活动(如正在执行的命令)?
A: 使用w命令可查看用户当前活动,包括终端、登录时间、空闲时间及正在执行的命令。w -u会显示用户空闲时间,w -h行便于脚本解析,若需查看特定用户的进程详情,可结合ps命令,如ps -u 用户名列出该用户的所有进程。

Q2: 如何查看远程登录用户的IP地址?
A: 多数命令已支持显示IP地址:

  • who命令默认显示远程登录的IP(本地登录为空);
  • last命令通过-i参数强制显示IP(如last -n 5 -i);
  • lastb命令同样支持-i参数查看失败登录的IP(需root权限)。
    本地终端(如tty1)的IP地址通常显示为或,因其为物理本地登录。

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

(0)
酷番叔酷番叔
上一篇 2025年10月3日 23:15
下一篇 2025年10月3日 23:35

相关推荐

  • Windows 10如何安全体验Linux?

    在 Windows 10 上安全体验 Linux 的三种主流方法:使用微软官方支持的 WSL(无需重启),通过虚拟机软件(如 VirtualBox,完全隔离)安装,或采用双系统启动(独立分区运行)。

    2025年6月18日
    5000
  • Linux命令如何查找文件?

    在Linux系统中,查找文件是日常操作中非常频繁的需求,无论是定位配置文件、查找日志,还是定位可执行程序,熟练掌握文件查找命令都能极大提升工作效率,Linux提供了多种查找文件的命令,每种命令都有其独特的适用场景和优势,本文将详细介绍这些命令的使用方法、核心选项及实际案例,find命令:最强大的文件查找工具fi……

    2025年10月9日
    1100
  • 如何查找目标进程PID

    在Linux系统中调试多进程程序是开发中的常见需求,尤其在处理并发任务、服务器应用或分布式系统时,多进程调试的难点在于需要同时跟踪多个独立进程的执行状态、协调断点以及分析进程间通信(IPC),以下是详细调试方法及工具指南:核心调试工具及方法GDB(GNU Debugger)基础调试GDB是最常用的调试工具,通过……

    2025年6月15日
    5800
  • 如何查看Linux系统中的服务运行状态?

    在Linux系统中,服务通常指在后台持续运行的守护进程(daemon),它们为系统或应用程序提供特定功能,如Web服务、数据库服务、网络服务等,查看Linux中的服务状态、运行情况、配置信息等是系统管理和运维的基础操作,本文将详细介绍多种查看服务的方法,涵盖命令行工具、图形化界面及日志分析等场景,帮助用户全面掌……

    2025年9月9日
    2500
  • Linux系统中守护进程的关闭方法有哪些?

    在Linux系统中,守护进程(Daemon)是长期运行在后台、没有控制终端、周期性执行任务或提供特定服务的进程,如系统日志服务(syslog)、网络服务(nginx、sshd)等,正确关闭守护进程是系统管理和维护的重要操作,本文将详细介绍Linux中关闭守护进程的多种方法,包括主流Systemd系统、传统Sys……

    2025年9月18日
    2000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信