服务器测评网
我们一直在努力

linux怎么查看当前登录的所有用户信息?

在Linux系统中,了解当前登录的用户信息是系统管理和日常运维的重要技能,无论是排查问题、监控资源使用,还是确保系统安全,掌握多种查看登录用户的方法都至关重要,本文将详细介绍Linux系统中查看登录用户的多种命令及其使用场景,帮助用户根据实际需求选择合适的工具。

linux怎么查看当前登录的所有用户信息?

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

who 是最基础、最常用的查看登录用户信息的命令之一,它以简洁的格式显示当前所有登录系统的用户及其相关信息。

基本用法

直接在终端输入 who,默认会输出以下四列信息:

  • 用户名:登录系统的账户名称。
  • 终端:用户登录所使用的终端设备,如 tty1(本地虚拟终端)、pts/0(伪终端,通常用于SSH远程登录)。
  • 登录时间:用户登录系统的具体时间。
  • 远程主机:如果用户是通过远程登录的,会显示客户端的IP地址或主机名;本地登录则显示空。

示例输出:

alice    pts/0        2023-10-01 10:30 (192.168.1.100)  
bob      tty1         2023-10-01 09:15  

常用选项

  • -u:显示用户的 idle 时间(即用户最后一次操作至今的空闲时间)。
  • -H:打印列标题,便于理解输出内容。
  • -q:仅显示所有登录用户的名列表及总用户数,适合快速统计。

who -uH 会输出带标题的详细信息,包括 idle 时间:

USER     TERMINAL     IDLE        TIME     HOST  
alice    pts/0        00:15       10:30    192.168.1.100  
bob      tty1         old         09:15    

使用 w 命令查看详细登录信息

w 命令是 who 的增强版,不仅显示登录用户的基本信息,还提供了系统负载、用户当前进程等更丰富的数据,适合需要监控系统资源使用情况的场景。

基本用法

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

linux怎么查看当前登录的所有用户信息?

  1. 第一行:系统当前时间、系统运行时长、登录用户数、系统负载(1分钟、5分钟、15分钟平均值)。
  2. 后续行:每个登录用户的详细信息,包括用户名、终端、远程主机、登录时间、空闲时间、当前进程(JCPU,指该用户所有进程执行的总时间)和PCPU(当前进程执行的时间)。

示例输出:

 10:35:01 up 2 days,  3:15,  2 users,  load average: 0.05, 0.10, 0.08  
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT  
alice    pts/0    192.168.1.100    10:30    0.00s  0.05s  0.03s bash  
bob      tty1     -                09:15   2days  0.10s  0.01s -bash  

常用选项

  • -h行,仅显示用户信息。
  • -s:简化输出,不显示 JCPU 和 PCPU 时间。
  • -u:显示 idle 时间,与 who -u 类似。

使用 users 命令快速查看登录用户列表

users 是一个极其简单的命令,仅以空格分隔的方式列出当前所有登录系统的用户名,重复的用户名会合并显示。

示例输出

如果用户 alice 通过两个终端登录(pts/0pts/1),输出可能为:

alice alice bob  

该命令适合快速检查当前有哪些用户在线,但信息量较少,通常不用于详细分析。

使用 last 命令查看历史登录记录

last 命令用于查看系统的登录历史记录,包括当前登录和过去的登录信息(存储在 /var/log/wtmp 文件中),适合审计和排查历史登录问题。

基本用法

直接执行 last,会按时间倒序显示登录记录,包括用户名、终端、远程主机、登录时间和退出时间(若未退出则显示 still logged in)。

linux怎么查看当前登录的所有用户信息?

示例输出:

alice    pts/0        192.168.1.100   Mon Oct  2 10:30   still logged in  
bob      tty1         -               Mon Oct  2 09:15   down   (00:05)  
reboot   system boot  5.15.0-56-generic Mon Oct  2 07:00   -2:15 (00:00)  

常用选项

  • -n 数字:仅显示最近 数字 条记录,如 last -n 5 显示最近5条登录记录。
  • -x:显示系统关机、重启等事件,便于关联登录时间与系统状态。
  • -i:显示远程主机的IP地址而非主机名。

使用 finger 命令查看用户详细信息

finger 命令可以显示用户的详细登录信息,包括用户名、主目录、登录Shell、空闲时间等,但部分系统可能默认未安装,需通过包管理器(如 sudo apt install fingersudo yum install finger)安装。

示例输出

Login: alice           Name: (null)  
Directory: /home/alice  Shell: /bin/bash  
On since Oct  2 10:30 (pts/0 from 192.168.1.100) on idle for 0:00  
No mail.  
No Plan.  

查看特定用户的登录信息

若需查看某个特定用户的登录状态,可结合上述命令的过滤功能。

  • who | grep alice:查看用户 alice 的登录信息。
  • w | grep bob:查看用户 bob 的详细登录状态。
  • last alice:查看用户 alice 的历史登录记录。

总结与建议

在Linux系统中,查看登录用户的方法多种多样,可根据需求选择合适的工具:

  • 快速查看当前用户whousers
  • 监控资源与进程w 命令。
  • 审计历史登录last 命令。
  • 详细用户信息finger 命令(需安装)。

掌握这些命令后,用户可以高效管理系统的登录状态,及时发现异常登录行为,保障系统安全,建议定期清理 /var/log/wtmp 等日志文件,避免文件过大影响查询效率。

赞(0)
未经允许不得转载:好主机测评网 » linux怎么查看当前登录的所有用户信息?