终端复用神器——tmux的安装及基本用法

tmux是一个开源的终端复用器,类似于screen(参考我的另一篇博客:screen命令行会话管理),

允许用户在一个终端窗口中访问多个独立的终端会话。它非常适合于远程工作和多任务处理,因为它允许用户在一个窗口中保持多个终端会话的运行,即使在网络连接断开后也能保持会话的活跃状态。以下是 tmux 的一些主要特点:

  • 会话管理tmux 允许你创建多个会话,每个会话可以包含多个窗口。你可以在这些会话之间自由切换,而不会中断任何正在运行的进程。

  • 窗口和窗格:在 tmux 中,你可以在一个窗口中垂直或水平分割多个窗格,每个窗格都可以独立运行不同的命令。

  • 可恢复性tmux 可以保存和恢复会话,这意味着即使关闭终端或计算机,你也可以在任何时候恢复你的工作状态。

  • 共享会话tmux 支持会话共享,你可以邀请其他用户加入你的会话,这对于协作工作非常有用。

  • 滚动缓冲区tmux 提供了一个滚动缓冲区,允许你查看之前在终端中的输出,即使那些输出已经超出了当前屏幕的范围。

  • 自定义和脚本tmux 支持自定义配置和脚本,用户可以根据需要调整快捷键、颜色方案和其他设置。

  • 跨平台tmux 可以在多种操作系统上运行,包括 Linux、macOS 和 BSD 系统。

  • 命令行界面tmux 提供了一个强大的命令行界面,允许你执行各种操作,如创建、切换、重命名会话和窗口等。

  • 状态栏tmux 有一个状态栏,显示当前会话、窗口和窗格的信息,以及系统时间等。

  • 兼容性tmux 与大多数终端模拟器兼容,包括 GNOME Terminal、iTerm2、Konsole 等。

目录

1. 安装

2. 基本使用

3. 自定义快捷键

参考:


1. 安装

可以从源码(https://github.com/tmux/tmux)编译安装:

克隆下来,进入目录,并执行以下命令:

./configure && make
sudo make install

也可以直接通过命令行安装: 

PlatformInstall Command
Arch Linuxpacman -S tmux
Debian or Ubuntuapt install tmux
Fedoradnf install tmux
RHEL or CentOSyum install tmux
macOS (using Homebrew)brew install tmux
macOS (using MacPorts)port install tmux
openSUSEzypper install tmux

更多安装方式,可参考:https://github.com/tmux/tmux/wiki/Installing

2. 基本使用

tmux --help
usage: tmux [-2CDlNuVv] [-c shell-command] [-f file] [-L socket-name]
            [-S socket-path] [-T features] [command [flags]]

补充说明:涉及到快捷键的,需要先按 “Ctrl-b”,然后松开,再按后面的其他按键!!!这一点和screen不一样,screen是同时按。

  • 会话相关命令

    • tmux new-session -d -s mysession:创建一个后台运行的命名会话。
    • tmux rename-session -t mysession newname:重命名会话。
    • tmux kill-server:杀死所有 tmux 会话和服务器。
    • tmux ls 或者 tmux list-sessions: 列出当前所有会话。
    • tmux attach:重新连接到最近的会话。
    • tmux attach-session -t session_name_or_number: 如果有多个会话,可以使用此命令指定会话名称或编号。
    • Ctrl+b $:输入新的会话名称,重命名。
  • 窗口相关命令

    • Ctrl-b c:创建一个命名的窗口。
    • Ctrl-b window_number:选择一个命名的窗口。
    • Ctrl-b ,: 重命名窗口。
    • Ctrl-b &:关闭当前窗口;会提示是否关闭,按y确认关闭或按n取消。
  • 窗格相关命令

    • 创建新的窗格

      • 水平分割Ctrl+b,然后按 %

      • 垂直分割Ctrl+b,然后按 "

    • 切换窗格

      • 向左切换Ctrl+b,然后按 h

      • 向右切换Ctrl+b,然后按 l

      • 向上切换Ctrl+b,然后按 k

      • 向下切换Ctrl+b,然后按 j

      • 按编号切换Ctrl+b,然后按窗格编号(数字键)。

    • 调整窗格大小

      • 增大窗格宽度Ctrl+b,然后按 Right Arrow

      • 减小窗格宽度Ctrl+b,然后按 Left Arrow

      • 增大窗格高度Ctrl+b,然后按 Down Arrow

      • 减小窗格高度Ctrl+b,然后按 Up Arrow

    • 关闭窗格

      • Ctrl+b,然后按 x,确认后关闭当前窗格。

    • 交换窗格位置

      • 与左侧窗格交换Ctrl+b,然后按 {

      • 与右侧窗格交换Ctrl+b,然后按 }

    • 全屏切换

      • 放大当前窗格Ctrl+b,然后按 z

      • 再次按 Ctrl+b + z,恢复默认布局。

  • 复制模式相关命令

    • Ctrl-b [Space]:开始选择文本。
    • Ctrl-b w:复制模式中选择单词。
    • Ctrl-b q:退出复制模式。
  • 状态栏和消息

    • tmux display-message:显示消息。
    • tmux display-panes:显示窗格布局。
  • 配置相关命令

    • tmux setw -g window-size 30:设置全局窗口大小。
    • tmux setw -g status on:开启或关闭状态栏。
  • 脚本和自动化

    • tmux source-file filename:从文件中读取命令执行。
    • tmux wait-for -S session_id:等待会话创建完成。
  • 其他命令

    • tmux lock-client:锁定客户端。
    • tmux lock-session -t mysession:锁定特定会话。

3. 自定义快捷键

可以通过编辑 ~/.tmux.conf 文件来自定义快捷键。例如:

# 将前缀键从 Ctrl+b 改为 Ctrl+a
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# 自定义快捷键
bind h select-pane -L
bind l select-pane -R
bind k select-pane -U
bind j select-pane -D

参考:

1. https://en.wikipedia.org/wiki/Tmux

2. https://github.com/tmux/tmux

3. https://github.com/tmux/tmux/wiki/Installing

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AICVHub

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值