UNIX用户间的简单通讯命令


UNIX提供许多方式让用户相互通信,它允许你以文本的方式发送及接收信息。你可以传递信息给其他用户、所有用户、或自己。信息来源可以是文本文件或直接由键盘输入的内容。

write命令

可使用write 实用程序向已登录的另一个用户发送一条报文,当对方也使用write 命令时,双方之间就建立了通信。

当用户使用write 命令时,就在对方用户终端上显示提示信息。write 命令的格式如下:

write destination-user [terminal]

其中,destination-user 是你想与之通信的用户注册名,通常使用who 命令查看其注册名。如果对方在多台终端上登录,可通过用terminal 来控制write 的报文送向指定的终端。为了建立与其他用户的双向通话,用户和对方每次必须执行write 命令,且必须指定注册名。一般在使用UNIX 进行通话时,通信双方有一些约定:用“o” 表示结束一条报文,“oo” 表示结束这次通信,用ctrl-d 退出write 命令。

[例1] UNIX上两用户alex 和jenny 通过write命令通信。

在alex的所在终端上(表示回车):

$ write alex

Hi Alex, are you there? o

Message from Alex (tty11)[Sat Jan 5 15:08]….

Yes Jenny, I‘m here. o

……

Thank you ,Alex, bye! oo

Ctrl-d

$

该例说明了使用write 命令实现Alex 和Jenny 的通信过程。首先Jenny 使用前两行向Alex发送了一条报文,接下来的两行是Alex 发送的报文Jenny 收到了,省略号表示他们的通信继续。最后,Jenny 用thank you,Alex,bye!oo 告诉Alex没有话要说了,并在下一行开始键入ctrl-d 来退出write 并回到shell。

使用talk双方对话

talk 命令是一个虚拟通信命令,它允许登录双方通过键盘实时对话,其格式如下:

talk user-name [terminal]〈CR〉

注意,使用talk 进行双方对话时,双方使用的机器体系结构必须相同。当对方给出响应的talk命令后,双方终端上都显示

[connect established]

时,双方可双工通信了。双方可以以任意的速度从键盘输入,talk 把你的输入一行一行的显示在你和对方的屏幕上。用退出talk 。

使用mesg拒绝和允许接收报文

mesg 命令允许或拒绝接收由其它终端发来的write 和talk通讯信息。mesg命令在本地终端运行,其使用格式如下:

mesg [y] [n]〈CR〉

其中,y 表示允许接收,n 表示拒绝接收。如既不给出y 也不给出n ,则报告现在的许可状态。

[例2]显示状态:

$mesg

则命令的执行结果为:

is y

或is n

[例3]拒绝接收由其它终端发来的write和talk通讯信息:

$mesg n

$mesg

is n

wall广播式消息传递
所有登录用户都可收到该消息。仅超级用户使用该命令。wall命令有以下几种格式:

# wall

# wall filename

# wall “send a message to all the people。”

注销(退出UNIX系统)

在每次使用完后,一定要进行注销,以防他人通过你的帐号进入系统,并保证系统的完整性。注销过程如下:在UNIX提示符下,运行:

$ exit

$ logout

或直接按键:

Ctrl+d。

由于UNIX操作系统的不同,注销的命令也可能不同。

相关内容