tmux 是一款优秀的终端复用软件,它通过前缀键+操作键进行使用。
tmux前缀键默认为Ctrl+b,可通过配置文件进行更改,后面会写到。
tmux 分为会话(Session)、窗口(Window)和窗格(pane)。

快捷键

会话(Session)

  • 创建一个新的Session
    $ tmux new -s "名称"
  • 在tmux中再创建一个Session
    Ctrl+b :new -s "名称"
  • 切换不同的Session
    Ctrl+b s up(down)方向键
  • 重命名当前Session
    Ctrl+b $
  • 退出当前Session
    $ exit
  • 恢复最上面的一个Session
    $ tmux a
  • 恢复指定Session
    $ tmux attach-session -t <session-name>

窗口(Window)

  • 创建一个新的Window
    Ctrl+b c
  • 重命名当前Window
    Ctrl+b ,
  • 创建一个指定名字的Window
    Ctrl+b :new-window -n <window-name>
  • 切换不同的Window
    Ctrl+b number(位于window名字:前面的数字编号)
  • 删除当前的Window
    Ctrl+b &

窗格(Pane)

  • 垂直分割窗口(一左一右2个窗格)
    Ctrl+b %
  • 水平分割窗口(一上一下2个窗格)
    Ctrl+b "
  • 切换不同的窗格(Pane)
    Ctrl+b up(down、left、right上下左右方向键)
  • 删除当前的窗格(Pane)
    Ctrl+b x

复制、粘贴文本

  1. Ctrl+b [ 进入复制模式
  2. Space 空格键开始复制指定的文本(类似vi的可视模式)
  3. Enter 回车,复制完成
  4. Ctrl+b ] 粘贴文本

配置

编辑~/.tmux.conf文件

  • 修改前缀键为Ctrl+a(C-a)
    set -g prefix C-a
  • 解除原来的Ctrl+b
    unbind C-b

其他的配置和快捷键可通过$ man tmux查看tmux的手册

总结一下

我使用tmux最主要的还是看中它的现场恢复了。
比如说:今天在服务器上进行编码修改,快到下班时间,不想等着加班搞完了再回去,可以直接关掉电脑走人,第二天来登陆服务器,直接$ tmux a即可完美回到前一天正在修改的地方,继续接着改就可以了。不然每次下班第二天来又要找半天前一天要改的地方了。。
还有一个好处是tmux只通过一个ssh连接就可以实现多个终端操作了,大家都知道在工作中,一个终端的使用是远远不够的,如果不用类似tmux这样的软件,就必须要进行多次ssh连接了。
最后需要注意一下的是: 使用tmux恢复时,必须要保证在上一次断开连接到这次恢复之间,服务器(主机)不能重启,一旦重启了就什么都没了。。