终端复用神器Tmux使用教程

1.什么是Tmux

Tmux

Tmux是一个终端复用软件 Termial mutiplexer,用来分离terminal和session。
我们经常遇到这样的场景,我们开启了一个Terminal A,对应Session A,在A中启动了一系列非守护进程,由于这些进程是A的子进程,当我们关闭Terminal A,也就是Session A,大部分进程将会同样被关闭,也就是关闭窗口的同时,窗口打开的进程也被关闭了。

我们可以借助Tmux将Session和Terminal分开来解决这个问题。
Tmux允许在一个窗口中开启多个Session,自由地在Session之间切换,并且退出窗口不会关闭这些Session。

2.使用tmux

2.1安装Tmux

Centos

yum install tmux

macOS:

brew install tmux

2.2 启动、进入、分离与退出Session

启动tmux

//开启一个编号自动递增的session
tmux 
//开启一个名为my_name的session
tmux new -s my_name

两个命令的区别是第一个命令默认生成从0开始的数字编号session
第二个在创建session时指定名称,方便回到指定session


编号

可以通过命令

tmux ls

来查看系统中后台运行的session名,根据session名来进入指定session


查看

分离session

例如我们创建了一个名为back 的session后就可以在里面操作,执行了一个nohup后台任务 ,操作完成后我们想退出这个session但是不关闭它,就可以用分离(detach)来将窗口分离,可以使用Ctrl + b + d或者

tmux detach

离开back而不影响back,我们稍后还可以回到这个session,继续之前的任务

回到session

刚刚我们离开了session back
我们使用Terminal处理完其它事情之后,可以回到刚刚的session,还记得我们之前的命令吗tmux ls 查看一下运行在后台的session

tmux ls

可以看到我们的back session还在健康茁壮的运行着
使用

tmux attach -t  name

来回到名为name的session

又回到了原来的back工作场景

退出Session

tmux detach只会让当前session后台运行,如果我们确实需要退出某个session
可以直接exit或者

tmux kill-session -t name

重命名Session

之前使用了默认数字编号或者session起名想换一个,可以使用

tmux rename-session -t formername newname

来修改session名称

2.3Tmux窗口扩展和切换

前面我们都是每个session内只用一个窗口(pane),我们可以在一个session内使用多个窗口来并行查看多个任务

多窗口

垂直划分

划分为上下窗口
tmux split-window

水平划分

划分为左右窗口
tmux split-window -h

在窗口间移动光标

tmux select-pane

上下移动
tmux select-pane -U
tmux select-pane -D
左右移动
tmux select-pane -L
tmux select-pane -R

交换窗格位置。

tmux swap-pane命令用来

# 当前窗格上移
$tmux swap-pane -U

# 当前窗格下移
tmux swap-pane -D

3.常用操作

3.1经典场景

    1. ssh或mosh(墙裂推荐)登录远程主机
    1. tmux新建或者attach到原来的工作session
    1. 工作
    1. 完成工作后detach下班
    1. 第二天早上回来重复1即可还原昨天的工作场景,延续workflow

3.2经典快捷键

Ctrl+b %:划分左右两个窗格。
Ctrl+b ":划分上下两个窗格。
Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。
Ctrl+b ;:光标切换到上一个窗格。
Ctrl+b o:光标切换到下一个窗格。
Ctrl+b {:当前窗格左移。
Ctrl+b }:当前窗格右移。
Ctrl+b Ctrl+o:当前窗格上移。
Ctrl+b Alt+o:当前窗格下移。
Ctrl+b x:关闭当前窗格。
Ctrl+b !:将当前窗格拆分为一个独立窗口。
Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。
Ctrl+b q:显示窗格编号。

4.其它

下面是一些其他命令。

# 列出所有快捷键,及其对应的 Tmux 命令
$ tmux list-keys

# 列出所有 Tmux 命令及其参数
$ tmux list-commands

# 列出当前所有 Tmux 会话的信息
$ tmux info

# 重新加载当前的 Tmux 配置
$ tmux source-file ~/.tmux.conf
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,270评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,489评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,630评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,906评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,928评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,718评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,442评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,345评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,802评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,984评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,117评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,810评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,462评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,011评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,139评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,377评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,060评论 2 355

推荐阅读更多精彩内容

  • 转载备注:作者主页:薰衣草的旋律博客地址:https://www.cnblogs.com/wangqiguo/p/...
    振礼硕晨阅读 1,383评论 0 1
  • 什么是tmux? Tmux是一个终端复用工具,用于在一个终端窗口中运行多个终端会话的能力。可以简单的理解为他允许你...
    redher阅读 1,769评论 0 1
  • tmux可以干什么 ssh远程到服务器后,执行一个费时的操作,断开ssh后任务可以继续执行,不会中断 ssh到远程...
    比轩阅读 14,348评论 2 61
  • 旅行是万众的权利,每人都可以选择适合自己的方式。但是,不同的文化程度和人生基调,会使同样的旅途迈出不一样的脚步。 ...
    缘起比尔哥阅读 577评论 0 7
  • 今天画了一位母亲,图片来源是你拍我画活动中的一位叫简一叶的朋友拍摄的照片。原图照片 这是一位郎木寺晒佛节上背着小孩...
    idea伟阅读 440评论 4 6