本文介绍终端复用工具tmux,当然此类工具比较好的还有有些系统自带的screen。
如果仅仅只是多标签的功能,那么putty结合一些工具也可以做到,或者干脆使用xshell,当然tmux此类工具不仅仅是那么简单。另外一个选择使用tmux/screen工具的原因是,有时我们会经常需要SSH或者telent远程登录到Linux服务器,有一些任务需要长时间运行,比如系统备份、数据传输等。通常情况下我们都是开一个远程终端窗口,因为执行时间比较长,一般需要等待它执行完毕,在此过程中不能关闭窗口或者网络原因断开连接,断开之后就Game Over了。这个功能就有点类似nohup
和setsid
命令的实现了,而tmux/screen则集nohup/setsid和多标签于一身。废话少说,我们接下来看如何安装使用它。
安装
Ubuntu
sudo apt install tmux
Redhat/CentOS
yum install tmux
快速使用
tmux new-session -s name #创建新的session,session名为name
ctrl+b c 创建新的窗口
ctrl+b n 切换到下一个窗口
ctrl+b p 切换到上一个窗口
ctrl+b 1 切换到1号窗口
ctrl+b d 脱离回话,回到原终端
tmux ls 显示当前所有session
tmux a -t name 进入name这个回话
tmux kill-session -t name 介绍回话,里面运行的所有程序会一起被结束
tmux嵌套 ctrl+b+b 再发指令就是发送到内层窗口
使用技巧
几个名词
tmux主要包括以下几个模块:
session | 会话:一个服务器可以包含多个会话 |
window | 窗口:一个会话可以包含多个窗口 |
pane | 面板:一个窗口可以包含多个面板[强悍的分屏] |
小试牛刀
列出了tmux的几个基本模块之后,就要来点实实在在的干货了,和screen
默认激活控制台的Ctrl+a
不同,tmux默认的是Ctrl+b
,使用快捷键之后就可以执行一些相应的指令了。当然如果你不习惯使用Ctrl+b