type
status
date
slug
summary
tags
category
icon
password

tmux速成

参考链接

tmux(teminal multiplexer)是什么

在连接远程服务器的时候,经常遇到断网的情况,这样终端一断开,后台任务也会断开,tmux就是因此而生。(类似的工具还有TNU screen,只不过tmux简单一些,且功能强大)
在本地打开的终端窗口(window),利用ssh联系上了远程服务器之后,就产生了会话(session)。会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。

tmux的作用

Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。此外,要分清Server > Session > Window > Pane(1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。(2) 它可以让新窗口"接入"已经存在的会话。(3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。(4)它还支持窗口任意的垂直和水平拆分。

tmux命令

左下角是窗口信息,当前有(0号窗口,默认名字bash)(1号窗口,名字new1)依次类推。右下角是系统信息。

基本命令

会话命令

窗口命令

窗格命令

tmux可以在一个窗口中运行多个窗格(pane),互不影响

快捷键

所有快捷键都依赖于前缀键(Ctrl + B)所有快捷键都依赖于前缀键(Ctrl + B)所有快捷键都依赖于前缀键(Ctrl + B)

会话快捷键

快捷键
说明
?
所有快捷键,q退出
:new sessionName
创建新会话
s
切换会话
$
重命名当前会话
d
离开会话返回shell(与tmux detach功能相同)
Ctrl+z
挂起会话,返回shell

窗口快捷键

快捷键
说明
c
创建新窗口
w
显示窗口
数字键
选择对应窗口
p
前一个窗口
n
后一个窗口
f
查找窗口
重命名窗口
&
关闭窗口(带提示)

窗格快捷键

快捷键
说明
%
垂直分割
水平分割
o
切换窗格
x
关闭窗格
space
切换窗格布局
q
显示窗格编号,按对应数字选择窗格
{
与上一个窗格调换位置
}
与下一个窗格调换位置
z
当前窗格最大化
!
取消所有窗口保留当前窗口
Ctrl+方向键
以1个单元格为单位移动边缘以调整当前窗格大小
Alt+方向键
以5个单元格为单位移动边缘以调整当前窗格大小
Python装饰器@ubuntu 18.04 解决vscode的缩进问题