一文带你掌握 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 配置文件。

相关推荐
赖small强11 分钟前
【Linux 网络基础】HTTPS 技术文档
linux·网络·https·tls
写代码的学渣37 分钟前
ubuntu 22.04 新装的系统 xshell 连不上
linux·运维·ubuntu
序属秋秋秋1 小时前
《Linux系统编程之进程环境》【环境变量】
linux·运维·服务器·c语言·c++·操作系统·系统编程
雲烟1 小时前
嵌入式设备EMC安规检测参考
网络·单片机·嵌入式硬件
泽虞1 小时前
《STM32单片机开发》p7
笔记·stm32·单片机·嵌入式硬件
田甲1 小时前
【STM32】 数码管驱动
stm32·单片机·嵌入式硬件
云计算练习生2 小时前
linux shell编程实战 10 Git工具详解与运维场景实战
linux·运维·git
up向上up2 小时前
基于51单片机垃圾箱自动分类加料机快递物流分拣器系统设计
单片机·嵌入式硬件·51单片机
虚伪的空想家4 小时前
KVM的ubuntu虚机如何关闭安全启动
linux·安全·ubuntu
t1987512810 小时前
在Ubuntu 22.04系统上安装libimobiledevice
linux·运维·ubuntu