一、 命令介绍:
Tmux ("Terminal Multiplexer"的简称), 是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色。tmux来自于OpenBSD,采用BSD授权。使用它最直观的好处就是, 通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机, 还有一个好处就是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题。
二、 使用场景:
1. 关闭终端,再次打开时原终端里面的任务进程依然不会中断 ;
2. 处于异地的两人可以对同一会话进行操作,一方的操作另一方可以实时看到 ;
3. 可以在单个屏幕的灵活布局下开出很多终端,然后就能协作地使用它们 ;
三、 命令用法:
个别选项及参数介绍:
1. 运行tmux:
# tmux
2. 新建会话: # tmux new -s SESSION-NAME
(注:SESSION-NAME表示会话名称,可以为字母或数字)
也可以不用指定会话名称 ( 不推荐): # tmux new
# tmux new -s second-tmux
3. 查看已创建的会话:
#tmux ls 0: 1 windows (created Sat Nov 21 16:40:41 2020) [125x36] 2: 1 windows (created Sat Nov 21 16:46:15 2020) [125x36] ping.sh: 1 windows (created Sat Nov 21 16:42:03 2020) [125x36]
4. 进入一个已知会话:
# tmux a -t SESSION-NAME # tmux attach -t SESSION-NAME
5. 暂时离开当前会话:
# tmux detach
6. 关闭会话:
# tmux kill-session -t SESSION-NAME
# tmux kill-serve 关闭所有的会话
关闭除指定会话外的所有会话
tmux kill-session -a -t session-name
注: 1. 单独运行tmux命令,即开启一个tmux会话 ;
2. 不能在tmux会话里面再新建会话,会报错:"sessions should be nested with care, unset $TMUX to force"
7、在会话中切换
control+b,再按s 显示会话列表,再进行会话切换
8、重命名会话
tmux rename-session -t abc cba
四、 分屏操作:
很多情况下, 需要在一个会话中运行多个命令,执行多个任务,我们可以在一个会话的多个窗口里组织他们。
1. 分屏:分为水平分屏和垂直分屏
水平分屏
快捷键:先按 ctrl+b, 放开后再按%
垂直分屏
快捷键:先按 ctrl+b, 放开后再按 "
分屏后的窗口中的光标互相切换
快捷键:先按ctrl+b, 放开后再按下o
切换tmux会话终端
快捷键:先按ctrl+b, 放开后再按s
终端内显示时间
快捷键:先按ctrl+b, 放开后再按t
退出时间界面:按q键
切换tmux分屏
快捷键:先按ctrl+b, 放开后再按方向键
关闭tmux分屏
快捷键:先按ctrl+b, 放开后再按x
五. 其他快捷键操作
终止一个终端窗口(需确认)
快捷键:exit 或 先按ctrl+b, 放开后再按 &
在当前窗口的基础上再打开一个新的窗口
快捷键:先按ctrl+b, 放开后再按c
暂时退出当前会话
快捷键:先按ctrl+b, 放开后再按 d
查看面板编号
快捷键:先按ctrl+b, 放开后再按q
关闭所有分屏后的窗口,即合并为一个窗口
快捷键:先按ctrl+b, 放开后再按!
六、 快捷命令介绍:
tmux new -s 会话名 //新起一个会话
ctrl+b, 放开后再按 [ ,停住屏幕滚动,按esc退出。
tmux ls //查看现有的会话
tmux a //进入最近的会话
tmux a -t 会话名//进入指定会话
tumx kill-session -t 会话名 //干掉指定会话
control+b //唤起tmux(命令前缀)
c //创建新窗口
w //查看所有窗口
" //横分面板
% //竖分面板
, //修改窗口名
? //查看所有命令,q退出
q //显示面板号,快速输入面板号可以选择相应面板
d //挂起当前会话
s //查看所有会话,q退出
$ //修改会话名称
p //切换窗口
: //命令行模式