查询使用者: w, who, last, lastlog

如果你想要知道目前已登入在系统上面的用户呢?可以透过 w 或 who 来查询喔!如下范例所示:

[root@study ~]# w
01:49:18 up 25 days, 3:34, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
dmtsai tty2 07Jul15 12days 0.03s 0.03s -bash
dmtsai pts/0 172.16.200.254 00:18 6.00s 0.31s 0.11s sshd: dmtsai [priv] # 第一行显示目前的时间、开机 (up) 多久,几个用户在系统上平均负载等;
# 第二行只是各个项目的说明,
# 第三行以后,每行代表一个使用者。如上所示,dmtsai 登入并取得终端机名 tty2 之意。[root@study ~]# who
dmtsai   tty2         2015-07-07 23:07
dmtsai   pts/0        2015-07-22 00:18 (192.168.1.100)

如果您想要知道每个账号的最近登入的时间,则可以使用 lastlog 这个指令喔! lastlog 会去
读取 /var/log/lastlog 文件,结果将数据输出如下表:

[root@study ~]# lastlog
Username         Port     From             Latest
root             pts/0                     Wed Jul 22 00:26:08 +0800 2015
bin                                        **Never logged in**
....(中间省略)....
dmtsai           pts/1    192.168.1.100    Wed Jul 22 01:08:07 +0800 2015
vbird1           pts/0                     Wed Jul 22 01:32:17 +0800 2015
pro3                                       **Never logged in**
....(以下省略)....

使用者对谈: write, mesg, wall

是否可以跟系统上面的用户谈天说地呢?当然可以啦!利用 write 这个指令即可。 write 可 以直接将讯息传给接收者啰!举例来说,我们的 Linux 目前有 vbird1 与 root 两个人在在线, 我 的 root 要跟 vbird1 讲话,可以这样做:

[root@study ~]# write 使用者账号 [用户所在终端接口][root@study ~]# who
vbird1 tty3 2015-07-22 01:55 <==有看到 vbird1 在在线
root tty4 2015-07-22 01:56[root@study ~]# write vbird1 pts/2
Hello, there:
Please don't do anything wrong... <==这两行是 root 写的信息!
# 结束时,请按下 [crtl]-d 来结束输入。此时在 vbird1 的画面中,会出现:Message from root@study.centos.vbird on tty4 at 01:57 ... Hello, there:
Please don't do anything wrong...
EOF

立刻会有讯息响应给 vbird1 !不过......当时 vbird1 正在查资料,哇! 这些讯息会立刻打断 vbird1 原本的工作喔!所以,如果 vbird1 这个人不想要接受任何讯息,直接下达这个动作:

[vbird1@study ~]$ mesg n
[vbird1@study ~]$ mesg
is n

这个 mesg 的功能对 root 传送来的讯息没有抵挡的能力!所以如果是 root 传送讯息, vbird1 还是得要收下。 但是如果 root 的 mesg 是 n 的,那么 vbird1 写给 root 的信息会变这样:

[vbird1@study ~]$ write root
write: root has messages disabled

相对于 write 是仅针对一个使用者来传『简讯』,我们还可以『对所有系 统上面的用户传送简讯 (广播)』哩~ 如何下达?用 wall 即可

 [root@study ~]# wall "I will shutdown my linux server..."

使用者邮件信箱: mail

寄出信件呢?就直接使用 mail 这个指令即可!这个指令的用法很简单的,直接这样下 达:『mail -s "邮件标题" username@localhost 』即可! 一般来说,如果是寄给本机上的使用者,基 本上,连『 @localhost 』都不用写啦! 举例来说,我以 root 寄信给 vbird1 ,信件标题是『 nice to meet you 』,则:

[root@study ~]# mail -s "nice to meet you" vbird1 Hello, D.M. Tsai
Nice to meet you in the network.
You are so nice. byebye!
. <==这里很重要喔,结束时,最后一行输入小数点 . 即可!
EOT
[root@study ~]# <==出现提示字符,表示输入完毕了!

如此一来,你就已经寄出一封信给 vbird1 这位使用者啰,而且,该信件标题为: nice to meet you, 信件内容就如同上面提到的。不过,你或许会觉得 mail 这个程序不好用~ 因为在信件编写的过程 中,如果写错字而按下 Enter 进入次行,前一行的数据很难删除ㄟ! 那怎么办?没关系啦!我们使 用数据流重导向啊!呵呵!利用那个小于的符号 ( < ) 就可以达到取代键盘输入的要求了。也就是说, 你可以先用 vi 将信件内容编好, 然后再以 mail -s "nice to meet you" vbird1 < filename 来将文件内 容传输即可。

如果是要收信呢?呵呵!同样的使用 mail 啊! 假设 我以 vbird1 的身份登入主机,然后输入 mail 后,

[vbird1@study ~]$ mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/vbird1": 1 message 1 new
>N 1 root Wed Jul 22 02:09 20/671 "nice to meet you"
& <==这里可以输入很多的指令,如果要查阅,输入 ? 即可!

在 mail 当中的提示字符是 & 符号喔,别搞错了~输入 mail 之后,我可以看到我有一封信件, 这 封信件的前面那个 > 代表目前处理的信件,而在大于符号的右边那个 N 代表该封信件尚未读过, 如果我想要知道这个 mail 内部的指令有哪些,可以在 & 之后输入『 ? 』,就可以看到如下的画面:

& ?mail commands
type <message list>             type messages
next                            goto and type next message
from <message list>             give head lines of messages
headers                         print out active message headers
delete <message list>           delete messages
undelete <message list>         undelete messages
save <message list> folder      append messages to folder and mark as saved
copy <message list> folder      append messages to folder without marking them
write <message list> file       append message texts to file, save attachments
preserve <message list>         keep incoming messages in mailbox even if saved
Reply <message list>            reply to message senders
reply <message list>            reply to message senders and all recipients
mail addresses                  mail to specific recipients
file folder                     change to another folder
quit                            quit and apply changes to folder
xit                             quit and discard changes made to folder
!                               shell escape
cd <directory>                  chdir to directory or home if none given
list                            list names of all available commands

指的是每封邮件的左边那个数字啦!而几个比较常见的指令是:

指令 意义
h 列出信件标头;如果要查阅 40 封信件左右的信件标头,可以输入『 h 40 』
d 删除后续接的信件号码,删除单封是『 d10 』,删除 20~40 封则为『 d20-40 』。 不过,这个动作要生效 的话,必须要配合 q 这个指令才行(参考底下说明)!
s 将信件储存成文件。例如我要将第 5 封信件的内容存成 ~/mail.file:『s 5 ~/mail.file』
x 或者输入 exit 都可以。这个是『不作任何动作离开 mail 程序』的意思。 不论你刚刚删除了什么信件, 或者读过什么,使用 exit 都会直接离开 mail,所以刚刚进行的删除与阅读工作都会无效。 如果您只是查 阅一下邮件而已的话,一般来说,建议使用这个离开啦!除非你真的要删除某些信件。
q 相对于 exit 是不动作离开, q 则会实际进行你刚刚所执行的任何动作 (尤其是删除!)

转载于:https://www.cnblogs.com/uetucci/p/7677356.html

Linux学习-Linux 主机上的用户讯息传递相关推荐

  1. Linux学习——Linux文件与目录管理

    Linux学习--Linux文件与目录管理 实验内容 实验目的 实验指导 实验内容 练习Linux文件和目录操作命令. 实验目的 掌握文件与目录管理命令 掌握文件内容查阅命令 实验指导 文件与目录管理 ...

  2. 【Linux学习(五)管理用户和用户组】万字长文

    管理账号和用户组 在之前多篇文章中,我们反复的提到过普通用户和 root用户的一些区别.也多多少少涉及了多用户和用户组的概念 如果你是初学者,不出意外你一直使用的应该都是 root用户(俺也一样):那 ...

  3. 我的Linux学习记录(蓝桥)————用户及文件权限管理

    我的Linux学习记录(蓝桥)三 Linux 是一个可以实现多用户登录的操作系统,比如"李雷"和"韩梅梅"都可以同时登录同一台主机,他们共享一些主机的资源,但他 ...

  4. Linux学习-26-passwd命令:修改用户密码

    8.10 Linux passwd命令:修改用户密码 用户管理的一项重要内容是用户口令的管理.useradd 命令命令创建新用户时,并没有设定用户密码,所以被系统锁定,无法使用,必须为其指定口令后才可 ...

  5. linux让指定文件具有sudo的权限,Linux学习笔记——使用指定的用户权限执行程序——sudo...

    sudo可以用来以其他用户身份执行命令,sudo命令可以针对单个命令授予临时权限.sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性. 1:sudo的帮助信息如下: [emai ...

  6. LINUX学习------Linux自动化运维——Docker容器

    Docker介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...

  7. LINUX学习------Linux自动化运维——Kubernetes的pod管理

    一.Pod管理 Pods Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip. Pod (就像在鲸鱼荚或者豌豆荚中)是一 ...

  8. java主机上切换用户,linux 主机上更换默认的jdk

    linux 主机上的jdk 一般默认在  /usr/lib/jvm [root@bpsmanage1 jvm]# ls java     java-1.6.0-openjdk-1.6.0.0.x86_ ...

  9. Linux学习Vim使用及账号用户管理

    Vim使用及账号用户管理 什么是Vim编辑器 Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.linux必须要学会(查看内容,编辑内 ...

最新文章

  1. 求任意数阶乘最后一位
  2. webpack项目代理异常解决
  3. dataframe 筛选_使用pandas筛选出指定列值所对应的行
  4. Windows 命令集合
  5. jsp中两个字符串格式的日期可以相减吗_举个栗子!Tableau 技巧(126):学几个常用的日期函数...
  6. php邮箱验证laravel接口,Email认证 | Laravel 中文文档 - 码农教程
  7. 安卓桌布显示的dip和px
  8. 比利时女摄影师玛瑞亚
  9. 字符串暴力匹配算法+思路分析
  10. 夺命雷公狗jquery---22-bind为jquery对象绑定多个相关事件
  11. 【转】DICOM中几个判断图像方向的tag
  12. Oracle学习笔记:通过种子数据库设置dbid为指定值
  13. Java分布式锁看这篇就够了,java基础面试笔试题
  14. 广安a货翡翠,自贡a货翡翠
  15. hrbust 1041(并查集)
  16. python练习题4
  17. exp/imp导出导入工具的使用
  18. CCS安装教程——学习DSP的第一步
  19. mmd动作:Bad End Night
  20. 利用python进行TEQC质量检核结果绘图

热门文章

  1. 读书_w3c架构师01通用设计与方法论
  2. Java反射修改返回值_java反射调用时如果返回值是整型数组怎么处理?
  3. “工业4.0”下的制造业数据化管理
  4. 数据体系建设的开端,该如何规划平台? 1
  5. EXCEL的底层实现
  6. java自带函数_java8中内置的四大核心函数式接口
  7. main run方法没用_多线程:解决Runnable接口无start()方法的问题
  8. python计算商品总价_python根据京东商品url获取产品价格
  9. resnet50代码_十余行代码完成迁移学习,百度PaddleHub实战解读
  10. 补码乘法实验原理_你真的理解补码吗?