一文带你掌握 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 分钟前
Blazor项目中使用EF读写 SQLite 数据库
linux·数据库·sqlite·c#·.netcore·人机交互·visual studio
无为之士28 分钟前
Linux自动备份Mysql数据库
linux·数据库·mysql
MARIN_shen40 分钟前
Marin说PCB之POC电路layout设计仿真案例---06
网络·单片机·嵌入式硬件·硬件工程·pcb工艺
岑梓铭44 分钟前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
努力学习的小廉1 小时前
深入了解Linux —— make和makefile自动化构建工具
linux·服务器·自动化
MZWeiei1 小时前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
Asa3191 小时前
STM32-按键扫描配置
stm32·单片机·嵌入式硬件
7yewh1 小时前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
小张认为的测试1 小时前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
南城花随雪。1 小时前
单片机:实现驱动超声波(附带源码)
单片机·嵌入式硬件