linux命令:查看当前登录的用户相关信息(w、who、last)

  • Post author:
  • Post category:linux


前面讲过用户管理相关内容,那是一篇对用户相关基础知识的概括文章,后面用于提升,会有更多的相关文章,这里就记录下一些“如何查看当前登录系统的用户信息”。


Linux中的用户管理相关内容



一、w命令

w命令主要用于显示

已经登录到系统的用户相关信息

以及他们

正在做的事

。该命令所使用的信息来源于/var/run/utmp文件(具体信息可执行查阅)。

实例:

[root@localhost /]# w
 20:16:29 up 13 days,  4:52,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    180.161.72.224   20:10    5.00s  0.03s  0.00s w

信息详解:

列名 详解
USER 用户名称
TTY 用户的机器名称或tty号
FROM 远程主机地址
LOGIN@ 用户登录系统的时间
IDLE 空闲时间(作用不大)
JCPU 附加到tty(终端)的进程所用的时间(JCPU时间),理解为与此终端会话相关的进程所消耗CPU时间
PCPU 当前进程所用时间(PCPU时间)
WHAT 用户当前正在使用的命令

这里就不列出w命令各种用法了,只例举几个常用的:

w [option]

参数 详解
-h 忽略头文件信息
-u 显示结果的加载时间
-s 不显示JCPU,PCPU,登录时间

实例解析

[root@localhost /]# w
 20:44:40 up 13 days,  5:20,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    180.161.72.224   20:10    0.00s  0.03s  0.00s w
[root@localhost /]# w -h
root     pts/0    180.161.72.224   20:10    4.00s  0.03s  0.00s w -h
[root@localhost /]# w -u
 20:44:55 up 13 days,  5:20,  1 user,  load average: 0.08, 0.03, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    180.161.72.224   20:10    7.00s  0.03s  0.00s w -u
[root@localhost /]# w -s
 20:45:04 up 13 days,  5:20,  1 user,  load average: 0.06, 0.03, 0.05
USER     TTY      FROM              IDLE WHAT
root     pts/0    180.161.72.224    0.00s w -s



二、who命令

who命令用于列举出当前已登录系统的用户相关信息(

用户名、tty号、时间日期、主机地址

)。

[root@localhost /]# who
root     pts/0        2020-11-22 20:10 (180.161.72.224)
#当该用户使用多个终端登录系统,该命令就会显示多个行,每行对应一个终端。

[root@localhost /]# who | cut -d ' ' -f1 | sort
root
#只列出用户

[root@localhost /]# who | cut -d ' ' -f1 | sort | uniq
root
#只列出用户,并去重


#cut文件内容查看,显示行中的指定部分,删除文件中指定字段。
#sort排序,后跟文件名时,将以默认的方式将文本文件的第一列以ASCII 码的次序排列,并将结果输出到标准输出。
#uniq去重,除非重复行是相邻的,否则 uniq 不会删除它们。因此,你可能需要先对它们进行排序,或将排序命令与 uniq 组合以获得结果。
#上述三个常见命令这里只做了个简介,后续有时间会专门写文章进行详细介绍。

#users命令,可用于打印输出登录服务器的用户名称。该命令除了有help和version选项外,再没有其他选项。如果某用户使用了多个终端,则相应的会显示多个重复的用户名。
[root@localhost /]# users
root

#whoami命令用于显示登入的用户名。
[root@localhost /]# whoami
root

#whoami命令的执行效果和id -un的效果完全一样
[root@localhost /]# id -un
root

[root@localhost /]# who am i
root     pts/0        2020-11-22 20:10 (180.161.72.224)
[root@localhost /]# who mom likes
root     pts/0        2020-11-22 20:10 (180.161.72.224)



三、last命令

last命令可用于显示特定用户登录系统的历史记录。

last root则显示的是root登录系统的历史记录。

[root@localhost /]# last
root     pts/0        180.161.72.224   Sun Nov 22 20:10   still logged in   
root     pts/1        180.161.100.170  Fri Nov 20 16:07 - 18:02  (01:54)    
root     pts/0        180.161.100.170  Fri Nov 20 16:05 - 18:02  (01:56)    
root     pts/4        180.161.100.170  Fri Nov 20 15:37 - 15:37  (00:00)    
root     pts/3        180.161.100.170  Fri Nov 20 15:19 - 16:02  (00:43)    
root     pts/2        180.161.100.170  Fri Nov 20 15:11 - 16:02  (00:51)    
root     pts/1        180.161.100.170  Fri Nov 20 15:11 - 16:02  (00:51)    
root     pts/0        180.161.100.170  Fri Nov 20 15:10 - 16:02  (00:52)    
root     pts/0        180.161.100.170  Fri Nov 20 10:41 - 11:37  (00:56)    
root     pts/0        180.161.77.44    Tue Nov 17 22:32 - 00:49  (02:17)    
......

#用户名称 TTY 登录主机号 历史登录时间日期 登出时间日期 总工作时间

参考自:


https://blog.csdn.net/newdriver2783/article/details/8059368

学无止尽,Linux的世界也是浩瀚无际,继续努力!!



版权声明:本文为qq_16268979原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。