有没有办法在 Linux 终端中拥有一个动态系统状态区域,当用户执行其他操作时该区域会进行更新?

有没有办法在 Linux 终端中拥有一个动态系统状态区域,当用户执行其他操作时该区域会进行更新?

我认为对于我负责的一些服务器,在通过 SSH 进入服务器后,在我工作时在实际终端中查看磁盘使用情况、CPU 使用情况等信息会非常有帮助。而不仅仅是 MOTD 后显示的静态数据。

是的,我明白我可以发出像 top 这样的命令,但我希望有一个只有几行的页眉或页脚区域,向我显示一些信息,并在我工作的整个过程中显示。一个在我工作时继续工作的动态区域。

有人听说过这样的事吗?

答案1

使用tmux将终端分割成多个窗格(备选方案: GNU screen)。然后在任何您想要的地方运行您想要的任何内容。

下面的截图是在iotophtop和持续运行watch df -h时截取的watch sensors。还有一个 shell(如果我想要的话可​​以有更多)正在等待命令。

tmux

使用tmux是我的日常工作;无论是在 tty、X11 下的终端仿真器中,ssh还是从另一个 Linux 连接,还是从 Windows 使用 PuTTY。

通过 SSH 连接时,我更喜欢tmux在服务器上运行,这样我可以随时断开连接,稍后再连接到仍在运行的任务(比较这个问题以及我的答案)。

如果您无法tmux在服务器上安装,请在本地运行它并从每个窗格分别连接到服务器(或不同的服务器)。在这种情况下,如果您断开连接,您的一些远程任务将会终止,就像您没有使用一样tmux(难怪,从服务器的角度来看您没有使用tmux),但您的本地控制台仍将能够显示运行本地或远程程序的单独窗格。

相关内容