前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tmux入门指南

Tmux入门指南

作者头像
木制robot
发布2018-04-13 13:54:48
3.3K0
发布2018-04-13 13:54:48
举报

前言

很多时候我们需要通过SSH连接服务器进行一些操作,费了好长时间调好了程序,一顿饭的功夫SSH超时了(broken pipe),重新连上去正在运行的程序也都没了,一切又得从头再来。这个时候你就非常需要用到tmux了,用tmux在服务器上创建一个会话(Session),在该会话中进行操作,你可以随时随地断开和重新连接会话(Session),即便是SSH中断了你在远程服务器上的工作状态也可以持久化地保存。

简介

tmux 是一个优秀的终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布。用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。

功能特性:

  • 一个虚拟终端可以管理多个会话,窗口和面板
  • 支持分屏,同时处理多个操作
  • 窗口、面板可以在会话间自由移动,切换
  • 丰富灵活的状态行展示
  • 支持自定义快捷键,依照个人习惯配置令操作更高效
  • 不受断网影响,避免丢失重要工作进度
  • 结对编程,方便演示与协作
  • 自带复制粘贴缓冲区管理
  • 脚本化配置,可配置多种操作环境层次结构

tmux的主要元素分为三层:

  • Session 一组窗口的集合,通常用来概括同一个任务。session可以有自己的名字便于任务之间的切换。
  • Window 单个可见窗口。Windows有自己的编号,也可以认为和ITerm2中的Tab类似。
  • Pane 窗格,被划分成小块的窗口,类似于Vim中 C-w +v 后的效果。

安装tmux

Linux安装

代码语言:javascript
复制
sudo apt-get install tmux

Mac OS安装

代码语言:javascript
复制
brew install tmux

基本操作

首先在tmux会话中使用的快捷键都需要一个前缀来激活,前缀默认为Ctrl+b(即:在按快捷键之前需要按一下前缀)。

查询所有会话(Session)

在命令行输入下列命令查询当前所有会话。

代码语言:javascript
复制
tmux ls

你会发现no server running on /private/tmp/tmux-501/default,这是因为我们还没有创建会话(Session)。

创建会话(Session)

代码语言:javascript
复制
tmux new -s session-name

通过上述命令新建一个有特定名称的会话。 一般情况下我们不会使用下列命令创建不指定名字的会话。

代码语言:javascript
复制
tmux new

断开会话(Session)

使用下列命令断开当前会话(断开会话并不影响会话中运行的程序,断开后还可以重新连接)

代码语言:javascript
复制
tmux new

或者使用tmux中的快捷键

代码语言:javascript
复制
Ctrl+b d(即先使用Ctrl+b快捷键前缀,然后再按d)

重新连接会话(Session)

在命令行输入tmux a即可快速连接第一个所有会话中的第一个。

代码语言:javascript
复制
Ctrl+b d(即先使用Ctrl+b快捷键前缀,然后再按d)

或者通过会话名连接该一个会话

代码语言:javascript
复制
tmux a -t session-name

关闭会话

通过下列命令关闭会话后,会话中的程序也会全部关闭。

代码语言:javascript
复制
tmux kill-session -t session-name

当然你也可以通过直接按Ctrl+d关闭会话、窗口或窗格。

tmux中的快捷键参考

注意以下快捷键适用于tmux会话中,使用前皆需要按下快捷键前缀Ctrl+b

帮助

  • ? 获取帮助信息

会话(Session)管理

  • s 列出所有会话
  • $ 重命名当前的会话
  • d 断开当前的会话

窗口(Window)管理

  • c 创建一个新窗口
  • , 重命名当前窗口
  • w 列出所有窗口
  • % 水平分割窗口
  • “ 竖直分割窗口
  • n 选择下一个窗口
  • p 选择上一个窗口
  • 0~9 选择0~9对应的窗口

窗格(Pane)管理

  • % 创建一个水平窗格
  • “ 创建一个竖直窗格
  • q 显示窗格的编号
  • o 在窗格间切换
  • } 与下一个窗格交换位置
  • { 与上一个窗格交换位置
  • ! 在新窗口中显示当前窗格
  • x 关闭当前窗格

其他

  • t 在当前窗格显示时间

参考文章

  1. Tmux 入门介绍
  2. Tmux:Linux 从业者必备利器
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 简介
    • 功能特性:
    • 安装tmux
      • Linux安装
        • Mac OS安装
        • 基本操作
          • 查询所有会话(Session)
            • 创建会话(Session)
            • 断开会话(Session)
            • 重新连接会话(Session)
            • 关闭会话
            • tmux中的快捷键参考
              • 帮助
                • 会话(Session)管理
                  • 窗口(Window)管理
                    • 窗格(Pane)管理
                      • 其他
                      • 参考文章
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档