尝试使用 tmux 终端

tmux 是 Linux 下的一款终端复用工具, 类似 screen,但功能比 screen 强大很多。

安装

  • Ubuntu: sudo apt-get install tmux
  • CentOS7: sudo yum install -y tmux
  • CentOS6: 官网 下载安装

常用操作

  • 创建会话:tmux new [-s session_name][ -d],(-d 指定在后台运行)如:创建一个名为 spider 的后台会话 tmux new -s spider -d
  • 查看会话列表: tmux ls
  • 登入某个会话: tmux attach -t session_name ,也可将 attach 简写为 atmux a -t session_name
  • 在某个会话中返回出来(会话中的操作并不会中止): ctrl+b - d
  • 销毁某个会话: tmux kill-session -t session_name
  • 重命名会话: tmux rename -t name_1 name_2

当进入某个会话时, 可先按下 ctrl+b 激活控制台快捷键,然后按下相应键进行相关操作:

快捷键说明
系统类操作:
?列出所有快捷键,按 q 退出
d脱离当前会话,脱离后可用 attach 重新进入
D选择要脱离的会话,多会话时适用
ctrl+z挂起当前会话
s选择并切换会话, 多会话时适用
:进入命令行模式
窗口类操作:
c创建窗口
&关闭当前窗口
数字切换到指定窗口
p切换至上一窗口
n切换至下一窗口
l在前后两个窗口间互相切换
w通过窗口列表切换窗口
f在所有窗口中查找指定文本
面板类操作:
"将当前面板上下平分切割
%将当前面板左右平分切割
x关闭当前面板
!将当前面板放入一个新打开的窗口
ctrl+方向键以1个单元格为单位调整当前面板大小
alt+方向键以5个单元格为单位调整当前面板大小
space依次切换使用预置面板布局
o选中当前窗口的下一面板
方向键选择面板
alt+o逆时针旋转当前窗口的面板
ctrl+o顺时针旋转当前窗口的面板

套娃

在本机从 tmux 中 SSH 连接到服务器后,再在服务器上的 tmux 操作(tmux 套娃),
如果此时想在服务端的 tmux 中脱离或者查看窗口之类的操作,由于 ctrl+b 会被本地的 tmux 捕获所以相关操作只会发生在本地,

解决办法:按两次 ctr+b 作为前缀按键。