tmux安装及使用

文章目录

    • **tmux安装及使用**
  • 一、tmux安装
  • 二、tmux使用
    • 2.1 session的使用
      • 2.1.1 创建session
      • 2.1.2 离开session
      • 2.1.3 查看session
      • 2.1.4 进入session
      • 2.1.5 选择session
      • 2.1.6 关闭session
      • 2.1.7 重命名session
    • 2.2 windows的使用
      • 2.2.1 创建窗口
      • 2.2.2 切换窗口
      • 2.2.3 重命名窗口
      • 2.2.4 关闭窗口
    • 2.3 pane的使用
      • 2.3.1 切割窗口
      • 2.3.2 不同窗格间移动光标
      • 2.3.3 关闭当前窗格
      • 2.3.4 放大/缩小当前窗格
      • 2.3.5 当前窗格显示时间
  • 三、tmux搭配shell脚本的使用
  • 参考链接:

tmux安装及使用

tmux是一款很好使用的终端工具,配合shell脚本使用非常方便。

一、tmux安装

终端输入命令:

sudo apt-get install tmux

二、tmux使用

首先需要对tmux使用的名词有一个基本了解:
session :会话
window : 窗口
pane:窗格

可以这样通俗的理解:当前界面的整个终端就是一个session(会话),一个session里面包含了很多个window(窗口),一个window可以被分成很多pane(窗格),关系可以表示如下:
session > window > pane

同时tmux还可以配合shell脚本一起使用,因此会在解算不同操作的终端命令、shell脚本命令以及快捷键等;

值得注意的是在使用tmux快捷键方式时,都需要使用前缀按键ctrl+b来唤醒,所以在使用快捷键需要先按ctrl+b,在按相应快捷键。

tmux安装及使用_第1张图片

2.1 session的使用

2.1.1 创建session

创建一个新的session,在终端输入tmux,随后会创建一个默认名为0的且有一个windows的session

tmux

tmux安装及使用_第2张图片通常在使用tmux的时候都需要指定操作的具体session、window和pane,因此为了方便使用需要对不同session、window、pane进行命名操作。

tmux new -s   
# 创建名称为test的session
tmux new -s test

tmux安装及使用_第3张图片

2.1.2 离开session

有时候需要离开当前session进行其他操作,但是想要保留当前终端的程序继续运行,这时候就需要退出当前session

# 终端命令
tmux detach
# 快捷键
(ctrl + b )+ d

2.1.3 查看session

当我们打开好几个session时需要查看和操作不同session
ps:使用查看session的快捷键时需要在tmux的窗格中操作,同时可以选择操作不同session,退出按Esc

# 终端命令
tmux ls
# 快捷键
(ctrl+b) +s

2.1.4 进入session

进入指定名称session
ps:这里的进入session操作指的是在tmux之外终端选择session,在pane中输入终端命令无效,但是可以通过查看session的快捷方式选择进行指定名称session

# 终端命令
tmux attach -t  
## 进入名为test的session
tmux attach -t test
tmux a -t test

2.1.5 选择session

在tmux终端中快速切换到其他session
ps:这里的选择session操作是在tmux终端下进行操作

# 终端命令
tmux switch -t 
## 选择并进入名为test2的session
tmux switch -t test2

2.1.6 关闭session

当你需要关闭部分session时,可以使用如下命令:
ps:在使用终端命令时当前session会被关闭,也就是说使用tmux ls命令查看session时,此时关闭的session已经不存在了;但是在tmux终端中使用快捷键时会回到你的电脑的终端,使用tmux ls查看session时,关闭的session还在,可以简单理解为快捷键是让当前session在后台挂机,不影响在当前session运行的程序

# 终端命令
tmux kill-session -t 
## 关闭名为test的session
tmux kill-session -t test

# 快捷键
(ctrl + b) + d

2.1.7 重命名session

对session进行重命令
ps:快捷键方式

#  终端命令
tmux rename-session -t  
## 将名为 test 的session重命名为 test3
tmux rename-session -t test test3

# 快捷键
(ctrl+b) + $

tmux安装及使用_第4张图片

2.2 windows的使用

有时候一个窗口不够用就需要重新窗口

2.2.1 创建窗口

# 终端命令
tmux new-window -n 
## 新建一个名为new_window的窗口
tmux new-window -n new_window

# 快捷键
(ctrl+b)+c

tmux安装及使用_第5张图片

2.2.2 切换窗口

当一个session有很多window时需要进行窗口的切换

# 终端命令
tmux select-window -t 
## 切换到名为test的window下
tmux select-window -t test

# 快捷键
## 切换到下一个窗口: (ctrl+b) + n
## 切换到上一个窗口: (ctrl+b) + p
## 切换窗口列表并选择: (ctrl+b) + w
## 切换到指定窗口: (ctrl+b) + num   这里的num是每个窗口前的编号

2.2.3 重命名窗口

有时候需要对窗口进行重命名

# 终端命令
tmux rename-window  
##  将test窗口重命名为 rename_window
tmux rename-window test rename_window

# 快捷键
(ctrl+b) + ,

2.2.4 关闭窗口

# 终端命令
tmux kill-window -t 
##  :可以是窗口名称,或者是窗口前面的数字

## 快捷键
(ctrl+b) + &
## 关闭当前窗口

2.3 pane的使用

在tmux中,窗格的使用是最频繁的。每个窗格可以干不同的事,不同的窗格之间是相互独立的。

2.3.1 切割窗口

# 水平切割成上下两部分
## 终端命令
tmux split-window

## 快捷键
(ctrl+b) + "

tmux安装及使用_第6张图片

## 垂直切割成左右两部分
## 终端命令
tmux split-window -h
## 快捷键
(ctrl+b) + %

tmux安装及使用_第7张图片

2.3.2 不同窗格间移动光标

光标移动到上/下/左/右
## 终端命令
tmux select-pane -U/-D/-L/-R

## 快捷键
(ctrl+b) + 上/下/左/右键 

2.3.3 关闭当前窗格

# 快捷键
(ctrl+b) + x

2.3.4 放大/缩小当前窗格

# 快捷键
(ctrl+b) + z

2.3.5 当前窗格显示时间

点击回车取消

# 终端命令
(ctrl+b) + t

以上就是tmux常用功能和命令

三、tmux搭配shell脚本的使用

在写shell脚本时搭配tmux的命令可以“多线程”的操作不同窗口进行不同任务的处理,非常方便和高效,接下来将通一个简单的shell脚本对tmux进行一个介绍

## Set Tmux session and window name
session_name="tmux_session"
window_node="tmux_window"

## Kill tmux session of same name if existed
# kill同名session的tumx任务
tmux kill-session -t ${session_name}		

# 创建一个名为“tmux_session"的任务,其中窗口名为”tmux_window"
tmux new -d -s ${session_name} -n ${window_node}   

# Establish and split a new session in the background
# 左右切割窗口并命名为0/1
tmux split-window -h -t ${session_name}:${window_node}
tmux split-window -v -t ${session_name}:${window_node}.0
tmux split-window -v -t ${session_name}:${window_node}.1

# 系统待机2s
sleep 2

# 在当前窗口输入命令"pwd" 并进入到/home/data/emmc路径下运行test.py文件
tmux send -t  ${session_name}:${window_node} "pwd && \
							cd /home/data/emmc &&  \
							python test.py" ENTER
# 在0号窗口输入命令"rostopic list"并启动launch文件
tumx send -t ${session_name}:${window_node} "rostopic list && \
						 roslaunch analysis_imu imu.node" ENTER
				
## Attach the session to front
tmux a -t ${session_name}		 

参考链接:

[1] 一文助你打通 tmux
[2] 终端工具tmux使用教程 — 脚本启动程序

你可能感兴趣的:(Ubuntu,ubuntu,tmux)