网站如何设置长尾词,重庆资质代理公司,简单手工,我网站建设Linux mesg命令介绍
mesg是一个用户用来控制其他用户是否可以向其关联到标准错误输出的终端设备写入访问权的实用程序。如果允许写入访问#xff0c;那么像talk(1)和write(1)这样的程序可能会在终端上显示消息。在优先考虑各种安全风险的用户日益增多的情况下#xff0c;正确…Linux mesg命令介绍
mesg是一个用户用来控制其他用户是否可以向其关联到标准错误输出的终端设备写入访问权的实用程序。如果允许写入访问那么像talk(1)和write(1)这样的程序可能会在终端上显示消息。在优先考虑各种安全风险的用户日益增多的情况下正确的做法是至少对主登录shell默认情况下删除写入访问。为了确保你的tty被设置为你希望的方式mesg应该在你的登录脚本中执行。不在终端上执行mesg的情况下mesg会默默地退出错误状态为2。在这种情况下执行mesg是没有意义的。命令行选项–verbose强制mesg在这种情况下打印警告。自版本2.33起引入了这种行为。
Linux mesg命令适用的Linux版本
在各个版的Linux包括Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian都可以使用mesg命令只要mesg在您的登录脚本执行就可以在您的Linux系统使用mesg命令。常规来说各版本Linux都已默认安装此工具无须额外安装。
Linux mesg命令的基本语法
mesg [n|y]Linux mesg命令的常用选项或参数说明
选项说明n阻止其他用户的终端消息显示y允许消息在你的屏幕上显示如果没有提供选项mesg将在你的终端上显示当前的访问状态。
Linux mesg命令实例详解
以下是mesg命令一些常见的用法
实例1允许其他用户给你发送消息
[linuxbashcommandnotfound.cn ~]$ mesg y在这个实例里我们设置终端以允许其他用户向你发送消息。
实例2阻止其他用户给你发送消息
[linuxbashcommandnotfound.cn ~]$ mesg n在这个实例里我们设置终端以禁止其他用户向你发送消息。
实例3显示当前终端接收消息的状态
[linuxbashcommandnotfound.cn ~]$ mesg这个实例会显示当前终端的写入状态。
实例4在脚本中使用mesg命令
你可以在脚本中使用mesg命令来控制脚本的输出是否被显示在终端中。
#!/bin/bashmesg n
echo 这条消息将不会在终端中显示
mesg y
echo 这条消息将会在终端中显示在这个实例中我们首先使用mesg n禁止消息在终端中显示然后在终端中打印一条消息之后又使用mesg y允许消息在终端中显示接着再打印一条消息。这样第一条消息就不会被显示出来而第二条消息则会被显示出来。
实例5关闭和打开消息查看状态
在这个实例中我们将先关闭消息然后检查状态然后再打开消息然后再次检查状态。
mesg n
mesg
mesg y
mesg打开和关闭消息后查看状态将分别返回n和y。
实例6为不同的终端设置消息
如果你在多个终端中工作并且你想为每个终端设置不同的消息状态你可以在每个终端中分别运行mesg命令。
例如你可以在第一个终端中运行
mesg n然后在第二个终端中运行
mesg y然后只有第二个终端会接收到消息而第一个终端则不会。
实例7在.bashrc文件中设置消息
如果你希望每次登录时都禁止消息你可以在你的~/.bashrc文件中添加mesg n然后每次你登录时这个命令就会自动运行。
你可以使用一个文本编辑器打开~/.bashrc文件然后在文件的末尾添加下面这行
mesg n然后每次你登录时系统都会运行这条命令从而禁止消息。
实例8使用mesg命令阻止会话中断
你可能会经历一个情况在你正忙于某个任务比如编译一个大程序突然其他用户给你发送消息导致你的会话突然中断有可能使得你的程序编译失败。这种情况下你可以使用mesg n命令阻止其他用户发送消息避免会话因接收到消息而中断。
mesg n
make my_big_program实例9查看显示和消息状态
如果想查看当前的访问状态不带任何参数执行mesg命令即可。如果其返回“is y”则表示当前接收消息功能是打开的如果返回“is n”则表示当前接收消息功能是关闭的。
mesg实例10在脚本中动态控制消息输出
你可以在脚本中根据需要动态控制消息输出。例如你可能希望在脚本的某个关键点发送消息但在其他时间保持静默。你可以在脚本的关键点处插入mesg y来打开消息在其他地方使用mesg n关闭消息。
#!/bin/bash# some tasks...mesg y # enable messages
echo Start of key tasks
# key tasks...
mesg n # disable messages# some other tasks...Linux mesg命令的注意事项
如果在非终端环境执行mesg命令mesg会静默地以错误状态2退出。在这种情况下执行mesg是无益的。
如果你在执行mesg命令时遇到bash: mesg: command not found的错误提示请按照上面提及的步骤进行查找安装帮助。
Linux mesg相关命令
wall命令用来向所有已登录的用户发送广播消息 who命令用来查看当前有哪些用户正在系统中登录write命令用来向指定的用户发送消息talk命令用来和其他用户进行即时的文本交流script命令用来录制终端的会话