PeaceSheep's blog PeaceSheep's blog
首页
  • 分类
  • 标签
  • 归档
相关链接
提建议&咨询&赞赏
GitHub (opens new window)

PeaceSheep

以最简洁、易懂的话解决问题
首页
  • 分类
  • 标签
  • 归档
相关链接
提建议&咨询&赞赏
GitHub (opens new window)
  • web

  • 物联网与路由器

  • 操作系统

  • 错误解决

  • 使用技巧

    • 关于MAC上PPT无法同时使用演讲者视图和放映视图(腾讯会议)的解决方案
    • 关于windows没有休眠选项(控制面板电源选项也没有)的解决方案
    • tmux简明使用教程
      • 原因
      • 安装
      • 概念解释
        • session、window、pane
      • session管理
        • 创建⼀个session
        • 挂起当前session
        • 查看所有挂起的session
        • 打开之前挂起的session
        • 选择其他session
        • 退出session
      • pane 管理
        • 水平拆分
        • 垂直拆分
        • 选中⼀个pane
        • 调整分割线位置
        • 全屏、取消全屏
        • 翻阅当前pane内的内容
    • git的特殊需求使用技巧
    • containerd高版本换源,containerd换源无效问题
    • git常用操作命令
  • 教程
  • 使用技巧
PeaceSheep
2022-04-09
目录

tmux简明使用教程

Github链接 (opens new window)

tmux是一个简单的终端复用软件。思考以下场景:我需要运行一个C++程序,还需要用pmap看一下这个程序的内存映射。当然,我们可以开两个终端,但这样显然不优雅。如果能在一个终端使用就好了。另外,如果我们远程连接到服务器,退出后再次连接就没有办法保存上次的一些内容,使用tmux可以解决这些问题。

# 原因

因为自己用习惯了VSCode这样强大的现代工具,因此对于命令行的很多操作反而很生疏。看到老师上课演示全程用终端感觉还挺不错的,因此特意了解了一下tmux。

# 安装

试了一下很多系统自带了,我用的WSL,发行版是Ubuntu 20.04。如果没有的话ubuntu使用sudo apt-get install tmux就可以安装了。

# 概念解释

# session、window、pane

⼀个tmux可以包含多个session,⼀个session可以包含多个window,⼀个window可以包含多个pane。

  • session:会话
  • window:窗⼝
  • pane:⼩窗⼝

每个pane都是⼀个交互对话框。

# session管理

提示

在tmux中,许多操作需要⽤到前缀键Ctrl + B,下文所述“前缀”皆为此。

# 创建⼀个session

在终端中输⼊:tmux会新建⼀个session,其中包含⼀个window,window中包含⼀个pane,pane⾥打开了⼀个shell对话框。tmux new -s <session-name>可以创建一个名字为<session-name>的终端。

# 挂起当前session

要退出tmux,但⼜不想把session关掉,也就是不想把窗⼝关掉时按下前缀后⼿指松开,然后按D,此时已经从tmux中退出来,但是session是挂起的。

# 查看所有挂起的session

tmux ls

# 打开之前挂起的session

若想打开刚刚挂起的session

#  使用会话编号
tmux attach -t 0

# 使用会话名称
 tmux attach -t <session-name>
1
2
3
4
5

# 选择其他session

按下前缀后⼿指松开,然后按S,会出现⼀个菜单列表,可以在⾥⾯使⽤⽅向键选择session。

  • ⽅向键上:选择上⼀项
  • ⽅向键下:选择下⼀项
  • ⽅向键右:展开当前项
  • ⽅向键左:闭合当前项

⽅向键上下选择哪个session,在每个session中,按下→,会展开,可以看见有多少个pane,再按⼀下→,就会把该window所有pane都展开;按下←,会合上。

# 退出session

Ctrl + D 退出,关闭当前pane,如果当前window所有pane均关闭,则⾃动关闭window,若当前session的所有window均已关闭,则⾃动关闭session。若只有⼀个session,⼀个window,⼀个pane时,按下Ctrl + D则会直接退出session。

# pane 管理

# 水平拆分

前缀+%,将当前pane左右平分成两个pane,并且可以继续分割。

# 垂直拆分

前缀+",将当前pane上下平分成两个pane。

# 选中⼀个pane

  • ⿏标操作:⿏标点击可以选pane(与使用的终端有关,部分终端例如WSL不可以)。
  • 键盘操作:按下前缀后⼿指松开,然后按⽅向键:选择相邻的pane。

# 调整分割线位置

  • ⿏标操作:⿏标拖动pane之间的分割线,可以调整分割线的位置(与使用的终端有关,部分终端例如WSL不可以)。
  • 键盘操作:按住前缀的同时按⽅向键,可以调整pane之间分割线的位置。

# 全屏、取消全屏

选中想要全屏的窗⼝后,按下前缀后⼿指松开,然后按Z,将当前pane全屏/取消全屏。

# 翻阅当前pane内的内容

按下前缀后⼿指松开,然后按PageUp/PageDown

注意

建议每个session只创建一个window,文中没有如何创建和选择window的操作。

参考资料

百度文库 (opens new window)

编辑 (opens new window)
#tmux
上次更新: 2025/04/15, 10:52:45
关于windows没有休眠选项(控制面板电源选项也没有)的解决方案
git的特殊需求使用技巧

← 关于windows没有休眠选项(控制面板电源选项也没有)的解决方案 git的特殊需求使用技巧→

最近更新
01
ubuntu安装g++显示已有但是输入g++又找不到命令
04-15
02
使用cloudflare-r2搭建webdav
04-08
03
LLM聚合平台客户端对比
03-29
更多文章>
Theme by Vdoing | Copyright © 2022-2025 PeaceSheep
冀ICP备2022004632号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式