本地关机后也能在服务器上继续跑代码——Tmux终端复用神器使用心得
tmux在连接远程服务器做实验时很有帮助,可以为每一个项目设置一个Session,在Session中设置不同的Window同时跑多个实验,Window本身还可以分割为多个Pane,在一个视野内利用多个Pane可以更方便地地做对比实验,或者一边实验同时能监视系统的显存占用,进程信息等状态。
tmux采用C/S模型构建,输入tmux命令就相当于开启了一个服务器,此时默认将新建一个会话,然后会话中默认新建一个窗口,窗口中默认新建一个面板。会话、窗口、面板之间的联系如下:
一个tmux session
(会话)可以包含多个window
(窗口),窗口默认充满会话界面,因此这些窗口中可以运行相关性不大的任务。一个window
又可以包含多个pane
(面板),窗口下的面板,都处于同一界面下,这些面板适合运行相关性高的任务,以便同时观察到它们的运行情况。
tmux默认的前缀操作都是 ctrl + b (以下用C + b代替)需要注意,所有的快捷键都是ctrl + b,**按完松开,再去按下一个功能键!不是一下子全按上 **
- 几个常用基本操作如下:
- pane,window,session的新建与进入:
session创建: tmux new -s session_name
session进入:tmux attach -t(tmux a -t name #简写)
window: C+b c
pane: C+b % (左右分割出一个pane) , C+b " (上下分割出一个pane) - pane之间,window之间,session之间的切换:
光标在不同pane之间切换: C+b 方向键
调节光标所在pane的大小:按住C+b不放,同时按住方向键
window之间的切换: C+b n(ext), C+b p(revious) (光标选择切换:C+b w)
session之间的切换: C+b s - 翻屏模式, 实现上下翻页:
进入翻屏模式后PgUp PgDn(上下箭头)实现上下翻页:C + b [
退出翻屏模式: q或者Esc
#############
# 其他常用快捷键
##############
tmux # 开启新session
tmux ls # 显示所有session
tmux attach -t 0 # 使用session编号接入
tmux kill-session -t 0 # 使用session编号kill
tmux kill-session -t <session-name> # 使用session名称kill
tmux switch -t 0 # 使用session编号切换
tmux switch -t <session-name> # 使用session名称切换
tmux rename-session -t 0 <new-name> # 重命名会话
C + b s # 选择需要跳转的session会话
C + b $ # 重命名当前会话
C + b d # 断开当前session,转到后台运行
C + b w # 在一个session中的多个window中作出选择
C + b x # 关闭当前window中的当前pane
C + b ! #关闭一个session中所有窗口
C + b 空格 #切换到下一个内置布局!很有用!
C + d # 退出tmux
参考:
手把手教你使用终端复用神器 Tmux,丢掉鼠标不是梦[视频] - 知乎 (zhihu.com)