Linux系统下如何查看已经登录用户

 虽然前面介绍了用户管理,但是那部分主要是管理用户的帐号,也就静态的用户列表。而LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务。系统管理员可以随时了解系统中有那些用户,用户都在进行什么操作。

  查看用户的操作

  系统管理员若想知道某一时刻用户的行为,只需要输入命令W 即可,在SHELL终端中输入如下命令:

  

[ROOT@LOCALHOST ROOT] # W 2:31PM UP 11 DAY ,21:18 4 USERS, LODE AVERAGE : 0.12, 0.09 , 0.08 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ROOT TTY1 - 09:21AM 3:23 0.13S 0.08S -BASH GEORGE TTY2 - 09:40AM 18:00S 0.12S 0.00S TELNET HELLO TTY6 - 11:12AM 34.00S 0.06S 0.O6S BASH MARRY PTS/1 192.0.3.1102:40PM 5.20S 0.09S 0.03S FTP

  可以看到执行W命令及显示结果。

  命令信息含义

  上述显示的信息分别表示如下:

  第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登陆哟内用户总数及系统平均负载信息。对于上述势力中的几个显示数据意义为:

  2:13PM 表示执行W的时间是在下午2点31分。

  11DAYS,81:18 表示系统运行11天零21小时18分。

  4 USERS 表示当前系统登陆用户总数为4。

  LOAD AVERAGE 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。

  从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。

  USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。

  TTY:用户登陆所用的终端。

  FROM:显示用户在何处登陆系统。

  LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。

  IDLE:用户空闲时间,从用户上一次任务结束后,开会记时。

  JCPU:一终端代号来区分,表示在摸段时间内,所有与该终端相关的进程任务所耗费的CPU时间。

  PCPU:指WHAT域的任务执行后耗费的CPU时间。

  WHAT:表示当前执行的任务。

  查看某用户

  当登陆系统用户很多的时候,可以在W后面加上某个用户名,则会查看该用户执行任务的情况。

  

〔root@localost root〕#w heiio2:31pm up 11 days,21:18 4 users, load average : 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT Hello tty6 11:12am 34.00s 0.06s 0.06s bash

  默认情况下,系统会显示上述所有的信息,如果只关心某一方面,可以只使用相关的选项。

  查看登陆用户

  同样,系统管理员若想知道某一时刻登陆的用户,可以使用系统提供的WEB命令,该命令可以查看当前登陆到系统的用户及其他信息:

  

[ROOT@LOCAL ROOT]#who root tty1 - 09:21am reorge tty2 - 09:40am hello tty6 - 11:12am marry pts/1 :0 02:40pm

  可以看出上述信息与W命令非常相似。如果想让列表更详细一些,可以加上选项-HIT等,就可以得到该用户是否愿意接受其他用户信息(-T)还可以显示空闲时间(-I)及标题栏(-H)。如果某各用户愿意接受信息,会在MESG栏中显示一个“+”,这是还可以使用命令MESG给用户发从信息。

  查看登陆用户历史

  系统管理员若想知道系统中用户登陆的历史行为,还可以察看用户曾经登陆到系统。使用LAST命令可以查询曾经登陆用户的信息:

  

ROOT TTY1 09:21AM MON FRI 10 11:15 STILL LOGGED IN GEORGE TYY2 09:40AM MON FRI 11 11:18 -DOWN HELLO TTY6 11:12AM MON FRI 12 9:47 -DOWN MARRY PTS/1 192.0.3.11 02:40PM FRI 17 12:56 -DOWN …… WTMP BEGINS FRI DEC 5 12:53:55 2003

  使用LAST 命令时,列出的文件内容会非常多,根本看不清楚。此时可以使用前面介绍的管理方式来观看,例如/LAST/ LESS,则可以查看前后内容。同查看用户情况一样,想查看那某个用户的登陆情况,也可以在LAST命令后加上用户名,则系统只会显示该用户登陆系统情况。

  

[root@localhost root]# last george george tty2 - 09:40am mon fri 11 11.18 -down …………. Wtem begins fri dec 5 12:53;55 2003

  执行last命令其实是显示/var/log/目录下的wtmp文件内容。Wtmp文件是以二进制格式进行存储的,如果直接使用文本编辑器查看,查看的会是一堆乱码。

二、who命令

该命令主要用于查看当前在线上的用户情况。

who命令的常用语法格式如下:

who [imqsuwHT] [--count] [--idle] [--heading] [--help] [--message] [--mesg] [--version] [--writable] [file] [am i]

所有的选项都是可选的,也就是说可以单独使用who命令。不使用任何选项时,who命令将显示以下三项内容:

login name:登录用户名;

terminal line:使用终端设备;

login time:登录到系统的时间。

如果给出的是两个非选项参数,那么who命令将只显示运行who程序的用户名、登录终端和登录时间。通常这两个参数是“am i”,即该命令格式为:“who am i”。

下面对who命令的常用参数进行说明。

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

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

-s 忽略。主要是用于和其他版本的who命令兼容。

-i,-u,--idle 在登录时间后面显示该用户最后一次对系统进行操作至今的时间,也就是常说的“发呆”时间。其中“.”符号代表该用户在前1秒仍然处于活动状态;“old”则表示该用户空闲已经超过了24小时。

-H,--heading 显示一行列标题。常用的标题如表4-2所示。

表4-2 who命令输出常用标题

标 题

说 明

USER

用户登录帐号

LINE

用户登录使用终端

LOGIN-TIME

用户登录时间

IDLE

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

PID

用户登录shell的进程ID

FROM

用户网络地址

-w,-T--mesg,--message,--writable 和-s选项一样,在登录帐号后面显示一个字符来表示用户的信息状态:

+:允许写信息;

-:不允许写信息;

?:不能找到终端设备。

--help 在标准输出上显示帮助信息。

--version 在标准输出上显示版本信息。

下面介绍who命令的一些基本用法。

如果需要查看在系统上究竟有哪些用户,可以直接使用who命令。

[例17] 查看登录到系统的用户情况

$ who

root tty1 Mar 17 13:49

foxy tty2 Mar 17 13:49

root tty3 Mar 17 13:49

bbs ttyp0 Mar 17 13:49 (river.net)

可以看到,现在系统一共有四个用户。第一列是登录用户的帐号;第二列是登录所使用的终端;第三列是登录时间;第四列是用户从什么地方登录的网络地址,这里是域名。

一般来说,这样就可以了解登录用户的大致情况了。但有时上面的显示不是那么直观,因为没有标题说明,不容易看懂,这时就需要使用-H选项了。

[例18] 查看登录用户的详细情况,键入:

$ who -uH

显示如下:

USER LINE LOGIN-TIME IDLE FROM

root tty1 Mar 17 13:49 .

foxy tty2 Mar 17 13:49 00:01

root tty3 Mar 17 13:49 00:01

bbs ttyp0 Mar 17 13:49 00:01 (river.net)

这样一目了然。其中-u选项指定显示用户空闲时间,所以可以看到多了一项IDLE。第一个root用户的IDLE项是一个“.”,这就说明该用户在前1秒仍然是活动的,而其他用户后面都有一个时间,称为空闲时间。

最后来看看使用“who am i”格式命令的结果:

233.river.net!root tty1 Mar 17 13:49

可见只显示出了运行该who命令的用户情况,当然这时候不存在空闲时间。

who命令应用起来非常简单,可以比较准确地掌握用户的情况,所以使用非常广泛。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值