文章目录
- @[toc]
- 0 什么是终端?什么是会话?
- 1 tmux的安装
- 2 tmux的基本操作
- 2.1 启动与退出(杀死tmux)
- 2.2 分离会话
- 2.3 重接会话
- 2.4 当前已有的会话查看
- 2.5 切换会话
文章目录
- @[toc]
- 0 什么是终端?什么是会话?
- 1 tmux的安装
- 2 tmux的基本操作
- 2.1 启动与退出(杀死tmux)
- 2.2 分离会话
- 2.3 重接会话
- 2.4 当前已有的会话查看
- 2.5 切换会话
0 什么是终端?什么是会话?
tmux是一个 terminal multiplexer(终端复用器),它可以启动一系列终端会话。是非常强大的。
但在正式讲解之前,我们需要了解两个概念,一个是终端,一个是会话
在Linux中,"终端"通常指的是用户与系统交互的文本界面,可以是物理终端设备(如终端机)或虚拟终端(如终端仿真器)。终端提供了一个命令行界面,用户可以在其中输入命令并查看命令的输出。
"会话"则是指用户在终端上与系统交互的一段时间内的一些操作任务。当用户登录到系统时,在终端上开始一个新的会话。在这个会话中,用户可以执行各种命令,并与系统进行交互。会话通常在用户注销或终止终端连接时结束。
因此,终端是用户与系统交互的界面,而会话是指在终端上进行的一段时间的交互活动。
我们用一个类比来解释。
想象你在玩一个游戏,游戏里有一个控制面板让你可以输入指令和看到游戏的反馈。这个控制面板就好比是Linux中的终端,它让你可以与游戏世界进行互动。
而每次你开始玩游戏,就像是在终端上开始一个新的会话。在这个会话里,你可以输入各种指令,移动角色,探索地图等等。当你玩够了想退出游戏时,就像是结束了这次会话,你的角色离开了游戏世界,控制面板也关闭了。
所以,终端就像是游戏中的控制面板,会话就像是你在游戏中的一次游玩过程。
我们在深度学习的训练中使用终端的时候,往往就是开启一个终端,开始训练(可以看做一个会话),我们希望这个会话(训练代码的执行)在终端关闭后依然执行而不停止~
这就需要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 启动与退出(杀死tmux)
启动非常简单,输入tmux即可,这时候可以看到下面的绿色条,这时候成功启动了
# 启动tmux,直接启动,不加会话名
$ tmux
# 启动的时候赋值名字
$ tmux new-session -s <你的名字>
# 退出
$ exit 或 Ctrl+D
# 使用ID,和上面的exit效果一样
$ tmux kill-session -t 0
# 使用会话名称
$ tmux kill-session -t <name>
启动tmux后,底部[0] 表示第0个tmux伪窗口,再启动一个tmux伪窗口,则为[1],依次递增。
注意这里的exit和kill-session实现的效果是一样的,是彻底关闭这个tmux的操作!!!和下面的分离detach是有区别的,分离之后还可以再进入,而彻底关闭后则不可以
2.2 分离会话
执行tmux detach
,可见退出了tmux伪窗口,同时可以再次重接
# 分离会话
$ tmux detach。
2.3 重接会话
通过tmux detach
关闭tmux伪窗口后,希望再次进入某一个会话窗口
如果是exit退出之后,则不可以再次进入
# 重接会话 使用伪窗口编号
$ tmux attach -t 0
# 重接会话 使用伪窗口名称
$ tmux attach -t xiaoqi
2.4 当前已有的会话查看
tmux ls
2.5 切换会话
# 使用会话编号
$ tmux switch -t 0
# 使用会话名称
$ tmux switch -t <session-name>