Linux登陆用户信息查看命令w/who/whoami

话说很久前的一天,那时候刚接触Linux服务器没多长时间,有一台服务器老是莫名其妙的向往发送大量的数据包,于是第一次使用了who命令,从服务器上找到了一位不速之客。

who命令主要用于查看当前在线上的用户情况。这个命令非常有用。如果用户想和其他用户建立即使通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。

又如,系统管理员希望监视每个登陆的用户此时此刻的所作所为,也要使用who命令。

执行时返回结果如下:


[boear@web ~]$ who
boear pts/1 2011-09-01 20:12 (:pts/0:S.0)
boear pts/2 2011-09-01 20:13 (115.60.116.147)
boear pts/3 2011-09-01 21:41 (115.60.116.147)
boear pts/4 2011-09-01 21:45 (115.60.116.147)

Who命令的常用命令格式和常用选项如下:

-a 显示所有用户的所有信息

-m 显示运行该程序的用户名,和“who am I”的作用一样

-q 只显示用户的登陆帐号和登陆用户的数量,该选项优先级高于其他任何选项

-u 在登陆用户后面显示该用户最后一次对系统进行操作距今的时间

-H 显示列标题

who输出常用标题含义

USER 用户登陆

LINE 用户登陆使用终端

TIME 用户登陆时间

LDIE 用户空闲时间,即至进行操作的时间

PID 用户登陆shell的进程ID

另一个常用的功能类似的命令是w命令。w命令也用于显示登录到系统的用户情况,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,感觉比较实用,具体用法如下:

w命令的显示项目按以下顺序排列:当前时间,系统启动到现在的时间,登录用户的数目,系统在最 近1秒、5秒和15秒的平均负载。然后是每个用户的各项数据,项目显示顺序如下:登录帐号、终端名称、远 程主机名、登录时间、空闲时间、JCPU、PCPU、当前正在运行进程的命令行。

执行时返回结果如下:


[boear@web ~]$ w
22:06:07 up 12 days, 14:23, 4 users, load average: 0.16, 0.18, 0.23
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
boear pts/1 :pts/0:S.0 20:12 3:00 44:34 44:34 rtorrent
boear pts/2 115.60.116.147 20:13 42:03 0.05s 0.05s -bash
boear pts/3 115.60.116.147 21:41 3:00 0.03s 0.00s screen -x
boear pts/4 115.60.116.147 21:45 1.00s 0.02s 0.00s w

w命令的常用参数如下

-h 不显示标题。

-u 当列出当前进程和CPU时间时忽略用户名。这主要是用于执行su命令后的情况。

-s 使用短模式。不显示登录时间、JCPU和PCPU时间。

-f 切换显示FROM项,也就是远程主机名项。默认值是不显示远程主机名,当然系统管理员可以对源文件 作一些修改使得显示该项成为默认值。

-V 显示版本信息。

另外还有两个命令是whoami和who am i 。whoami显示当前用户名,比如root,而who am i则是显示登录用户名,即使你当前通过sudo su切换到了管理员root模式,还是只显示登录用户名。

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">