- 浏览: 595933 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
谈了这么多的账号问题,总是该要谈一谈,那么如何针对系统上面的用户进行查询吧? 想几个状态,如果你在 Linux 上面操作时,刚好有其他的用户也登陆主机,你想要跟他对谈,该如何是好? 你想要知道某个账号的相关信息,该如何查阅?呼呼!底下我们就来聊一聊~
查询使用者: w, who, last, lastlog
如何查询一个用户的相关数据呢?这还不简单,我们之前就提过了 id, finger 等命令了,都可以让您了解到一个用户的相关信息啦!那么想要知道使用者到底啥时候登陆呢? 最简单可以使用 last 检查啊!这个玩意儿我们也在 第十一章 bash 提过了, 您可以自行前往参考啊!简单的很。
那如果你想要知道目前已登陆在系统上面的用户呢?可以透过 w 或 who 来查询喔!如下范例所示:
另外,如果您想要知道每个账号的最近登陆的时间,则可以使用 lastlog 这个命令喔! lastlog 会去读取 /var/log/lastlog 文件,结果将数据输出如下表:
这样就能够知道每个账号的最近登陆的时间啰~ ^_^
使用者对谈: write, mesg, wall
那么我是否可以跟系统上面的用户谈天说地呢?当然可以啦!利用 write 这个命令即可。 write 可以直接将信息传给接收者啰!举例来说,我们的 Linux 目前有 vbird1 与 root 两个人在在线, 我的 root 要跟 vbird1 讲话,可以这样做:
怪怪~立刻会有信息响应给 vbird1 !不过......当时 vbird1 正在查数据,哇! 这些信息会立刻打断 vbird1 原本的工作喔!所以,如果 vbird1 这个人不想要接受任何信息,直接下达这个动作:
不过,这个 mesg 的功能对 root 传送来的信息没有抵挡的能力!所以如果是 root 传送信息, vbird1 还是得要收下。 但是如果 root 的 mesg 是 n 的,那么 vbird1 写给 root 的信息会变这样:
了解乎?如果想要解开的话,再次下达『 mesg y 』就好啦!想要知道目前的 mesg 状态,直接下达『 mesg 』即可!瞭呼? 相对于 write 是仅针对一个使用者来传『简讯』,我们还可以『对所有系统上面的用户传送简讯 (广播)』哩~ 如何下达?用 wall 即可啊!他的语法也是很简单的喔!
然后你就会发现所有的人都会收到这个简讯呢!
使用者邮件信箱: mail
使用 wall, write 毕竟要等到使用者在在线才能够进行,有没有其他方式来联络啊? 不是说每个 Linux 主机上面的用户都具有一个 mailbox 吗? 我们可否寄信给使用者啊!呵呵!当然可以啊!我们可以寄、收 mailbox 内的信件呢! 一般来说, mailbox 都会放置在 /var/spool/mail 里面,一个账号一个 mailbox (文件)。 举例来说,我的 vbird1 就具有 /var/spool/mail/vbird1 这个 mailbox 喔!
那么我该如何寄出信件呢?就直接使用 mail 这个命令即可!这个命令的用法很简单的,直接这样下达:『 mail username@localhost -s "邮件标题" 』即可! 一般来说,如果是寄给本机上的使用者,基本上,连『 @localhost 』都不用写啦! 举例来说,我以 root 寄信给 vbird1 ,信件标题是『 nice to meet you 』,则:
如此一来,你就已经寄出一封信给 vbird1 这位使用者啰,而且,该信件标题为: nice to meet you,信件内容就如同上面提到的。不过,你或许会觉得 mail 这个程序不好用~ 因为在信件编写的过程中,如果写错字而按下 Enter 进入次行,前一行的数据很难删除ㄟ! 那怎么办?没关系啦!我们使用数据流重导向啊!呵呵!利用那个小于的符号 ( < ) 就可以达到取代键盘输入的要求了。也就是说,你可以先用 vi 将信件内容编好, 然后再以 mail vbird1 -s "nice to meet you" < filename 来将文件内容传输即可。
例题:
请将你的家目录下的环境变量文件 (~/.bashrc) 寄给自己!
答:
mail -s "bashrc file content" vbird < ~/.bashrc
刚刚上面提到的是关于『寄信』的问题,那么如果是要收信呢?呵呵!同样的使用 mail 啊! 假设我以 vbird1 的身份登陆主机,然后输入 mail 后,会得到什么?
在 mail 当中的提示字符是 & 符号喔,别搞错了~输入 mail 之后,我可以看到我有一封信件, 这封信件的前面那个 > 代表目前处理的信件,而在大于符号的左边那个 N 代表该封信件尚未读过, 如果我想要知道这个 mail 内部的命令有哪些,可以在 & 之后输入『 ? 』,就可以看到如下的画面:
<message list> 指的是每封邮件的左边那个数字啦!而几个比较常见的命令是:
命令 意义
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 则会进行两项动作: 1. 将刚刚删除的信件移出 mailbox 之外; 2. 将刚刚有阅读过的信件存入 ~/mbox ,且移出 mailbox 之外。鸟哥通常不很喜欢使用 q 离开, 因为,很容易忘记读过什么咚咚~导致信件给他移出 mailbox 说~
由于读过的信件若使用『 q 』来离开 mail 时,会将该信件移动到 ~/mbox 中,所以你可以这样想象: /var/spool/mail/vbird1 为 vbird1 的『新件匣』,而 /home/vbird1/mbox 则为『收件匣』的意思。 那如何读取 /home/vbird1/mbox 呢?就使用『mail -f /home/vbird1/mbox』即可。
转自:http://vbird.dic.ksu.edu.tw/linux_basic/0410accountmanager_6.php
查询使用者: w, who, last, lastlog
如何查询一个用户的相关数据呢?这还不简单,我们之前就提过了 id, finger 等命令了,都可以让您了解到一个用户的相关信息啦!那么想要知道使用者到底啥时候登陆呢? 最简单可以使用 last 检查啊!这个玩意儿我们也在 第十一章 bash 提过了, 您可以自行前往参考啊!简单的很。
那如果你想要知道目前已登陆在系统上面的用户呢?可以透过 w 或 who 来查询喔!如下范例所示:
[root@www ~]# w 13:13:56 up 13:00, 1 user, load average: 0.08, 0.02, 0.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/1 192.168.1.100 11:04 0.00s 0.36s 0.00s -bash vbird1 pts/2 192.168.1.100 13:15 0.00s 0.06s 0.02s w # 第一行显示目前的时间、启动 (up) 多久,几个用户在系统上平均负载等; # 第二行只是各个项目的说明, # 第三行以后,每行代表一个使用者。如上所示,root 登陆并取得终端机名 pts/1 之意。 [root@www ~]# who root pts/1 2009-03-04 11:04 (192.168.1.100) vbird1 pts/2 2009-03-04 13:15 (192.168.1.100)
另外,如果您想要知道每个账号的最近登陆的时间,则可以使用 lastlog 这个命令喔! lastlog 会去读取 /var/log/lastlog 文件,结果将数据输出如下表:
[root@www ~]# lastlog Username Port From Latest root pts/1 192.168.1.100 Wed Mar 4 11:04:22 +0800 2009 bin **Never logged in** ....(中间省略).... vbird1 pts/2 192.168.1.100 Wed Mar 4 13:15:56 +0800 2009 ....(以下省略)....
这样就能够知道每个账号的最近登陆的时间啰~ ^_^
使用者对谈: write, mesg, wall
那么我是否可以跟系统上面的用户谈天说地呢?当然可以啦!利用 write 这个命令即可。 write 可以直接将信息传给接收者啰!举例来说,我们的 Linux 目前有 vbird1 与 root 两个人在在线, 我的 root 要跟 vbird1 讲话,可以这样做:
[root@www ~]# write 使用者账号 [用户所在终端接口] [root@www ~]# who root pts/1 2009-03-04 11:04 (192.168.1.100) vbird1 pts/2 2009-03-04 13:15 (192.168.1.100) <==有看到 vbird1 在在线 [root@www ~]# write vbird1 pts/2 Hello, there: Please don't do anything wrong... <==这两行是 root 写的信息! # 结束时,请按下 [crtl]-d 来结束输入。此时在 vbird1 的画面中,会出现: Message from root@www.vbird.tsai on pts/1 at 13:23 ... Hello, there: Please don't do anything wrong... EOF
怪怪~立刻会有信息响应给 vbird1 !不过......当时 vbird1 正在查数据,哇! 这些信息会立刻打断 vbird1 原本的工作喔!所以,如果 vbird1 这个人不想要接受任何信息,直接下达这个动作:
[vbird1@www ~]$ mesg n [vbird1@www ~]$ mesg is n
不过,这个 mesg 的功能对 root 传送来的信息没有抵挡的能力!所以如果是 root 传送信息, vbird1 还是得要收下。 但是如果 root 的 mesg 是 n 的,那么 vbird1 写给 root 的信息会变这样:
[vbird1@www ~]$ write root write: root has messages disabled
了解乎?如果想要解开的话,再次下达『 mesg y 』就好啦!想要知道目前的 mesg 状态,直接下达『 mesg 』即可!瞭呼? 相对于 write 是仅针对一个使用者来传『简讯』,我们还可以『对所有系统上面的用户传送简讯 (广播)』哩~ 如何下达?用 wall 即可啊!他的语法也是很简单的喔!
[root@www ~]# wall "I will shutdown my linux server..."
然后你就会发现所有的人都会收到这个简讯呢!
使用者邮件信箱: mail
使用 wall, write 毕竟要等到使用者在在线才能够进行,有没有其他方式来联络啊? 不是说每个 Linux 主机上面的用户都具有一个 mailbox 吗? 我们可否寄信给使用者啊!呵呵!当然可以啊!我们可以寄、收 mailbox 内的信件呢! 一般来说, mailbox 都会放置在 /var/spool/mail 里面,一个账号一个 mailbox (文件)。 举例来说,我的 vbird1 就具有 /var/spool/mail/vbird1 这个 mailbox 喔!
那么我该如何寄出信件呢?就直接使用 mail 这个命令即可!这个命令的用法很简单的,直接这样下达:『 mail username@localhost -s "邮件标题" 』即可! 一般来说,如果是寄给本机上的使用者,基本上,连『 @localhost 』都不用写啦! 举例来说,我以 root 寄信给 vbird1 ,信件标题是『 nice to meet you 』,则:
[root@www ~]# mail vbird1 -s "nice to meet you" Hello, D.M. Tsai Nice to meet you in the network. You are so nice. byebye! . <==这里很重要喔,结束时,最后一行输入小数点 . 即可! Cc: <==这里是所谓的『副本』,不需要寄给其他人,所以直接 [Enter] [root@www ~]# <==出现提示字符,表示输入完毕了!
如此一来,你就已经寄出一封信给 vbird1 这位使用者啰,而且,该信件标题为: nice to meet you,信件内容就如同上面提到的。不过,你或许会觉得 mail 这个程序不好用~ 因为在信件编写的过程中,如果写错字而按下 Enter 进入次行,前一行的数据很难删除ㄟ! 那怎么办?没关系啦!我们使用数据流重导向啊!呵呵!利用那个小于的符号 ( < ) 就可以达到取代键盘输入的要求了。也就是说,你可以先用 vi 将信件内容编好, 然后再以 mail vbird1 -s "nice to meet you" < filename 来将文件内容传输即可。
例题:
请将你的家目录下的环境变量文件 (~/.bashrc) 寄给自己!
答:
mail -s "bashrc file content" vbird < ~/.bashrc
刚刚上面提到的是关于『寄信』的问题,那么如果是要收信呢?呵呵!同样的使用 mail 啊! 假设我以 vbird1 的身份登陆主机,然后输入 mail 后,会得到什么?
[vbird1@www ~]$ mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/vbird1": 1 message 1 new >N 1 root@www.vbird.tsai Wed Mar 4 13:36 18/663 "nice to meet you" & <==这里可以输入很多的命令,如果要查阅,输入 ? 即可!
在 mail 当中的提示字符是 & 符号喔,别搞错了~输入 mail 之后,我可以看到我有一封信件, 这封信件的前面那个 > 代表目前处理的信件,而在大于符号的左边那个 N 代表该封信件尚未读过, 如果我想要知道这个 mail 内部的命令有哪些,可以在 & 之后输入『 ? 』,就可以看到如下的画面:
& ? Mail Commands t <message list> type messages n goto and type next message e <message list> edit messages f <message list> give head lines of messages d <message list> delete messages s <message list> file append messages to file u <message list> undelete messages R <message list> reply to message senders r <message list> reply to message senders and all recipients pre <message list> make messages go back to /usr/spool/mail m <user list> mail to specific users q quit, saving unresolved messages in mbox x quit, do not remove system mailbox h print out active message headers ! shell escape cd [directory] chdir to directory or home if none given
<message list> 指的是每封邮件的左边那个数字啦!而几个比较常见的命令是:
命令 意义
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 则会进行两项动作: 1. 将刚刚删除的信件移出 mailbox 之外; 2. 将刚刚有阅读过的信件存入 ~/mbox ,且移出 mailbox 之外。鸟哥通常不很喜欢使用 q 离开, 因为,很容易忘记读过什么咚咚~导致信件给他移出 mailbox 说~
由于读过的信件若使用『 q 』来离开 mail 时,会将该信件移动到 ~/mbox 中,所以你可以这样想象: /var/spool/mail/vbird1 为 vbird1 的『新件匣』,而 /home/vbird1/mbox 则为『收件匣』的意思。 那如何读取 /home/vbird1/mbox 呢?就使用『mail -f /home/vbird1/mbox』即可。
转自:http://vbird.dic.ksu.edu.tw/linux_basic/0410accountmanager_6.php
发表评论
文章已被作者锁定,不允许评论。
-
Linux ubuntu配置SSH免密登陆
2017-05-05 16:15 4611、安装 Ubuntu14.04默认安装了ssh-client ... -
Linux ubuntu虚拟机连接上网总结
2017-05-05 13:37 5111.首先查看主机的ip信息 ipconfig /all ... -
Linux七个运行级别
2015-03-03 09:20 542运行级别就是操作系统当前正在运行的功能级别。级别是从0到6,具 ... -
第二十四章 CentOS 系统配置工具: setup
2014-10-30 20:05 671系统配置除了使用手动 ... -
第二十二章 启动过程的问题解决
2014-10-28 19:34 421很多时候,我们可能因 ... -
第二十二章 Boot Loader: Grub
2014-10-27 19:44 567在看完了前面的整个启 ... -
第二十二章 核心与核心模块
2014-10-23 19:28 342谈完了整个启动的流程 ... -
第二十二章 Linux 的启动流程分析
2014-10-22 20:08 389启动不是只要按一下电 ... -
第二十一章 管理的抉择:RPM 还是 Tarball
2014-10-20 19:24 499这一直是个有趣的问题 ... -
第二十一章 YUM 线上升级机制
2014-10-15 19:33 525我们在本章一开始的地方谈到过 yum 这玩意儿,这个 yum ... -
第二十一章 SRPM 的使用 : rpmbuild
2014-10-14 19:44 955谈完了 RPM 类型的软件之后,再来我们谈一谈包含了 Sour ... -
第二十一章 RPM 软件管理程序: rpm
2014-10-13 20:10 449RPM 的使用其实不难,只要使用 rpm 这个命令即可!鸟哥最 ... -
第二十章 函式库管理
2014-10-13 19:25 475在我们的 Linux 操作系统 ... -
第二十章 Tarball 的管理与建议
2014-10-10 19:54 491在我们知道了原始码的 ... -
第二十章 用 make 进行巨集编译
2014-10-09 20:04 529在本章一开始我们提到过 make 的功能是可以简化编译过程里面 ... -
第二十章 开放源码的软件安装与升级简介
2014-10-09 19:47 439如果鸟哥想要在我的 Lin ... -
第十九章 分析登录文件
2014-10-08 19:34 408登录文件的分析是很重要的!你可以自行以 vi 进入登录文 ... -
第十九章 登录文件的轮替(logrotate)
2014-10-08 19:28 511假设我们已经将登 ... -
第十九章 syslogd :记录登录文件的服务
2014-09-28 20:11 678刚刚提到说 Linux 的登录文件主要是由 syslogd 在 ... -
第十八章 系统开启的服务
2014-09-25 19:33 715好了,现在假设你已经知道了 daemons 的启动文件放置的目 ...
相关推荐
#### 十四、系统交换分区的功能 - 用作虚拟内存,扩展物理内存容量。 #### 十五、内核的组成部分 - **进程管理**:负责进程的调度和管理。 - **文件管理**:处理文件的创建、打开、关闭等操作。 - **I/O管理**:...
第14章 信号量、共享内存和消息队列 488 14.1 信号量 488 14.1.1 信号量的定义 489 14.1.2 一个理论性的例子 489 14.1.3 linux的信号量机制 490 14.1.4 使用信号量 492 14.2 共享内存 496 14.2.1 shmget函数 ...
第14章 信号量、共享内存和消息队列 488 14.1 信号量 488 14.1.1 信号量的定义 489 14.1.2 一个理论性的例子 489 14.1.3 linux的信号量机制 490 14.1.4 使用信号量 492 14.2 共享内存 496 14.2.1 shmget函数 ...
- **多用户系统**:RedHat Linux支持多用户同时登录系统,并且每个用户都有自己的工作环境。 - **广泛的硬件支持**:RedHat Linux能够运行在多种硬件平台上,包括x86、ARM等架构。 - **开放性**:RedHat Linux基于...
13.6.5 共享内存实例 13.7 消息队列 13.7.1 msgget系统调用 13.7.2 msgsnd系统调用 13.7.3 msgrcv系统调用 13.7.4 msgctl系统调用 13.8 IPC命令 13.9 在进程间传递文件描述符 第14章 多线程编程 14.1 ...
Linux系统Primary Slave IDE接口的硬盘上第2个逻辑分区的设备标识是:** - **答案:D) hdb6** - **解析:** 在早期的Linux系统中,IDE硬盘被命名为`hda`和`hdb`,其中`hda`是主硬盘,`hdb`是从硬盘。每个硬盘最多...
- **知识点:** `netconfig` 是一个用于配置Linux系统网络参数的工具,它可以帮助用户设置主机名、域名、域名服务器、IP地址等网络相关信息。 **18. 用户标识:** - **知识点:** 在Linux系统中,每个用户都有一个...
在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、网关地址和子网掩码等必要信息。 **知识点**:`netconfig` 是一个交互式的网络配置工具...
标题中的“基于NetBIOS发现内网存活主机”是指通过NetBIOS协议来探测局域网内部哪些设备是活跃的,这一技术对于网络安全管理和故障排查非常有用。NetBIOS(Network Basic Input/Output System)是一种早期的局域网...
### Linux命令详解讲义 #### 一、CentOS基本使用 **CentOS**是一种基于**Red Hat Enterprise Linux**(RHEL)源代码重新编译而成的开源操作系统,它旨在提供与RHEL高度兼容且免费的企业级Linux平台。对于初学者来...
第十四章 原始套接字编程实践 14.1 原始套接字 14.1.1 原始套接字的创建 14.1.2 原始套接字的使用 14.1.3 IP包头和ICMP报文的C语言描述 14.2 Ping应用程序 14.2.1 程序设计 ...
该选项在某些文件系统上提供了从内核空间向用户空间传递大量数据的接口,比如debugfs。 17. initramfs源文件(Initramfs source file(s)) initramfs(初始内存文件系统)已经被initramfs取代。initramfs作为内核...
由于嵌入式设备的硬件平台通常与开发主机不同,需要在宿主机上构建交叉编译工具链,使能在目标平台上运行的代码在宿主机上编译。这包括选择合适的GCC编译器、构建工具(如make)和库文件等。 四、Bootloader ...
netstat 命令 netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的 选项 我们常用的选项是 -an 用来显示详细的网络...的服务 我们可以调用第四个函数,相反为了得到端口号可以调用第三个函数.