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

相关推荐
朝九晚五ฺ8 分钟前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream11 分钟前
Linux的桌面
linux
xiaozhiwise42 分钟前
Makefile 之 自动化变量
linux
意疏3 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu3 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿3 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
lantiandianzi4 小时前
基于单片机的多功能跑步机控制系统
单片机·嵌入式硬件
哔哥哔特商务网4 小时前
高集成的MCU方案已成电机应用趋势?
单片机·嵌入式硬件
跟着杰哥学嵌入式4 小时前
单片机进阶硬件部分_day2_项目实践
单片机·嵌入式硬件