一文带你掌握 tmux -- 高效的终端复用工具

一、什么是tmux?

**tmux 是一款开源的终端复用器,允许用户在一个终端窗口中访问多个终端会话,同时提供了会话管理功能,使得用户可以在同一个窗口中创建、访问和控制多个会话。**它对于需要同时运行多个命令行程序的用户来说非常有用,尤其是对于远程工作的开发者而言,因为它能够在网络断开连接后继续保持会话运行。

1.1 主要特性

  • 会话管理tmux 支持用户断开连接后保持会话运行,之后可以重新连接会话,继续之前的工作,这对于远程工作的用户来说非常有用。
  • 窗口和面板 :用户可以在一个tmux会话中创建多个窗口,并且每个窗口可以被进一步划分为多个面板(Pane),每个面板都是一个独立的终端。
  • 可定制和脚本化tmux 允许用户通过配置文件~/.tmux.conf来定制键绑定和设置,也支持通过脚本来自动化复杂的任务。
  • 状态栏tmux提供了一个状态栏,显示有关当前会话的信息,如当前窗口和面板,时间等,用户可以自定义状态栏的内容。

1.2 使用示例

  • 启动新的tmux会话 :在终端中输入 tmux 命令可以启动一个新的会话。
  • 分离和附加会话 :用户可以从当前会话中分离(默认快捷键是 Ctrl+b d),并在之后通过命令 tmux attachtmux attach-session 重新连接到会话。
  • 创建窗口和面板 :在tmux中,用户可以通过快捷键创建新的窗口(Ctrl+b c)和面板(Ctrl+b % 创建垂直分割面板,Ctrl+b " 创建水平分割面板)。

1.3 获取和安装

tmux 可以在多数Linux发行版和macOS中通过包管理器安装。例如,在Ubuntu上,你可以使用以下命令安装:

bash 复制代码
sudo apt-get update sudo apt-get install tmux

在macOS上,可以使用Homebrew安装:

bash 复制代码
brew install tmux

通过学习和使用tmux,用户可以显著提高终端工作的效率和便捷性。

二、在Linux系统中运行tmux

2.1 新建一个tmux

bash 复制代码
tmux

2.2 tmux常用命令

tmux 是一个很强大的终端复用工具,它有很多命令可以帮助你创建、管理和操控多个终端会话。以下是一些常用的 tmux 命令:

  1. 创建新会话 :使用**tmux new -s mysession**创建一个新的 tmux 会话并命名为 "mysession"。

  2. 列出所有会话 :使用 tmux ls 命令查看当前所有的 tmux 会话。

  3. 附加到会话 :使用 tmux attach -t mysession 命令连接到名为 "mysession" 的会话。

  4. 切换会话 :使用 tmux switch -t mysession 命令切换到名为 "mysession" 的会话。

  5. 杀死会话 :使用**tmux kill-session -t mysession** 命令结束名为 "mysession" 的会话。

  6. 分离会话 :在 tmux 会话内按**Ctrl-b d 组合键可以分离当前会话**,这将返回到非 tmux 环境,但是 tmux 会话将继续在后台运行。

  7. 分割窗口 :在 tmux 会话内,使用 Ctrl-b % 可以垂直分割窗口,Ctrl-b " 可以水平分割窗口。

  8. 在窗口之间切换 :在 tmux 会话内,使用 Ctrl-b o 可以在窗格之间切换

  9. 关闭窗口 :在 tmux 会话内,使用 Ctrl-b x 可以关闭当前窗口

  10. 重新排列窗口 :在 tmux 会话内,使用 Ctrl-b 可以更改窗格的位置

  11. 列出所有快捷键 :在 tmux 会话内,使用 Ctrl-b ? 可以显示所有可用的快捷键绑定。

  12. 调整窗格大小 :在 tmux 会话内,使用 Ctrl-b Ctrl-方向键 可以调整窗格的大小。

  13. 最大化/恢复窗格 :在 tmux 会话内,使用 Ctrl-b z 可以最大化当前窗格,再次按下可以恢复。

  14. 滚动回看历史 :在 tmux 会话内,使用 Ctrl-b [ 可以进入复制模式,然后使用方向键或 Page Up/Page Down 键进行滚动。按 q 键退出复制模式。

  15. 复制文本 :在复制模式下,使用 Space 键开始选择文本,使用 Enter 键复制选中的文本。

  16. 粘贴文本 :在 tmux 会话内,使用 Ctrl-b ] 可以粘贴之前复制的文本。

  17. 创建新窗口 :在 tmux 会话内,使用 Ctrl-b c 可以创建一个新的窗口。

  18. 切换到下一个窗口 :在 tmux 会话内,使用 Ctrl-b n 可以切换到下一个窗口。

  19. 切换到上一个窗口 :在 tmux 会话内,使用 Ctrl-b p 可以切换到上一个窗口。

  20. 显示窗口列表 :在 tmux 会话内,使用 Ctrl-b w 可以显示当前会话的所有窗口列表,然后使用方向键选择并按 Enter 键切换到选中的窗口。

  21. 显示时间 :在 tmux 会话内,使用 Ctrl-b t 可以显示一个大时钟。

  22. 重新加载配置文件 :在 tmux 会话内,使用 Ctrl-b : 进入命令模式,然后输入 source-file ~/.tmux.conf 可以重新加载 tmux 配置文件。

相关推荐
雅欣-鱼子酱7 分钟前
什么是PD协议?握手过程是怎样的?
linux·运维·网络
极客代码30 分钟前
C语言 getchar 函数完全解析:掌握字符输入的关键
linux·c语言·开发语言·getchar
小安运维日记35 分钟前
Linux云计算 |【第四阶段】RDBMS1-DAY5
linux·运维·服务器·数据库·mysql·云计算
@游子1 小时前
Linux-基础篇文件权限和组的管理-练习实践(附答案)
linux·运维·服务器
西西o1 小时前
Linux服务安装node,npm与yarn
linux·运维·npm
熊明才2 小时前
How to install JetBrains ToolBox in Ubuntu 22.04 LTS?
linux·运维·ubuntu
会洗碗的CV工程师2 小时前
828华为云征文|使用Flexus X实例集成ES搜索引擎
大数据·linux·搜索引擎·centos·华为云
物随心转2 小时前
TIM(Timer)定时器的原理
单片机·嵌入式硬件
小僧下山踏红尘2 小时前
AlmaLinux 9 安装mysql8.0.38
linux·mysql
辰哥单片机设计3 小时前
STM32项目分享:智能风扇系统
stm32·单片机·嵌入式硬件