Tmux:终端复用器的基本使用(二)

张开发
2026/4/16 10:08:54 15 分钟阅读

分享文章

Tmux:终端复用器的基本使用(二)
相关阅读Tmuxhttps://blog.csdn.net/weixin_45791458/category_12472796.html?spm1001.2014.3001.5482上一篇文章介绍了tmux中会话(session)的一些基本使用方法。不过会话并不是tmux最强大的功能之一。tmux还支持在一个会话中创建多个窗口(window)并能够在这些窗口之间灵活切换。对于日常开发来说这一功能非常实用例如可以在一个窗口里编辑代码在另一个窗口里运行程序在第三个窗口里查看日志而不必频繁新开终端。前面提到过当创建一个新的tmux会话时tmux会自动在该会话中创建一个初始窗口并自动连接到这个窗口。默认情况下窗口会按照编号依次命名为0、1、2等。如下图所示在会话1中有一个名字为0的窗口。当然和会话一样窗口名称也不一定非要使用默认编号。用户既可以在创建会话时就指定窗口名也可以在会话建立之后继续添加新的窗口。下面是几种常见的创建窗口方式tmux new -s mysession -n mywindow //在tmux外部使用 :new -n mywindow //在tmux内部使用[ctrl]b:进入命令模式 [ctrl]bc //在tmux内部使用tmux 的一个比较有意思的特性是如果窗口没有被手动命名那么窗口名称通常会跟随当前活动窗格(pane)前台运行的进程名发生变化如下图所示因为当前窗格中运行了bash所以窗口名变成了bash。这意味着未手动命名的窗口其名称往往反映的是当前活动pane里的前台进程。这一点在窗口较多时有时会很方便因为能快速看出当前窗口主要在运行什么但另一方面如果你希望窗口名保持稳定、便于识别那么最好还是手动重命名。如下图所示当前窗格中运行bash时窗口的名字是bash当切换到其他pane时窗口名字被更改为sleep。在创建了一个窗口后重命名一个窗口也是可以的使用如下命令可以轻松做到这一点无论是在tmux内部还是外部。$tmux rename-window new_window-name //在tmux内部使用重命名当前window在tmux外部使用重命名最后连接的窗口 $tmux renamew new_window-name //在tmux内部使用重命名当前window在tmux外部使用重命名最后连接的窗口 $tmux rename-window -t old_window_name new_window_name //在tmux内部和外部均可使用 $tmux renamew -t old_window_name new_window_name //在tmux内部和外部均可使用 [ctrl]b, //在tmux内部使用如下图所示在tmux内部使用[ctrl]b,更改窗口的名字为window。当你想关闭一个窗口可以使用以下的命令其中killw是kill-window的别名注意当关闭一个窗口时里面的进程会随着结束。因此在关闭之前最好确认其中没有重要任务正在运行。$tmux kill-window //在tmux内部使用则删除当前连接的窗口在tmux外部使用则删除最后连接的窗口 $tmux killw //在tmux内部使用则删除当前连接的窗口在tmux外部使用则删除最后连接的窗口 $tmux kill-window -t mywindow //在tmux内部和外部均可使用指定删除名字或编号为mywindow的窗口当出现标号和名字相同时优先删除编号 $tmux killw -t mywindow //在tmux内部和外部均可使用指定删除名字或编号为mywindow的窗口当出现标号和名字相同时优先删除编号 $tmux kill-window -a //在tmux内部使用则删除除当前连接的窗口外的所有窗口在tmux外部使用则删除除最后连接的会话外的所有窗口 $tmux killw -a //在tmux内部使用则删除除当前连接的窗口外的所有窗口在tmux外部使用则删除除最后连接的会话外的所有窗口 $tmux kill-window -a -t mywindow //在tmux内部和外部均可使用删除除名字或编号为mywindow的窗口外所有窗口当出现标号和名字相同时优先选择编号保留 $tmux killw -a -t mywindow //在tmux内部和外部均可使用删除除名字或编号为mywindow的窗口外所有窗口当出现标号和名字相同时优先选择编号保留 [ctrl]b //在tmux内部使用下图显示了在tmux中使用[ctrl]b关闭窗口的过程在使用快捷键[ctrl]b关闭窗口时tmux会进行二次确认当一个会话内的所有窗口都关闭后该会话即会被删除并所有连接至该会话的客户端都会断开连接。窗口间的切换功能是很重要的使用以下命令可以轻松地在一个会话中的不同窗口间切换可以上下切换也可以指定编号。[ctrl]bn //在tmux内部使用切换到下一个窗口 [ctrl]bp //在tmux内部使用切换到上一个窗口 [ctrl]b[0-9] //在tmux内部使用切换到指定编号的窗口虽然有了上面的三种切换命令但有时用户会需要在不同的会话中的窗口之间切换此时以下命令就很有帮助此外这个命令会列出所有的窗口以及它们的结构所以也可利用这个查看tmux的结构。[ctrl]bw //在tmux内部使用以列表的形式列出所有window结构以供选择进入如下图所示用户可以看到不同会话中不同窗口的分布情况并可以选择一个窗口切换。除了切换和重命名之外tmux还允许用户调整窗口编号。例如可以交换两个窗口的编号:swap-window -s 2 -t 1 ////在tmux内部使用[ctrl]b:进入命令模式有时候我们只是想在两个常用窗口之间来回切换例如一个窗口写代码另一个窗口查看运行结果。对于这种需求[ctrl]bl快捷键非常方便它的作用是回到上一次访问的窗口。不过要注意这个命令并不是按照历史访问栈不断往前回退它只会在“当前窗口”和“上一个窗口”之间切换。也就是说如果你连续按[ctrl]bl通常只会在两个窗口之间反复来回。这在实际使用中很像编辑器里的“返回上一个标签页”功能适合在两个高频窗口之间快速跳转。关于tmux的更多操作可以参考下面的文章。Tmux终端复用器的基本使用三https://blog.csdn.net/weixin_45791458/article/details/133993700?sharetypeblogdetailsharerId133993700sharereferPCsharesourceweixin_45791458spm1011.2480.3001.8118

更多文章