📜  如何在 Linux 终端中向登录用户发送消息?

📅  最后修改于: 2021-10-28 02:44:46             🧑  作者: Mango

Linux是数据中心的解决方案。它灵活、稳定、安全可靠。有许多用户为了开发、测试、使用而登录服务器。有多种工具可以向其他用户发送消息,但由于安全问题,它们不允许广泛发送或发送给特定用户,因此我们仅限于通过终端发送消息。

检查终端上的活跃用户

要查看系统上的活动用户,请使用 cat 实用程序获取活动用户或系统上用户的列表。

$ cat /etc/passwd | cut -d: -f1

如何在 Linux 终端中向登录用户发送消息

向当前登录的用户发送消息

执行w命令时,将显示当前登录的用户以及用户登录的终端。 w 命令将显示谁已登录到终端以及他们正在执行的操作。

它通过读取文件/var/run/utmp及其进程/proc 来显示有关机器上当前用户的信息此命令带有一个标题,显示系统活动,如当前时间、系统正常运行时间、登录用户数、

W 命令不带任何选项调用并提供以下格式的信息,

  • 10:29:40:当前系统时间
  • up 39 min:系统启动的时间长度
  • 1 用户:登录用户数
  • 平均负载:2.04、2.16、1.49:过去1、16和 49 分钟的系统平均负载。系统负载平均值是当前正在运行或等待磁盘 I/O 的作业数量的度量。

第二行包括

  • USER:登录用户的名称。
  • TTY:用户使用的终端名称
  • FROM:用户登录的主机名或 IP 地址
  • LOGIN@:用户登录时间
  • IDLE:自用户上次与终端交互以来的时间
  • JCPU:连接到 tty 的所有进程使用的时间
  • PCPU:用户当前进程使用的时间。 WHAT 字段中显示的那个
  • 什么:用户当前的流程和选项/参数

如何在 Linux 终端中向登录用户发送消息

如果要查看所有登录系统的用户并删除标题部分,则使用who 命令

$ who

如何在 Linux 终端中向登录用户发送消息

who 命令输出当前登录到系统的用户的格式化列表。该行有四个字段要显示,

  • 用户登录
  • 用户终端
  • 已登录的TIME用户
  • 用户登录的主机名IP 地址

现在要向所有用户发送消息,请使用wall 命令,它预装在所有 Linux 发行版中,这将允许我们使用tty2向终端中的另一个用户发送消息您可以在消息中使用任何符号、字符或空格。键入消息后,使用CTRL + D将消息发送给所有用户。

$ wall "Hey, Everyone! Hope Everyone's fine."

如何在 Linux 终端中向登录用户发送消息

向登录用户发送消息

向已登录的用户发送消息,即使他们未处于活动状态。 write 命令预装在所有 Linux 发行版中,允许我们使用tty2向终端中的另一个用户发送消息输入文字后按CTRL+D退出,会发送文字,但不是双向对话

$ write root tty2
"We're under Surveillence!!"

如何在 Linux 终端中向登录用户发送消息

在执行写入命令时,如果它不运行或被禁用,则使用mesg命令将其打开。之后将执行写入命令

$ write root tty2
$ mesg

如何在 Linux 终端中向登录用户发送消息

要授予写入命令的权限,请执行mesg y语句以启用写入。如果用户不想接收任何消息或关闭传入消息,也可以使用命令 mesg。

$ mesg y
$ write root tty2

如何在 Linux 终端中向登录用户发送消息

如果消息或文本存储在文本文件中,则使用 cat 实用程序函数和 write 命令将文本文件发送给用户以发送消息。文本文件将发送给所有登录的用户,而不管在该特定时间是否处于活动状态。用户可以在终端上处于活动状态时查看消息。

$ cat sample.txt | write root tty2

如何在 Linux 终端中向登录用户发送消息

利用这些命令和方法向当前登录的用户或已登录但未在终端中激活的用户发送消息。