当前位置: 首页 > 科技观察

如何查看Linux系统当前所有登录用户

时间:2023-03-15 00:11:12 科技观察

在多用户Linux系统中,有时需要查询当前登录系统的用户。例如,由于某种原因需要注销用户。今天我们简单介绍一下Linux系统中列出登录用户的几种方法。我们介绍的几乎所有命令都依赖于驻留在/var或/proc目录中的数据。如果您对Linux中的目录结构有所了解,就会知道这两个目录包含有关系统上运行的进程的数据。1、使用w命令查看linux系统中登录的用户。这是最简单的方法。只需要输入一个字母命令就可以查询当前系统登录的用户。以下是w命令的输出:$w09:54:54up26min,3users,loadaverage:0.00,0.00,0.00USERTTYFROMLOGIN@IDLEJCPUPCPUWHATrootpts/0202.91.87.11409:3721.00s0.00s0.00s-bashabhipts/1202.91.87.11409:470.00s0.00s0.00swrohinipts/2157.43.53.14209:486:130.00s0.00s-bash让我们对上面的内容做一个简单的解释output,这也涉及到其他命令。在上面的输出中,TTY显示了用户登录的终端信息,其中pts表示伪终端slave,即通过ssh连接登录。接下来的几列显示了用户计算机的IP地址、登录时间和空闲时间(idle)。JCPU是连接到TTY的所有进程所花费的时间,PCPU是用户当前运行的进程所花费的时间。WHAT列显示当前进程。2、使用who命令查看登录用户查询登录用户。who命令也是常用的方法,使用起来非常简单。who的输出如下:$whorootpts/0Aug609:37(202.91.87.114)abhipts/1Aug609:47(202.91.87.114)rohinipts/2Aug609:48(157.43.53.142)3。使用users命令,上面w命令和who命令两种方式,都会显示当前登录用户的详细信息(如终端、IP地址、登录时间等)。有时您可能只想要用户名(例如,编写脚本),而在使用w或who命令后,您需要解析输出,这是一项额外的工作。那么,有没有办法只获取用户的登录名呢?答案是肯定的,那就是使用users命令。如下:$usersabhirohiniroot4,使用finger命令finger命令并不是所有Linux发行版都预装的,所以在使用前需要手动安装。例如在Ubuntu中,可以使用如下命令安装:sudoaptinstallfinger安装完成后,可以直接使用finger命令查看当前系统登录的用户列表:finger输出结果如下如下:$fingerLogin名称Tty空闲登录时间OfficeOfficePhoneabhiAbhishekpts/1Aug609:47(202.91.87.114)rohiniRohiniRachitapts/213Aug609:48(157.43.53.142)rootroot*pts/0Aug609:37(202.91.87.114)Other:检查上次重启后谁登录了系统。上面我们介绍的方法是查询当前登录系统的用户。有没有办法查询谁登录了系统?last命令可以显示自上次系统重启后有哪些用户登录过系统(包括当前登录的和已经退出的)。对于已注销的用户,还会显示他们的登录时间和注销时间。最后它的输出看起来像这样:$lastrohinipts/3157.43.53.142TueAug610:05-10:05(00:00)rohinipts/2157.43.53.142TueAug609:48stillloggedinabhipts/1202.91.87.1148月6日星期二09:47仍然登录inrootpts/0202.91.87.1148月6日星期二09:37仍然登录reboot系统启动4.15.0-52-generi8月6日星期二09:28仍在运行wtmp开始于8月6日星期二0928:432022以上就是本次分享的全部内容,欢迎讨论。