一篇极好的文章是:https://blog.csdn.net/gxlzyt123456/article/details/65436467;感谢原作者的无私分享
tmux比screen最大的优势就是tmux split后,重新连接session的时候split的pane不变,保持终端上已经启动任务可以持续的运行;还有tmux可以以脚本的形式启动并运行一系列复杂的命令。
通常我们在终端中操作一个任务的时候,一旦终端关闭(死机或者ssh连接失效),任务会被动结束。在 tmux 中 使用 session 就可以解决这个问题,我们可以把当前操作的任务隐藏起来,在视觉上让它消失,任务继续执行着。
tmux里的session,window,pane
注意Ctrl+b按键时tmux内部唤醒快捷键的前缀键,必须Ctrl+b之后才可以使用相应的快捷键。
tmux上下翻页:
进入tmux翻屏模式:先按 ctrl +b,松开,然后再按 [
实现上下翻页:进入翻屏模式后,PgUp PgDn 实现上下翻页
退出翻屏模式:q
session指的是按下tmux命令后,存在的连接便是session
创建session
tmux
创建并指定session名字
tmux new -s <session-name>
删除session
Ctrl+b :kill-session
tmux kill-session -t <session-name>
临时退出session
Ctrl+b d
列出session
tmux ls
进入已存在的session
tmux a -t <session-name>
tmux attach -t <session-name>
删除所有session
Ctrl+b :kill-server
删除指定session
tmux kill-session -t <session-name>
切换 session
执行命令,可以从当前的 session 快速切换到另一个 session:
tmux switch -t <session-name>
window在session里,可以有N个window,并且window可以在不同的session里移动
创建window
Ctrl+b c
tmux new-window -n <window-name>
删除window
Ctrl+b &
切换窗口
tmux select-window -t <window-name>
下一个window
Ctrl+b n
上一个window
Ctrl+b p
重命名window
Ctrl+b ,
在多个window里搜索关键字
Ctrl+b f
在相邻的两个window里切换
Ctrl+b l
pane在window里,可以有N个pane,并且pane可以在不同的window里移动、合并、拆分
创建pane
横切split pane horizontal
Ctrl+b ” (问号的上面,shift+’)
竖切split pane vertical
Ctrl+b % (shift+5)
按顺序在pane之间移动
Ctrl+b o
上下左右选择pane
Ctrl+b 方向键上下左右
调整pane的大小
Ctrl+b :resize-pane -U #向上
Ctrl+b :resize-pane -D #向下
Ctrl+b :resize-pane -L #向左
Ctrl+b :resize-pane -R #向右
在上下左右的调整里,最后的参数可以加数字 用以控制移动的大小,例如:
Ctrl+b :resize-pane -D 50
在同一个window里左右移动pane
Ctrl+b { (往左边,往上面)
Ctrl+b } (往右边,往下面)
删除pane
Ctrl+b x
更换pane排版
Ctrl+b “空格”
移动pane至window
Ctrl+b !
移动pane合并至某个window
Ctrl+b :join-pane -t $window_name
显示pane编号
Ctrl+b q
按顺序移动pane位置
Ctrl+b Ctrl+o