如何实现top与tail -f之间的一键快速切换?
监控CPU与日志一键切换方案
1. 用 tmux 实现单窗口内会话切换(最推荐)
tmux 能在单个终端窗口里管理多个独立会话,完全不用切换窗口,一键就能在top和日志监控间切换:
- 先安装 tmux:根据你的系统用包管理器,比如
apt install tmux(Debian/Ubuntu)或brew install tmux(macOS) - 启动 tmux:输入
tmux回车 - 第一个会话:运行
top,按M设置按内存排序(之后启动会记住这个设置),按P可切回CPU排序 - 按
Ctrl+b再按c,创建第二个会话,运行tail -f /path/to/your/logfile(实时追踪日志) - 切换会话:按
Ctrl+b+n切到下一个,Ctrl+b+p切到上一个,全程不用退出任何程序
2. 写脚本绑定终端快捷键
如果不想用 tmux,写个简单脚本绑定快捷键也能实现一键切换:
- 创建脚本文件
monitor_switch.sh:
#!/bin/bash # 检测当前运行的监控程序,切换到另一个 if pgrep -x "top" > /dev/null; then pkill -x "top" tail -f /path/to/your/logfile elif pgrep -x "tail" | grep -v grep > /dev/null; then pkill -x "tail" top -o %MEM # 直接启动按内存排序的top,省去手动配置 fi
- 给脚本加执行权限:
chmod +x monitor_switch.sh - 绑定快捷键:
- GNOME Terminal:打开「编辑→键盘快捷键」,添加新快捷键,命令选择你的脚本路径
- iTerm2:打开「Preferences→Keys」,添加快捷键,动作选「Run Command」,输入脚本路径
之后按下绑定的快捷键,就能直接在top和日志监控间切换。
3. 用 top 内置功能临时查看日志(轻量方案)
如果只是偶尔需要看日志,不用切换程序,top本身支持执行外部命令:
- 运行top后,按
Shift+s打开命令输入框 - 输入
tail -n 20 /path/to/your/logfile就能查看最新20行日志,看完按q回到top - 要实时刷新日志的话,输入
watch -n 1 tail -n 20 /path/to/your/logfile,按回车后每秒刷新,按Ctrl+C回到top
内容的提问来源于stack exchange,提问作者Anton Duzenko
相关产品推荐
相关产品推荐

