tmux基本命令及快捷键

tmux简介

tmux的基本介绍

tmux(terminal multiplexer)是终端复用神器,可以从一个屏幕上管理多个终端(准确说是伪终端)。使用该工具,用户可以连接或断开会话,而保持终端在后台运行。

tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal.

tmux的作用

  • 命令行的基本使用方式是:打开终端,输入命令。即打开terminal窗口,这种临时交互就是一次session会话。
  • 窗口与启动进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束。
  • 当我们用ssh连接远程服务器时,会打开一个窗口执行命令。如果遇到断电断网的情况,那么ssh会话就会终止,窗口内运行的进程也会终止。
  • 所以,在一些情况下,我们需要会话与窗口可以解绑。也就是说,窗口关闭时,会话并不终止,而是继续运行。这个时候,tmux就是一种很好的解决方式。

tmux的基本结构

tmux的结构包括会话(session)、窗口(window)、窗格(pane)三部分,会话实质是伪终端的集合,每个窗格表示一个伪终端,多个窗格展现在一个屏幕上,这一屏幕就叫窗口。
tmux基本命令及快捷键

tmux的基本操作

tmux的基本操作是对会话、窗口、窗格进行管理,包括创建、关闭、重命名、连接、分离、选择、切换等。

  • tmux的默认快捷键前缀是Ctrl+b
  • 同时按下前缀组合键Ctrl+b后松开,再按下命令键进行快捷操作
  • 帮助命令的快捷键是:Ctrl+b ?
    在tmux窗口中,先按下Ctrl+b,再按下?,就会显示帮助信息。
    然后,按下ESC键或q键,就可以退出帮助。

tmux的会话管理命令

  • tmux list-command 列出所有命令

  • tmux ls 显示会话列表

  • tmux new -s mysession 创建名为mysession的会话

  • tmux a 连接上一个会话

  • tmux a -t mysession 连接指定的会话

  • tmux rename -t s1 s2 重命名会话s1为s2

  • tmux kill-session 关闭上次打开的会话

  • tmux kill-session -t s1 关闭会话s1

  • tmux kill-session -a -t s1 关闭除s1外的所有会话

  • tmux kill-server 关闭所有会话
    常用快捷键

  • Ctrl+b $:重命名会话

  • Ctrl+b s:列出会话,可进行切换

  • Ctrl+b d:分离当前会话

  • Ctrl+b D:分离指定会话

tmux的窗口管理命令

  • Ctrl+b c: 创建一个新窗口
  • Ctrl+b ,: 重命名当前窗口
  • Ctrl+b w: 列出所有窗口,可进行切换
  • Ctrl+b n: 进入下一个窗口
  • Ctrl+b p: 进入上一个窗口
  • Ctrl+b l: 进入之前操作的窗口
  • Ctrl+b 0~9: 选择编号0~9对应的窗口
  • Ctrl+b .: 修改当前窗口索引编号
  • Ctrl+b ': 切换至指定编号(可大于9)的窗口
  • Ctrl+b f: 根据显示的内容搜索窗格
  • Ctrl+b &: 关闭当前窗口

tmux的窗格管理命令

  • Ctrl+b %: 水平方向创建窗格,划分为左右两个窗格
  • Ctrl+b ": 垂直方向创建窗格,划分为上下两个窗格
  • Ctrl+b
    Up|Down|Left|Right 根据箭头方向切换窗格
  • Ctrl+b q: 显示窗格编号
  • Ctrl+b ;: 光标切换到上一个窗格
  • Ctrl+b o: 光标切换到下一个窗格
  • Ctrl+b Ctrl+o: 顺时针旋转当前窗口的窗格
  • Ctrl+b }: 与下一个窗格交换位置
  • Ctrl+b {: 与上一个窗格交换位置
  • Ctrl+b x: 关闭当前窗格
  • Ctrl+b !: 将当前窗格置于新窗口
  • Ctrl+b t: 在当前窗格显示时间
  • Ctrl+b z: 放大当前窗格(再次按下将还原)
  • Ctrl+b i: 显示当前窗格信息
  • Ctrl+b space(空格键): 重新排列当前窗口下的所有窗格