TMUX命令及应用

article/2025/6/22 2:23:12

之前的文章里面介绍过screen命令的应用,但是没有用到tmux,所以不了解. 最近用到了tmux,不过也只是简单的应用,并没有特别复杂高端的应用


: 简介

: 安装和查询

: tmux终端命令行操作

: 快捷键操作

: 配置文件

一:简介

What is a terminalmultiplexer? It lets you switch easily between several programs inone terminal, detach them (they keep running in the background) andreattach them to a different terminal. 

Tmux简单来说就是终端里的"窗口管理器",如果使用终端登录到远程主机并运行前台程序,那么这个窗口等于就被占用了,想要做其他操作,就得再连接一次。但是如果在远程主机上运行tmux,那么就可以开启多个控制台(类似于窗口),相当高效.

另一个很有用的功能就是,连接到远程主机之后,一旦断开,那么当前账户登录的任务就被取消了,但是使用tmux 可以在断开之后继续工作,下次登录可以查看。其他的功能还有:


1: 窗口切换,每个窗口里还可以分割面板

2: 配置方便,可以使用脚本

3: 类似vim 的双层操作逻辑

4: 复制粘贴缓冲区


: 安装和查询

Ubuntu: sudo apt-getinstall tmux
CentOS: sudo yuminstall tmux
Mac: brew intsalltmux
$tmux -V#查看版本
tmux 1.8
$ dpkg -L tmux#查看tmux安装的一些文件的位置
$tmux list-keys#列出所有可用的快捷键和其运行的tmux命令
$tmux list-commands#列出所有的tmux命令及参数
$tmux info#当前所有的session,window, pane, 进程号等信息
tmux show-option -g| grep prefix #查看绑定的前缀

: tmux终端命令行操作


如上的图片可以看出session会话,window窗口,pane面板之间的关系.输入tmux打开的是一个session,一个session里面有若干个window,每个window可以有若干个pane.


session 操作:

tmux new -ssession_name #创建一个叫做session_name的tmux session
tmux a -tsession_name #重新开启一个叫做session_name的tmux session
tmux switch -tsession_name #转换到session_name这个tmuxsession
tmux list-session/tmux ls #列出所有session
tmux detach#暂时离开当前session
tmux kill-server#关闭所有session
tmux kill-server -tsession_name #关闭指定session

window操作:

tmux new-window#创建一个新的window
tmux list-windows
tmux select-window -t:0-9#根据索引转到该window
tmux rename-window #重命名当前window

pane操作:

tmux split-window    #将window垂直划分为两个pane
tmux split=window -h   #window 水平划分为两个pane
tmux swap-pane -[UDLR].  #在指定的方向交换pane
tmux select-pane -[UDLR]  #在指定的方向选择下一个pane,也可以用ctrl+b加上下左右键来切换.

快捷键操作

如下的bind-key默认都是ctrl+b,当然你也可以在配置文件中修改.

$ tmux list-keys

分类来看:

基本操作

? 列出所有快捷键;按q返回
d 脱离当前会话,可暂时返回shell界面s选择并切换会话;在同时开启了多个会话时使用
D 选择要脱离的会话;在同时开启了多个会话时使用
: 进入命令行模式;此时可输入支持的命令,例如kill-server关闭所有tmux会话
[ 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,q/Esc退出
] 进入粘贴模式,粘贴之前复制的内容,按q/Esc退出
~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
t 显示当前的时间
ctrl+z 挂起当前会话

window操作

c 创建新窗口
& 关闭当前窗口
:kill-server 关闭所有session
[0-9] 数字键切换到指定窗口
p 切换至上一窗口
n 切换至下一窗口
l 前后窗口间互相切换
w 通过窗口列表切换窗口
, 重命名当前窗口,便于识别
. 修改当前窗口编号,相当于重新排序
f 在所有窗口中查找关键词,便于窗口多了切换

面板操作

“ 将当前面板上下分屏
% 将当前面板左右分屏
x 关闭当前分屏
! 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板
ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小
alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小
q 显示面板编号
o 选择当前窗口中下一个面板
方向键 移动光标选择对应面板 
{ 向前置换当前面板
} 向后置换当前面板
alt+o 逆时针旋转当前窗口的面板
ctl+o 顺时针旋转当前窗口的面板
z最大化当前所在面板
page up向上滚动屏幕,q退出
page down 向下滚动屏幕,q退出

配置文件

及时生效

#查看当前默认的设置
tmux show-options -g
#例如我想修改默认的快捷键的前缀:
tmux show-options -g| grep prefix #查看前缀
$ tmux show-options-g | grep prefix
prefix C-b
tmux set -g prefixC-a #我希望把它改成C-a
tmux unbind C-b
tmux bind C-asend-prefix #这些在终端输入,会在tmux的内置命令中及时生效,但是关闭后就失效了.

永久生效:

需要创建和修改配置文件.一般配置文件是/etc/tmux.conf或者~/.tmux.conf.在我的PC里面并没有查找到相应的配置文件,于是就需要我自己来配置了.   https://askubuntu.com/questions/192401/where-is-the-default-tmux-conf-file-located


#生成配置文件,利用当前的配置
tmux show -g | cat >~/.tmux.conf
#或者在/usr/share/doc/tmux/examples里面cp一个conf文件过来,或者直接在网上找一个conf文件过来用用.
可以通过mantmux来看看各种设置的意义,也可以随便改改设置来观察到底有什么作用.
修改配置文件之后,需要重启tmux生效,命令行
source-file~/.tmux.conf
#或者在conf文件最后加上如下语句,以后直接前缀+r就可以更新生效
bind r source-file~/.tmux.conf \; display “Reloaded!”

如下是我当前的conf文件:

#base settings
set-option -gterminal-overrides 'xterm*:XT:smcup@:rmcup@'
set-option -gmode-keys vi #快捷键设置为vi模式
set-option -gdisplay-time 10000
set-option -gdisplay-panes-time 10000
set-option -ghistory-limit 10000
set-window-option -gaggressive-resize on
setenv -guBASH_PROFILE_READY
# Mimic GNU/screen.Muscle-memory FTW!
set-option -g prefixC-a
unbind-key C-b
bind-key asend-prefix #修改bind-key
bind-key C-aselect-window -l
bind-key Acommand-prompt -I "#W" "rename-window %%"
#bind-key '"'choose-window
# VIM-like bindings
bind-key hselect-pane -L
bind-key jselect-pane -D
bind-key kselect-pane -U
bind-key lselect-pane -R
bind-key Tbreak-pane
bind-key Hresize-pane -L 20
bind-key Jresize-pane -D 5
bind-key Kresize-pane -U 5
bind-key Lresize-pane -R 20
bind-key Escapecopy-mode
bind-key ssplit-window
bind-key vsplit-window -h
bind-key Schoose-window "join-pane -s %%"
bind-key Vchoose-window "join-pane -h -s %%"
# customisation
bind-key /command-prompt "find-window '%%'"
bind-key `choose-session
bind-key Mchoose-session "move-window -t '%%' \; switch-client -t '%1'"
bind-key Ncommand-prompt -p "New session name: " "new-session -s'%%'"
# Use "if-shell"to run a bash command
# and check theversion of tmux
if-shell '[ "$(tmux-V)" == "tmux 1.9" ]' "bind-key c new-window -c'#{pane_current_path}'"
if-shell '[ "$(tmux-V)" == "tmux 1.9" ]' "bind-key s split-window -c'#{pane_current_path}'"
if-shell '[ "$(tmux-V)" == "tmux 1.9" ]' "bind-key v split-window -h-c '#{pane_current_path}'"
# Terminalmanagement
set-option -gset-titles on
set-option -gset-titles-string "#S:#I:#W | #H"
# Aesthetics
set-option -gstatus-fg white
set-option -gstatus-bg blue
set-option -gwindow-status-current-bg red
set-option -gstatus-right "#H #(cat /proc/loadavg)"


http://chatgpt.dhexx.cn/article/CGyVRSbi.shtml

相关文章

linux操作系统 - tmux 命令图文教程

目录 1.tmux简介 1.1.tmux概念 1.2.tmux 安装 2.tmux启动 3.切分窗口 4.切换光标位置 5.关闭子窗口 6.tmux翻页 1.tmux简介 1.1.tmux概念 tmux是一个终端复用器,它允许你在一个终端窗口中同时运行多个终端会话。tmux的名字是"终端多路复用器"&am…

tmux的常用命令

简介 tmux 即“Terminal MultipleXer”,意思是“终端复用器”。 tmux 是一个可以让人们通过一个窗口操作多个会话的工具,对于经常操作 Linux 系统的同学来说,绝对是一款提升工作效率的利器,一会儿我们就会感受到它的强大和灵活。…

Linux常用命令——tmux命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) tmux Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。 补充说明 使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后&a…

tmux命令使用总结

目录: 命令介绍. 使用场景. 命令用法. 分屏操作. 其他快捷键操作. 一、 命令介绍: Tmux ("Terminal Multiplexer"的简称), 是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色。tmux来自于OpenBSD&a…

tmux 命令介绍

Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"&#xf…

tmux命令详解

转载于:https://www.cnblogs.com/wangqiguo/p/8905081.html 目录 tmux是什么 tmux的会话 tmux的window tmux的pane tmux window中的历史输出查看 总结 tmux是什么 我们在linux服务器上的工作一般都是通过一个远程的终端连接软件连接到远端系统进行操作&…

Tmux 使用教程

Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 本文介绍如何使用 Tmux。 一、Tmux 是什么? 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(termin…

uniapp 应用APP跳转微信小程序

最近APP项目开发完成,在评审会上老板提了一个需求,想在开发的APP上添加一个链接,可以跳转公司的小程序商城。 原以为会很复杂,结果只有短短的几行代码。 plus.share.getServices(function(res){ var sweix…

h5网页跳转微信小程序

H5网页跳转微信小程序 再次记录下, 通过使用微信开放标签,可便捷的跳转到微信小程序。 文章目录 H5网页跳转微信小程序效果图一、小程序跳转按钮二、开放标签使用步骤1. 绑定域名2. 引入js文件3. config权限配置及ready处理4. 调用方法 解决VUE中警告注意…

【微信】h5跳转微信小程序

h5静态页面跳转微信小程序 注意:只有发布过的小程序可以使用这个方案,不然无法获取 url schema 如果无法获取 url schema ,请检查小程序是否已发布 1 理论方案 主要有以下两种 1 云开发:静态页面在微信云上进行开发&托管&…

web页面跳转微信小程序

现在微信开放程度比较宽松了,所以web页面跳转小程序需求很大,先来预览一下: 接下来咱们看看怎么实现: 1、需要引入微信jssdk: http://res.wx.qq.com/open/js/jweixin-1.6.0.js(支持https) 需要使用到js-sdk-1.6.0的版…

uniapp h5跳转微信小程序(wx-open-launch-weapp)

目录 一、注意事项 二、使用步骤 三、调整样式 一、注意事项 微信版本要求为:7.0.12及以上系统版本要求为:iOS 10.3及以上、Android 5.0及以上已认证的服务号,服务号绑定“JS接口安全域名”下的网页可使用此标签跳转任意合法合规的小程序。…

Android App跳转微信小程序

最近,有一个App跳转小程序的需求,参考微信的官方文档,接入还是比较简单的,不过中途遇到了一个坑,所以记录一下。 首先,需要登录微信开放平台 微信开放平台,创建一个移动应用,然后系…

外部链接跳转到微信,以及外部跳转到微信小程序(精华)

外部链接跳转到微信,以及跳转到微信小程序(精华) 记录自己实现这个跳转的过程, 苦于网上没有找到一个自己想要的教程,要么是软件,要么是其他看不懂的,如果对你有帮助的话,给个点赞哈…

短信链接跳转微信小程序(URLSchema等)

文章目录 实现方案需下载二维码使用URL Schema微信云开发 实现方案对比实践出真知(URLSchema)获取微信access_token获取openlinkH5页面(模拟短信跳转,验证ok) 反馈问题ios和Android 对URLSchema兼容性开发者工具可直接…

H5跳转微信小程序教程

H5设计简单,功能齐全,使用范围较为普遍,深受推广者的欢迎。H5跳转到微信小程序、微信公众号、长摁添加微信好友等场景,是很多推广者热衷使用的功能。 如何实现H5中点击跳转到微信小程序呢?使用跳转链接即可达成效果&a…

h5-浏览器点击跳转微信小程序或微信内部广告页(微信浏览器)跳转小程序的实现方法。

一.微信内部浏览器使用<微信开放标签>唤起微信小程序 官方开发文档:[https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html](%5Bhttps://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html%5D%28…

H5跳转微信公众号解决方案

1.适用场景 适用H5跳转公众号的场景 2.跳转方案 微信内H5跳转 微信内可链接直接跳转公众号关注页。 登陆微信公众平台&#xff0c;F12打开浏览器控制台console输入wx.commonData.data.uin_base64 https://mp.weixin.qq.com/mp/profile_ext?actionhome&__biz上方步骤…

H5跳转微信小程序方案

开发中涉及到一个需求&#xff0c;就是从一个预约票购买的页面 需要跳转到 查看行程轨迹 的小程序。试过其他方法才知道微信h5或小程序中是无法直接跳转到小程序的。这里微信提供了一个开放标签&#xff0c;wx-open-launch-weapp&#xff0c;通过它可以满足需求。 开放对象&am…

ofo否认破产:目前运营正常 有关债务正在诉讼或协商中

【TechWeb】4月2日消息&#xff0c;近日&#xff0c;ofo运营主体之一北京拜克洛克科技有限公司现身全国企业破产重整案件信息网&#xff0c;对此&#xff0c;ofo发布声明回应称&#xff0c;“有关ofo破产的新闻严重失实。ofo目前运营一切正常&#xff0c;有关债务也在诉讼或者协…