tmux 与 nohub
tmux 简介
tmux(terminal multiplexer)是一个终端复用器,它允许用户在单个终端窗口中同时运行多个终端会话。与nohub将命令放在后台运行相似,但是tmux功能更加丰富灵活,用户可以创建、连接和管理多个终端会话。它具有持久化会话的特性,即使在断开连接后或关闭终端窗口后,会话仍然可以继续运行。这对于需要在长时间运行的任务或远程连接中保持会话的用户非常有用。
tmux 与nobub对比
与tmux相比,nohup是一个用于在后台运行命令的工具。它的作用是使命令在终端会话结束后继续运行,不受终端关闭或断开连接的影响。nohup命令通常与输出重定向一起使用,以便将命令的输出保存到文件中,主要区别在于:
功能和用途:tmux主要用于管理和组织多个终端会话,可以同时运行多个任务并轻松切换和管理窗口。而nohup主要用于在后台运行命令,确保命令不受终端关闭或断开连接的影响。
用户界面:tmux提供了一个交互式的终端界面,允许用户在终端窗口中直接操作和切换会话。而nohup没有用户界面,只是将命令放在后台运行而不产生终端输出。
复杂性:相对而言,tmux更为复杂,需要一定的学习和适应。它适合需要在终端环境下进行多任务和多会话管理的用户。而nohup相对简单,适合简单地将命令放在后台运行。
因此, tmux适合那些需要同时管理和组织多个终端会话的用户,特别是那些需要在终端环境下进行复杂任务和多会话切换的用户。它提供了更多的功能和灵活性,可以帮助用户更高效地处理多个任务。而nohup则更适合那些需要在后台运行命令并确保命令不受终端关闭或断开连接影响的用户。它通常用于长时间运行的任务或需要将命令放在后台持续执行的场景,如服务器上的服务或脚本。
tmux 安装与使用
-
安装tmux:
-
在Ubuntu上,使用以下命令安装tmux:
sudo apt-get update sudo apt-get install tmux
-
在macOS上,使用Homebrew安装tmux:
brew install tmux
-
在其他Linux发行版上,可以使用适当的包管理器进行安装,例如yum或dnf。
-
-
启动tmux会话:
-
在终端中输入以下命令启动一个新的tmux会话:
# 启动 tmux # 或tmux new -s <name> # 退出 exit # 或Ctrl+D
-
这将创建一个新的tmux会话并进入到tmux的控制台界面。
-
-
tmux基本操作:
-
分割窗格:使用以下快捷键将当前窗格垂直分割为两个窗格:
Ctrl+b %
这将在当前窗格的右侧创建一个新的垂直窗格。
-
切换窗格:使用以下快捷键在窗格之间进行切换:
Ctrl+b 方向键
方向键可以是上、下、左、右箭头键。
-
创建新窗口:使用以下快捷键创建一个新的窗口:
Ctrl+b c
-
切换窗口:使用以下快捷键在不同的窗口之间进行切换:
Ctrl+b 数字键
数字键对应于窗口的编号。
-
分离会话:使用以下快捷键将会话分离,使其在后台运行:
Ctrl+b d #或tmux detach
这将使tmux会话在后台继续运行,您可以在需要时重新连接。
-
-
重新连接tmux会话:
- 如果您在分离会话后需要重新连接到tmux会话,可以使用以下命令:
# 使用窗格编号重接 tmux attach -t 0 # 使用窗格名称重接 tmux attach -t <name> # 如tmux att -s llc
不指定任何参数的话,tumx attach 将重新连接到最近的tmux会话。
-
关闭tmux会话:
-
如果想彻底删除某个会话,可以使用以下命令:
tmux kill-session -t <name># -t的意思是target后接编号或名称
-
其它命令:
#列出所有tmux命令及其参数
tmux list-commands
#列出当前所有tmux会话信息
tmux info
#切换会话
tmux switch -t <>
#重命名会话
tmux rename-session -t <old-name> <new-name>