tmux tutorial

1.tmux是什么

tmux (terminal multiplexer),是一个 BSD 协议发布的终端复用软件,用来在服务器端托管同时运行的 Shell.

效果如图:
tmux_01

tmux

几个重要概念:

  • 1.会话(session): 建立一个 tmux 工作区会话,会话可以长期驻留,重新连接服务器不会丢失,我们只需重新 tmux attach 到之前的工作区就可以恢复会话
  • 2.窗口(window): 容纳多个窗格
  • 3.窗格(pane): 可以在窗口中分成多个窗格

主要解决以下问题:

  • 想同时打开多个目录不得不开很多终端标签来回切换
  • 开了一个 vim 窗口之后,想切到其他目录不得不重新打开个一个终端窗口 ssh 到服务器
  • 运行一个脚本,服务器断掉失联之后当前进程被服务器给无情地杀掉,不得不用 nohup 等方式让脚本在后台跑

2.安装

1
2
3
4
brew install tmux       # OSX
pacman -S tmux # archlinux
apt-get install tmux # Ubuntu
yum install tmux # Centos
1
2
3
#check tmux version
➜ ~ tmux -V
tmux 2.9a

3.使用

tmux的所有指令,都包含同一个前缀,默认为 Ctrl+b ,输入完前缀过后,控制台激活,命令按键才能生效。

  • 会话(session)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #新建会话
    tmux new -s <Session_Name> # tmux new-session -s <Session_Name>

    #列出所有会话
    tmux ls # tmux list-session

    #进入会话
    tmux a -t <Session_Name> # tmux attach -t , -t mean 'to'

    ###当且只有一个session时,可以直接输入命令 tmux a 或 tmux attach 进入

    #关闭会话
    tmux kill-session -t <Session_Name> # kill命令有kill-pane、kill-server、kill-session 和 kill-window共四种

快捷指令
(先按下 Tmux 前缀 ctrl+b,然后松开,继续按下面的字母)

1
2
3
4
:new<回车>  启动新会话
s 列出所有会话
$ 重命名当前会话
d 暂时离开 deattach
  • 窗口(window)

    快捷指令

1
2
3
4
5
6
7
8
c  创建新窗口
w 列出所有窗口
n 后一个窗口 next
p 前一个窗口 pervious
f 查找窗口
, 重命名当前窗口
& 关闭当前窗口
数字0,1,2... 也可用来切换窗口
  • 窗格(pane)

    快捷指令

1
2
3
4
5
6
7
8
9
%  垂直分割
" 水平分割
上下左右 方向按键调整光标位置
o 选择下一面板
x 关闭窗格
q 显示每个窗格是第几个,当数字出现的时候按数字几就选中第几个窗格
{ 与上一个窗格交换位置
} 与下一个窗格交换位置
z 切换窗格最大化/最小化

其他:

1
2
3
t  窗口中央显示一个数字时钟
? 列出所有快捷键
: 命令提示符

场景:将打的命令同步发送到所有的pane

    1. 先按下 Tmux 前缀
    1. :setw synchronize-panes

同样的命令(synchronize-panes)再输入一次就解除这种模式。

基本配置:

  • 配置文件 ~/.tmux.conf ,如修改 默认的前缀快捷键

    1
    2
    3
    4
    5
    6
    $ touch .tmux.conf
    $ cat .tmux.conf
    # Change the prefix key to C-a
    set -g prefix C-a
    unbind C-b
    bind C-a send-prefix
  • 生效配置 tmux source-file ~/.tmux.conf 或用动态载入配置的方法

More ref:

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2019-2024 John Doe
  • Visitors: | Views:

请我喝杯咖啡吧~