标题中的命令显示了我的终端服务器的所有连接用户。是否有等效的 Linux 命令可以显示相同的信息?
答案1
这个简单的who
命令可能在这里给你一个很好的列表。
还有w
命令。
答案2
w
为了提供更多关于用户的背景信息,这个简单w
命令提供了已登录用户及其正在执行的操作的列表。此信息以类似于 的输出格式显示who
,但显示用户空闲的时间、连接到登录 TTY 的所有进程使用的 CPU 时间以及当前进程使用的 CPU 时间。用户的当前进程列在最后一个字段中。
示例输出:
$ w
13:45:48 up 29 days, 19:24, 2 users, load average: 0.53, 0.52, 0.54
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
seth tty2 Sun18 43:22m 0.01s 0.01s /usr/libexec/gnome-session-binary
curly pts/2 13:02 35:12 0.03s 0.03s -bash
-i
或者,您可以使用或选项查看用户的 IP 地址--ip-addr
。
您可以通过指定需要了解哪个用户的信息,将输出范围缩小到单个用户名:
$ w seth
13:45:48 up 29 days, 19:27, 2 users, load average: 0.53, 0.52, 0.54
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
seth tty2 Sun18 43:25m 0.01s 0.01s /usr/libexec/gnome-session-binary
附言
一旦您知道谁登录了您的系统,您就可以使用它ps
来获取当前进程的快照。
--user
您可以使用(或) 选项获取单个用户正在运行的所有进程-u
,以及要报告的用户名。要为输出提供哪个进程是子进程的父进程的附加上下文,请使用--forest
“树”视图选项:
$ ps --forst --user larry
PID TTY TIME CMD
39707 ? 00:00:00 sshd
39713 pts/4 00:00:00 \_ bash
39684 ? 00:00:00 systemd
39691 ? 00:00:00 \_ (sd-pam)