Linux教程

『学了就忘』Linux基础命令 — 35、网络中与其他机器通信的命令

本文主要是介绍『学了就忘』Linux基础命令 — 35、网络中与其他机器通信的命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 1、write命令
  • 2、wall命令
  • 3、mail 命令
    • 使用1:发送邮件
    • 使用2:查看已经接收的邮件
    • 使用3:发送文件内容

1、write命令

(1)write命令的基本信息

  • 命令名称:write
  • 英文原意:send a message to another user
  • 所在路径:/usr/bin/write
  • 执行权限:所有用户。
  • 功能描述:向其他用户发送信息。

write命令的格式如下:

[root@localhost ~]# write 用户名 终端号

# 向在pts/1(远程终端1)登录的user1用户发送信息,使用"ctrl+D"快捷键保存发送的数据
[root@localhost ~ ] # write user1 pts/1
hel1o I will be in 5 minutes to restart,please save your data

(2)登陆终端号

  • Linux系统下有6个本地字符终端,用tty1-6来表示,每个终端的切换命令的快捷键是:alt+F1-6
  • 一个本地图形终端,用tty7来表示。
    切换使用的快捷键为ctrl+alt+F7(前提需要安装并启动系统的图形界面,并且快捷键按住3秒以上。)。
  • 远程终端,默认用pts/0-255来表示,Linux系统还支持再扩展。
  • 直接输入w,就可以查看所有链接系统的终端,如下图:
    image
    最后显示执行w命令的终端就是当前终端。

提示:w命令和ls命令是一样的,当命令执行之后就消失了,很难抓到两个同时执行w命令的终端。

(3)练习

1)查看Linux系统中所有链接的用户:
image
2)向root-tty1发送信息:
image
回车后,ctrl+d进行保存并发送。
3)在root-tty1客户端查看信息:
image

2、wall命令

write命令用于给指定用户发送信息,而wall命令用于给所有登录用户发送信息,包括你自己。
执行时,在wall命令后加入需要发送的信息即可。

示例如下:

[root@localhost ~]# wall "I will be in 5 minutes to restart,please save your data"

# 或者输入wall命令回车后,输入需要发送的信息。然后回车后,ctrl+d进行保存并发送。
[root@DevOps ~]# wall
11111122222223333
[root@DevOps ~]#
Broadcast message from rooteDevops (pts/e)(Wed Jan 22 17:20:59 2020):
11111122222223333

3、mail 命令

mail是Linux的邮件客户端命令,可以利用这个命令给其他用户发送邮件。

mail命令的基本信息:

  • 命令名称:mail
  • 英文原意:send and receive Internet mail
  • 所在路径:/bin/mail
  • 执行权限:所有用户。
  • 功能描述:发送和接收电子邮件。

使用1:发送邮件

如果我们想要给其他用户发送邮件,则可以执行如下命令:

# 发送邮件给user1用户
[root@localhost ~]# mail user1 
Subject:hello  <-邮件标题
Nice to meet you!<-邮件具体内容
. <-使用"."来结束邮件输入
(也可以直接ctrl+d直接保存并发送,都可以)

我们接收到的邮件都保存在/var/spool/mail/用户名中,每个用户都有一个以自己的用户名命名的邮箱。

使用2:查看已经接收的邮件

我们可以直接在命令行中执行mail命令,进入mail的交互命令中,可以在这里查看已经接收到的邮件。

示例如下:

# 未阅读编号发件人时间标题
[root@localhost ~]# mail Heirloom Mail version 12.4 7/29/08.Type?for help.
"/var/spool/mail/root":1 message 1 new
>N 1 root Mon Dec 522:4568/1777 "test mai1" <-之前收到的邮件
>N 2 root Mon Dec 523:0818/602 "hello"

可以看到已经接收到的邮件列表,N代表未读邮件,如果是已经阅读过的邮件,则前面是不会有这个N的;之后的数字是邮件的编号,我们主要通过这个编号来进行邮件的操作。如果我们想要查看第一封邮件,则只需输入邮件的编号1就可以了。

这些交互命令是可以简化输入的,比如headers命令,就可以直接输入h,这是列出邮件标题列表的命令。

我们解释一下常用的交互命令:

  • 在交互命令中执行?,可以查看这个交互界面支持的命令。
  • headers:列出邮件标题列表,直接输入h命令即可。
  • delete:删除指定邮件。比如想要删除第二封邮件,可以输入d 2
  • save:保存邮件。可以把指定邮件保存成文件,如:s 2/tmp/test.mail
  • quit:退出,并把已经操作过的邮件进行保存。比如移除已删除邮件、保存已阅读邮件等。
  • exit:退出,但是不保存任何操作。

使用3:发送文件内容

如果我们想把某个文件的内容发送给指定用户,则可以执行如下命令:

# 把/root/anaconda-ks.cfg 文件的内容发送给 root用户

[root@localhost ~]# mail -s "test mail" root < /root/anaconda-ks.cfg

选项:
  -s:指定邮件标题

我们在写脚本时,有时需要脚本自动发送一些信息给指定用户,把要发送的信息预先写到文件中,是一个非常不错的选择。(这种方式比较常用,避免了在交互页面中进行操作。)

这篇关于『学了就忘』Linux基础命令 — 35、网络中与其他机器通信的命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!