我们前面讲到过id和finger命令可以查看到用户的一些相关信息,下面我们再来看几个和用户信息相关的命令。
w, who, last, lastlog
w就是显示用户的用户,并显示出用户正在干什么。
22:54:24 up 44 min, 2 users, load average: 0.00, 0.03, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.6.1 22:13 0.00s 0.09s 0.00s w
yufei tty1 :0 22:44 ? 2.01s 0.11s pam: gdm-password
第二行:项目说明,用户名、登陆终端、从什么地方登陆的、登陆的时间、负载情况、用户正在进行的操作
第三行以下,都是和第二行的内容解释一样。
who 显示哪些用户登陆了系统
[root@yufei ~]# who -all
system boot 2011-01-13 22:10
run-level 5 2011-01-13 22:10
LOGIN tty2 2011-01-13 22:10 1876 id=2
LOGIN tty3 2011-01-13 22:10 1878 id=3
LOGIN tty4 2011-01-13 22:10 1880 id=4
LOGIN tty6 2011-01-13 22:10 1888 id=6
LOGIN tty5 2011-01-13 22:10 1884 id=5
root + pts/0 2011-01-13 22:13 . 2073 (192.168.6.1)
yufei – tty1 2011-01-13 22:44 old 2049 (:0)
pts/1 2011-01-13 22:50 0 id=/1 term=0 exit=0
这个显示了系统的启动时间,运行的等级,开启的终端(tty1~6),用户的登陆地,进程号等等信息,具体的参数,自己看帮助吧。
last与lastlog
lastlog 查看系统中用户登陆系统的情况
yufei tty1 :0 Fri Jan 14 21:18 still logged in
root pts/0 192.168.6.1 Fri Jan 14 21:18 still logged in
reboot system boot 2.6.32-71.el6.i6 Fri Jan 14 21:07 – 21:22 (00:14)
在最上面,你会发现这样的信息,这就可以查看到最后登陆系统的用户,而且还有用户的登陆状态。包括系统启动的时间和用户登陆系统的时间。
Username Port From Latest
root pts/0 192.168.6.1 Fri Jan 14 21:18:05 +0800 2011
Username Port From Latest
yufei **Never logged in**
这里我们过滤了root和yufei这两个用户的登陆情况,你也可以直接用lastlog查看系统中所有用户的登陆情况,但大家会发现一个问题,yufei这个用户,后面显示的是 **Never logged in**,这也是我想不明白的地方,不知道是哪里的问题?通过last查看来用户yufei还在登陆中,但在lastlog中却是**Never logged in**,郁闷了,重新启动还是一样的问题,恢复到最初的安装状态也是这样的结果。如果有朋友知道原因的话,请与我联系,感谢!
write, wall,以及信息收取的开关mesg
write 和在线的用户交流信息
SYNOPSIS
write user [ttyname]
这个用法很简单,后面接用户再接终端
看例子
[root@yufei ~]# who
root pts/0 2011-01-14 21:18 (192.168.6.1)
yufei tty1 2011-01-14 21:18 (:0)
root pts/1 2011-01-14 21:58 (192.168.6.1)
yufei pts/2 2011-01-14 22:02 (:0.0)
用who查看到系统目前的除了root外还有一个yufei,那么我们给yufei发条信息。
[root@yufei ~]# write yufei pts/2
这时候会等待输入信息,输入下面的信息,最后用ctrl+d来结束输入
hello
nice to meet you
这时候yufei这个用户在终端(Terminal)上就能收到信息了(基本上是同时出现),如图
如何来查询当前的接收状态呢?
[yufei@yufei ~]$ mesg
is y
设置也很简单,mesg后面加上开关
[yufei@yufei ~]$ mesg n
is n
注:这个设置,一定要是用户的第一环境(登陆环境),如果说是通过su方式切换的话,是没有权限来更改的。
设置完后,除了root用户发个yufei发信息外,其他用户发来的信息,yufei是收不到的。
如
[root@yufei ~]# wall “I will shutdown this system! “
这时候所有在线的用户都会收到这条信息。
注:在上面的信息内容中,最后的!与”之间需要有个空格,这是因为SHELL的语法中会有!,所以要注意一下。一般情况下,命令后面如果是一长串的内容的话,我们都会用”"来把他们包括起来。
给离线的用户发信息
因为这个mail参数很多,我们也不需要来研究太深入,在服务器搭建的课程中,我们还会有这个邮件服务器的搭建讲解,所以,我们这里面只是来简单的了解一下。
发邮件的格式如下(RHEL6中)
[root@yufei ~]# mail yufei
Subject: test send mail
上面输入邮件的标题,下面输入邮件的内容
hello,yufei
nice to meet you!
.
最后以.来结尾
EOT
这时候,发给yufei的邮件就完成了,我们换成yufei的身份来查看一下。
[root@yufei ~]# su – yufei
[yufei@yufei ~]$ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
“/var/spool/mail/yufei”: 1 message 1 new
>N 1 root Fri Jan 14 23:08 19/603 “test send mail”
&
这时候我们输入1就能看到邮件的具体内容了,
Message 1:
From root@yufei.opsers.org Fri Jan 14 23:08:09 2011
Return-Path: <root@yufei.opsers.org>
X-Original-To: yufei
Delivered-To: yufei@yufei.opsers.org
Date: Fri, 14 Jan 2011 23:08:09 +0800
To: yufei@yufei.opsers.org
Subject: test send mail
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
From: root@yufei.opsers.org (root)
Status: R
上面的邮件内容已经清晰的显示出来了,
想看更多的命令,在& 后面输入help
& quit
Held 1 message in /var/spool/mail/yufei
You have mail in /var/spool/mail/yufei
这就退出来了,如果还想看的话,还是用mail来查看,如果不想再要这封邮件的话,那么可以用delete 1来删除邮件。
nice to meet you!