好用工具分享 | tmux 终端会话分离工具

目录

[1 tmux的安装](#1 tmux的安装)

[2 tmux的基本操作](#2 tmux的基本操作)

[2.1 启动与退出](#2.1 启动与退出)

[2.2 分离会话](#2.2 分离会话)

[2.3 查看会话](#2.3 查看会话)

[2.4 重接会话](#2.4 重接会话)

[2.5 杀死会话](#2.5 杀死会话)

[2.6 切换会话](#2.6 切换会话)


tmux是一个 terminal multiplexer(终端复用器),它可以启动一系列终端会话。

我们使用命令行时,打开一个终端窗口,会话开始,执行某些命令如npm run dev,关闭此终端窗口,会话结束,npm run dev服务会话随之被关闭。有时我们希望我们运行的服务如npm run dev 或者一些cd命令等,被保留,而不是关闭窗口再打开后,重新手动执行。tmux的主要用途就在于此。

它解绑了会话和终端窗口。关闭终端窗口再打开,会话并不终止,而是继续运行在执行。将会话与终端窗后彻底分离。

1 tmux的安装

安装方法一

复制代码
git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make

安装方法二

复制代码
# Ubuntu 或 Debian
$ sudo apt-get install tmux
​
# CentOS 或 Fedora
$ sudo yum install tmux
​
# Mac
$ brew install tmux

2 tmux的基本操作

2.1 启动与退出

讲解使用之前,我们需要先搞清楚窗口与会话的概念。

窗口:其实就是我们终端打开的一个tab,如

会话:终端里面所操作的命令、启动的服务,为会话

正常情况下,如我们关闭窗口,窗口创建的一些会话也会结束

复制代码
# 启动tmux
$ tmux
​
# 退出
$ exit 或 Ctrl+D

启动tmux后,底部0 表示第0个tmux伪窗口,再启动一个tmux伪窗口,则为1,依次递增。

注意这里的exit是彻底关闭这个tmux的操作!!!和分离是有区别的

2.2 分离会话

执行tmux detach,可见退出了tmux伪窗口

复制代码
# 分离会话
$ tmux detach

2.3 查看会话

执行tmux ls可看到当前所有的tmux伪窗口。

2.4 重接会话

通过tmux detach关闭tmux伪窗口后,希望再次进入某一个会话窗口

如果是exit退出之后,则不可以再次进入

复制代码
# 重接会话 使用伪窗口编号
$ tmux attach -t 0
​
# 重接会话 使用伪窗口名称
$ tmux attach -t xiaoqi

2.5 杀死会话

有时候我们想彻底关闭某个会话,不想让其再执行,怎么操作?

和exit的方法的效果其实一样

复制代码
# 使用会话编号
$ tmux kill-session -t 0
​
# 使用会话名称
$ tmux kill-session -t <name>

2.6 切换会话

复制代码
# 使用会话编号
$ tmux switch -t 0
​
# 使用会话名称
$ tmux switch -t <session-name>
相关推荐
AlfredZhao2 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao16 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈2 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫2 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++