兰 亭 墨 苑
期货 · 量化 · AI · 终身学习
首页
归档
编辑文章
标题 *
URL 别名 *
内容 *
(支持 Markdown 格式)
`tmux` (Terminal Multiplexer) 是一个非常强大的终端复用工具,它允许你在一个终端窗口中创建、管理多个终端会话、窗口和窗格。以下是一些 `tmux` 的常用命令,分为几个主要类别: **一、核心概念:前缀键 (Prefix Key)** 所有 `tmux` 内部的命令都需要先按下**前缀键**,然后才能按相应的命令键。 默认的前缀键是:`Ctrl + b` 所以,当你看到 `Ctrl-b c` 时,意思是: 1. 按住 `Ctrl` 键,然后按 `b` 键,然后松开 `Ctrl` 和 `b`。 2. 迅速按 `c` 键。 **二、会话 (Session) 管理** 会话是 `tmux` 的最高级别容器,你可以启动多个独立的会话,并在会话之间切换。 * **`tmux`** 或 **`tmux new`**: 启动一个新的 `tmux` 会话。 * **`tmux new -s my_session`**: 启动一个名为 `my_session` 的新会话。 * **`tmux ls`** 或 **`tmux list-sessions`**: 列出所有当前的 `tmux` 会话。 * **`tmux attach -t my_session`**: 连接(或重新连接)到名为 `my_session` 的会话。 * **`tmux attach`**: 如果只有一个会话,直接连接到它。 * **`Ctrl-b d`**: 从当前会话中**分离**(detach)。你的会话会在后台继续运行,你可以之后再连接回来。 * **`tmux kill-session -t my_session`**: 杀死(终止)名为 `my_session` 的会话。 * **`Ctrl-b $`**: 重命名当前会话。 **三、窗口 (Window) 管理** 一个会话可以包含多个窗口,每个窗口都有自己的编号。 * **`Ctrl-b c`**: 创建一个新窗口。 * **`Ctrl-b n`**: 切换到下一个窗口。 * **`Ctrl-b p`**: 切换到上一个窗口。 * **`Ctrl-b <数字>` (例如 `Ctrl-b 0`, `Ctrl-b 1`)**: 切换到指定编号的窗口。 * **`Ctrl-b w`**: 以交互式列表显示所有窗口,你可以选择要切换的窗口。 * **`Ctrl-b ,`**: 重命名当前窗口。 * **`Ctrl-b &`**: 关闭当前窗口(会提示确认 `(y/n)`)。 * **`Ctrl-b .`**: 将当前窗口移动到不同的位置(提示输入新索引)。 * **`Ctrl-b f`**: 查找窗口(按窗口名搜索)。 **四、窗格 (Pane) 管理** 一个窗口可以进一步分割成多个窗格,每个窗格都运行一个独立的 shell。 * **`Ctrl-b %`**: 将当前窗格**垂直**分割(分成左右两个窗格)。 * **`Ctrl-b "`**: 将当前窗格**水平**分割(分成上下两个窗格)。 * **`Ctrl-b <箭头键>` (例如 `Ctrl-b ↑`, `Ctrl-b ↓`, `Ctrl-b ←`, `Ctrl-b →`)**: 切换到指定方向的相邻窗格。 * **`Ctrl-b o`**: 顺时针切换到下一个窗格。 * **`Ctrl-b x`**: 关闭当前窗格(会提示确认 `(y/n)`)。 * **`Ctrl-b z`**: 放大/缩小(zoom)当前窗格,使其占据整个窗口。再次按下可恢复。 * **`Ctrl-b space`**: 切换当前窗格的布局(预设了几种分割布局,循环切换)。 * **`Ctrl-b {`**: 将当前窗格与上一个窗格交换位置。 * **`Ctrl-b }`**: 将当前窗格与下一个窗格交换位置。 * **`Ctrl-b Alt-<箭头键>` (或 `Ctrl-b Ctrl-<箭头键>` )**: 调整当前窗格的大小。例如: * `Ctrl-b Alt-↑`: 向上缩小窗格 * `Ctrl-b Alt-↓`: 向下放大窗格 * `Ctrl-b Alt-←`: 向左缩小窗格 * `Ctrl-b Alt-→`: 向右放大窗格 * *注意:这需要一些配置,或者直接使用命令模式。* *更通用的调整大小方法(命令模式):* * `Ctrl-b : resize-pane -U 10` (向上调整10行) * `Ctrl-b : resize-pane -D 10` (向下调整10行) * `Ctrl-b : resize-pane -L 10` (向左调整10列) * `Ctrl-b : resize-pane -R 10` (向右调整10列) * **`Ctrl-b q`**: 显示窗格编号。显示后,输入数字可以直接切换到对应窗格。 * **`Ctrl-b !`**: 将当前窗格破裂(break)成一个新窗口。 * **`Ctrl-b ;`**: 切换到上次活动的窗格。 * **`Ctrl-b : set-window-option synchronize-panes`**: 切换窗格同步模式。开启后,你在一个窗格中输入的命令会同步到所有其他窗格中执行,非常适合同时在多台服务器上执行相同命令。再次执行可关闭。 **五、复制模式 (Copy Mode) 与粘贴** `tmux` 可以让你复制终端输出的内容,即使它们已经滚动出屏幕。 * **`Ctrl-b [`**: 进入复制模式。 * 进入复制模式后,你可以使用 Vim 风格的按键(或 Emacs 风格,取决于你的配置)进行导航: * `hjkl` 或 箭头键: 移动光标 * `Ctrl-u` / `Ctrl-d`: 向上/向下翻页 * `Space`: 开始选择(标记区域) * `Enter`: 结束选择,复制选中的内容。 * **`Ctrl-b ]`**: 粘贴上次复制的内容。 **六、其他常用命令** * **`Ctrl-b ?`**: 显示所有快捷键的帮助信息。 * **`Ctrl-b t`**: 显示一个时钟。 * **`Ctrl-b :`**: 进入 `tmux` 命令模式。你可以在这里输入各种 `tmux` 命令,例如: * `Ctrl-b : source-file ~/.tmux.conf` (重新加载 `tmux` 配置文件) * `Ctrl-b : new-window` (创建新窗口) * `Ctrl-b : kill-pane` (关闭当前窗格) * **`Ctrl-b !`**: 将当前窗格转换为一个独立的新窗口。 **七、自定义 (`~/.tmux.conf`)** `tmux` 强大的一个原因是可以高度自定义。你可以在 `~/.tmux.conf` 文件中定义自己的快捷键、修改状态栏、设置主题等。 * **修改前缀键**: 如果你觉得 `Ctrl-b` 不方便,可以修改。例如改为 `Ctrl-a` (与 Screen 相似): ```tmux unbind C-b set -g prefix C-a bind C-a send-prefix ``` 修改后,需要 `Ctrl-b : source-file ~/.tmux.conf` 来重新加载配置。 掌握这些常用命令,你就能大大提高在终端下工作的效率!
配图 (可多选)
选择新图片文件或拖拽到此处
标签
更新文章
删除文章