分类: LINUX
2011-02-10 00:11:25
[root@tonyzhang ~]# 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
tonyzhang tty1 :0 22:44 ? 2.01s 0.11s pam: gdm-password
第一行:系统目前的时间,启动的时间,用多少个用户在线,用户的负载情况
第二行:项目说明,用户名、登陆终端、从什么地方登陆的、登陆的时间、负载情况、用户正在进行的操作
第三行以下,都是和第二行的内容解释一样。
想看所有的参数,直接用-a或者是--alla参数
[root@tonyzhang ~]# 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)
tonyzhang - 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 查看系统中用户登陆系统的情况
[root@tonyzhang ~]# last
tonyzhang 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)
在最上面,你会发现这样的信息,这就可以查看到最后登陆系统的用户,而且还有用户的登陆状态。包括系统启动的时间和用户登陆系统的时间。
[root@tonyzhang ~]# lastlog -u root;lastlog -u tonyzhang
Username Port From Latest
root pts/0 192.168.6.1 Fri Jan 14 21:18:05 +0800 2011
Username Port From Latest
tonyzhang **Never logged in**
这里我们过滤了root和tonyzhang这两个用户的登陆情况,你也可以直接用lastlog查看系统中所有用户的登陆情况,但大家会发现一个问题,tonyzhang这个用户,后面显示的是 **Never logged in**,这也是我想不明白的地方,不知道是哪里的问题?通过last查看来用户tonyzhang还在登陆中,但在lastlog中却是**Never logged in**,郁闷了,重新启动还是一样的问题,恢复到最初的安装状态也是这样的结果。如果有朋友知道原因的话,请与我联系,感谢!
OK,知道了如何查看用户,那么如何给在线的用户发信息呢?如何给不在线的用户留言呢?下面我们就来看看些问题的解决。
下面就看看他的具体用法
SYNOPSIS
write user [ttyname]
这个用法很简单,后面接用户再接终端
看例子
[root@tonyzhang ~]# who
root pts/0 2011-01-14 21:18 (192.168.6.1)
tonyzhang tty1 2011-01-14 21:18 (:0)
root pts/1 2011-01-14 21:58 (192.168.6.1)
tonyzhang pts/2 2011-01-14 22:02 (:0.0)
用who查看到系统目前的除了root外还有一个tonyzhang,那么我们给tonyzhang发条信息。
[root@tonyzhang ~]# write tonyzhang pts/2
这时候会等待输入信息,输入下面的信息,最后用ctrl+d来结束输入
hello
nice to meet you
这时候tonyzhang这个用户在终端(Terminal)上就能收到信息了(基本上是同时出现),如图
注意:因为tonyzhang现在在两个终端上,一个是tty1,一个是pts/2。为什么会这样呢?是因为我在登陆系统的时候,是图形界面,先用tonyzhang这个用户登陆了系统,然后在系统上打开了一个终端(Terminal)。系统登陆的时候是tty1,而打开的Terminal就是pts/2。如果你给tty1上的tonyzhang发信息,他是看不到了,只有给pts/2上的tonyzhang发信息才能看到。这里需要理解一下(其实很简单,可以这样理解,登陆了X桌面后,没有提供接收信息的工具,只是在X环境下而已)。不知道我说的清楚了没有,希望大家能明白,不能明白的,请留言。
上面root用户发给tonyzhang的信息,无论tonyzhang当时在干吗,发来的信息都会打断他的当前工具,所以说,就有了下面这个mesg命令来控制是否接收别人发来的信息。但是注意一点,root发来的信息,是拒绝不掉的。
直接用mesg就能查看,一个是y,一个是n
[tonyzhang@tonyzhang ~]$ mesg
is y
设置也很简单,mesg后面加上开关
[tonyzhang@tonyzhang ~]$ mesg n
is n
注:这个设置,一定要是用户的第一环境(登陆环境),如果说是通过su方式切换的话,是没有权限来更改的。
设置完后,除了root用户发个tonyzhang发信息外,其他用户发来的信息,tonyzhang是收不到的。
这个对单个用户发信息,如果是对所有在线的发信息的话,那如何来发呢?哈哈,这个更简单,直接用wall
如
[root@tonyzhang ~]# wall "I will shutdown this system! "
这时候所有在线的用户都会收到这条信息。
注:在上面的信息内容中,最后的!与"之间需要有个空格,这是因为SHELL的语法中会有!,所以要注意一下。一般情况下,命令后面如果是一长串的内容的话,我们都会用""来把他们包括起来。
上面讲的都是给在线的用户发信息,那么如何给离线的用户发信息呢?那就是我们平时用到最多的邮件。我们还记得在讲用户和组的时候,有个用户的邮箱吗?对了,这是这个/var/spool/mail/下面的用户邮箱。
因为这个mail参数很多,我们也不需要来研究太深入,在服务器搭建的课程中,我们还会有这个邮件服务器的搭建讲解,所以,我们这里面只是来简单的了解一下。
发邮件的格式如下(RHEL6中)
[root@tonyzhang ~]# mail tonyzhang
Subject: test send mail
上面输入邮件的标题,下面输入邮件的内容
hello,tonyzhang
nice to meet you!
.
最后以.来结尾
EOT
这时候,发给tonyzhang的邮件就完成了,我们换成tonyzhang的身份来查看一下。
[root@tonyzhang ~]# su - tonyzhang
[tonyzhang@tonyzhang ~]$ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/tonyzhang": 1 message 1 new
>N 1 root Fri Jan 14 23:08 19/603 "test send mail"
&
这时候我们输入1就能看到邮件的具体内容了,
Message 1:
From root@tonyzhang.opsers.org Fri Jan 14 23:08:09 2011
Return-Path:
X-Original-To: tonyzhang
Delivered-To: tonyzhang@tonyzhang.opsers.org
Date: Fri, 14 Jan 2011 23:08:09 +0800
To: tonyzhang@tonyzhang.opsers.org
Subject: test send mail
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
From: root@tonyzhang.opsers.org (root)
Status: R
上面的邮件内容已经清晰的显示出来了,
想看更多的命令,在& 后面输入help
& quit
Held 1 message in /var/spool/mail/tonyzhang
You have mail in /var/spool/mail/tonyzhang
这就退出来了,如果还想看的话,还是用mail来查看,如果不想再要这封邮件的话,那么可以用delete 1来删除邮件。
hello,tonyzhang
nice to meet you!
&