今天我们简单介绍下在 linux 系统中列出登录用户的几种方法

Linux 系统中如何查看当前所有登录的用户
在多用户的 Linux 系统中,有时候会有查询当前已登录到系统中用户的需求。比如因某种原因要注销某个用户。

今天我们简单介绍下在 linux 系统中列出登录用户的几种方法。

我们所介绍的这几个方法中,几乎所有命令都依赖存在于 /var 或者 /proc 目录中的数据。如果你对 Linux 中的目录结构稍有了解,就会知道这两个目录包含有关系统上正在运行的进程的数据。

1,使用 w 命令查看 Linux 系统中的登录用户

这是个最简单的方法,只需键入一个字母命令,即可查询出当前系统中登录的用户。

w

登录后复制

如下是 w 命令的输出:

$ w
 09:54:54 up 26 min,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    202.91.87.114    09:37   21.00s  0.00s  0.00s -bash
abhi     pts/1    202.91.87.114    09:47    0.00s  0.00s  0.00s w
rohini   pts/2    157.43.53.142    09:48    6:13   0.00s  0.00s -bash

登录后复制

我们对上面的输出做个简单的解释,在其他命令中也会涉及到这些。

上述输出中,TTY 显示用户用户登录的终端信息,其中 pts 表示伪终端从属,即通过 ssh 连接登录的。

后面几列分别显示用户计算机的 IP 地址、登录时间以及空闲时间(idle)。

JCPU 是连接到 TTY 的所有进程所用的时间,PCPU 是用户运行的当前进程所用时间。WHAT 一列即显示当前进程。

2,使用 who 命令查看登录用户

查询登录用户,who 命令也是一个常用的方法,且使用起来也很简单。

who

登录后复制

其输出如下所示:

$ who
root     pts/0        Aug  6 09:37 (202.91.87.114)
abhi     pts/1        Aug  6 09:47 (202.91.87.114)
rohini   pts/2        Aug  6 09:48 (157.43.53.142)

登录后复制

3,使用 users 命令

上面的两种方法,w 命令和 who 命令,都会显示当前登录用户的详细信息(比如终端、IP地址、登录时间等)。有时候你可能只想要其用户名称(比如要写某个脚本),使用 w 或者 who 命令后,还需要对其输出进行解析,这是一个额外的工作。那么,有没有办法只获取用户的登录名呢?答案是肯定的,那就是使用 users 命令。如下所示:

$ users
abhi rohini root

登录后复制

4,使用 finger 命令

finger 命令并没有在所有 Linux 发行版中都被预先安装,所以在使用之前需要手动安装。比如在 Ubuntu 中可以使用如下命令安装:

sudo apt install finger

登录后复制

安装完成后,即可直接使用 finger 命令来查看当前系统中登录的用户列表:

finger

登录后复制

其输出如下所示:

$ finger
Login     Name             Tty      Idle  Login Time   Office     Office Phone
abhi      Abhishek         pts/1          Aug  6 09:47 (202.91.87.114)
rohini    Rohini Rachita   pts/2      13  Aug  6 09:48 (157.43.53.142)
root      root            *pts/0          Aug  6 09:37 (202.91.87.114)

登录后复制

其他:查看上次重启后,都有谁登录了系统

上面我们介绍的方法是查询当前正在登录到系统中的用户,那么有没有方式查询都有谁登录过系统呢?

last 命令可以显示系统自上次重启以来,都有哪些用户登录过系统(包括当前正在登录的,以及已经注销的用户)。对于注销用户,还显示其登录时间和注销时间。

last

登录后复制

其输出如下所示:

$ last
rohini   pts/3        157.43.53.142    Tue Aug  6 10:05 - 10:05  (00:00)
rohini   pts/2        157.43.53.142    Tue Aug  6 09:48   still logged in
abhi     pts/1        202.91.87.114    Tue Aug  6 09:47   still logged in
root     pts/0        202.91.87.114    Tue Aug  6 09:37   still logged in
reboot   system boot  4.15.0-52-generi Tue Aug  6 09:28   still running
wtmp begins Tue Aug  6 09:28:43 2022

登录后复制

以上就是Linux 系统中如何查看当前所有登录的用户的详细内容,更多请关注小闻网其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。