kali 终端提升效率神器tmux

  1. 1 安装
  2. 2 使用.tmux
    1. 2.1 会话管理命令
    2. 2.2 快捷键
      1. 2.2.1 会话管理快捷键
      2. 2.2.2 窗口和面板快捷键
    3. 2.3 分屏状态下的内容复制问题

1 安装

1
2
3
4
5
安装
apt-get install tmux
切换默认shell
chat /etc/shells
chsh -s /usr/bin/tmux

2 使用.tmux

tmux 的工作机制可以分为三大部分:会话(Session)、窗口(Window)和面板(Pane)。每个部分都有其独特功能和作用:

  • 会话(Session):一个独立的工作实例。每个会话可以包含多个窗口,且可以独立于其他会话运行。即使 SSH 连接断开,tmux 也能保持会话的完整状态,保障程序不会中断。重新连接时,只需恢复会话即可。
  • 窗口(Window):会话中的窗口类似于多标签页,允许在同一会话中分割出不同的任务区。每个窗口可以包含多个面板,并且可以随时切换。
  • 面板(Pane):窗口中的分屏区域,每个面板都可以执行不同的任务。你可以在一个窗口中分割出多个面板,以便在同一屏幕下查看和操作多个任务。

2.1 会话管理命令

  • 新建会话:
    • 命令:tmux new -s <会话名> [-n 窗口名]
    • 说明:新建一个指定名称的会话,可选参数 -n 用于指定初始窗口的名称。
    • 使用场景:在终端外新建 tmux 会话,便于将不同任务组织在独立的会话中。
  • 恢复会话:
    • 命令:tmux attach -t <会话名> 或 tmux at -t <会话名>
    • 说明:恢复到已存在的会话,让你重新回到之前的工作环境。
    • 使用场景:当暂时离开会话后,通过该命令继续之前的工作,避免重新配置窗口和窗格。
  • 列出所有会话:
    • 命令:tmux ls
    • 说明:查看当前所有的会话及其状态,显示会话名、窗口数等信息。
    • 使用场景:有多个会话时,列出所有会话帮助定位特定会话的名称和状态。
  • 删除会话:
    • 命令:tmux kill-session -t <会话名>
    • 说明:关闭指定的会话,释放资源。
    • 使用场景:在会话任务完成后手动删除不再需要的会话。
  • 关闭所有会话:
    • 命令:tmux kill-server
    • 说明:彻底关闭 tmux 服务及所有会话。
    • 使用场景:退出 tmux 前清理所有会话,非常适合不再需要保持任何会话时使用。

2.2 快捷键

2.2.1 会话管理快捷键

  • 分离当前会话:Ctrl + b 后按 d 或者输入 tmux detach
    • 将当前会话转为后台运行,允许你暂时离开而不终止会话,稍后可以通过恢复会话继续工作。
  • 重命名当前会话:Ctrl + b 后按 $
    • 弹出重命名提示,允许你为当前会话指定一个更易于识别的名称。
  • 列出所有会话:Ctrl + b 后按 s
    • 显示当前所有会话的列表,便于选择并切换到其他会话。

会话内和会话外命令的区别

  • 会话外命令:这些命令是在终端中直接输入 tmux 命令(如 tmux new -s <会话名>)来创建、恢复或删除会话。它们通常用于管理会话的整体结构和操作,适合在 tmux 之外进行会话的创建和删除。

  • 会话内命令:当你已经进入 tmux 会话后,可以通过前缀键(默认是 Ctrl + b)激活命令模式。例如,按 <prefix> + ? 可以查看帮助信息。会话内命令主要用于窗口和面板的管理,例如切换窗格、重命名窗口等,便于在会话中高效操作。

  • 命令模式快捷键:在 tmux 中,使用 <prefix> + : 快捷键可以迅速进入命令输入模式,这与在普通终端中直接输入 tmux 命令相同。通过这种方式,你可以在当前会话中执行各种 tmux 命令,无需退出会话,从而提升工作效率。

2.2.2 窗口和面板快捷键

新建和管理窗口

  • 新建窗口:Ctrl + b,c

    • 这个命令会在当前会话中创建一个新的窗口,便于开展新任务。
  • 重命名窗口:Ctrl + b,,

    • 此操作允许用户为当前窗口指定一个更易于识别的名称,适合用于标记任务或项目。
  • 删除窗口:Ctrl + b,&

  • 切换窗口:

    • 下一个窗口:Ctrl + b,n
    • 上一个窗口:Ctrl + b,p
    • 指定窗口:Ctrl + b,数字
    • 选择窗口列表:Ctrl + b,w
      • 显示所有窗口的列表,便于选择并切换到特定窗口。

分割窗口为面板
虽然 Kali Linux 自带的终端也支持分屏功能,但 tmux 的分屏功能更加灵活和强大。通过分割窗口,可以在同一屏幕中显示多个任务,支持以下分割方式:

  • 水平分割:Ctrl + b ,”

  • 垂直分割:Ctrl + b , %
    为了更方便地记忆,可以将分割命令重新绑定为更直观的快捷键(文末有完整配置文件分享哦~):

    bind | split-window -h # 水平分割
    bind - split-window -v # 垂直分割

只需按 Ctrl + b 后再按 | 或 -,即可快速在窗口内进行水平或垂直分割。

建议布局:可以先水平分割,再进行垂直分割,根据实际工作需要灵活调整面板布局,形成符合个人操作习惯的分屏风格。

切换面板
在多个面板间的切换操作简便而高效:

  • 方向键切换:Ctrl + b,然后使用方向键选择目标面板
  • 快速切换:Ctrl + b,o
    • 在面板间循环切换,适合快速浏览各个面板。

面板放大与恢复
当某个面板需要更大空间进行操作时,可以将其放大为全屏,再切换回来:

  • 放大/恢复面板:Ctrl + b,z
    这个命令可以让当前面板填满整个窗口,便于专注于重要任务。

调整面板大小
在多面板布局下,调整面板的大小以满足不同的工作需求:

  • 常规调节:Ctrl + b,Alt + 方向键
  • 精细调节:Ctrl + b,Ctrl + 方向键

关闭面板
关闭面板:在目标面板中输入 exit 并回车,即可关闭当前面板。

  • 快速关闭当前面板:Ctrl + b,x

2.3 分屏状态下的内容复制问题

  • 鼠标复制:按住 Shift 键并用鼠标选择内容,选中后可右键或使用 Ctrl + Shift + C 完成复制。

  • 全屏复制:当窗口内存在多个面板时,复制操作可能会包括其他面板内容。为避免这种情况,可先将目标面板放大(Ctrl + b, z),执行复制后再按 Ctrl + b, z 恢复面板原状。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 dacker1993@gmail

💰

×

Help us with donation