linux tmux 详细教程,Linux下的神器介绍之Tmux分屏器

前言

我们为什么需要分屏器呢?

对于这个问题,我想大家肯定都有自己的看法。

主流的观点是这样的,对于生活在Linux下的人(开发人员、运维人员、普通爱好者)都不可避免的使用终端模拟器(比如,gnome-terminal)去执行一些命令或者脚本。但是,通常一个终端是不够用的。

比如,你想一边观察着系统的运行状态一边用vim写个脚本,当你运行了个top命令后,你发现这个终端被占用了,你不能够再用这个终端去干其他的事了,所以,一些伟大的工程师就开发了个tmux神器去帮你解决这个问题。

注:tmux的特性远不止于终端复用,它的功能很强大,比如它可以保存会话session,下次直接恢复会话就可以了工作了,是不是很惬意。注意,运行tmux的服务器关闭之后,session会丢失。不过有解决办法,tmuxinator就是来解决这个问题的,之后我会继续讲解的。

说了这么多tmux的强大,不亲眼见识下也不知道啊,让我们把它安装到自己的系统吧!

tmux安装

注:本人的系统是ArchLinux+lxde

archlinux下的安装:$ pacman -S tmux

ubuntu下的按照:apt-get install tmux

tmux的基本概念

我们先来理解下tmux的几个元素。tmux的主要元素分为三层:

Session 一组窗口的集合,通常用来概括同一个任务。session可以有自己的名字便于任务之间的切换。

Window 单个可见窗口。Windows有自己的编号(默认是从0开始编号的)。

Pane 窗格,被划分成小块的窗口,类似于Vim中 C-w +v 后的效果。

为了更好的理解,下面是三个元素在tmux中的具体展现。

87616e8fc558887f9046dc656223c506.png

tmux-concept

可以看到Session总在tmux的左下角显示,通常会为他命名。例如我正在写博客,开了很多窗口那么我就会把这组窗口命名为blog方便之后的重连和切换。而Window也会在最下方以一种Tab的形式展现。每个window都有自己的需要,也会以当前活动进程的名字命名。而Pane就比较好理解,即把单个窗口分割成若干个小块后的元素。

配置tmux

我们可以先进行一些简单的配置,修改 ~/.tmux.conf 即可,让整个使用更方便。

#解除Ctrl+b 与前缀的对应关系

unbind C-b

#设置前缀为Ctrl + a

set -g prefix C-a

#将r设置为加载配置文件

bind r source-file ~/.tmux.conf

#copy-mode 将快捷键设置为vi 模式

setw -g mode-keys vi

tmux默认的前置操作是CTRL+b,在此,我们改成CTRL+a,也可以不该,主要看个人习惯,我认为CTRL+a按起来比较方便。

tmux的操作基本上都是Prefix-Command模式,即先按前置键,再进行实际命令操作。

例如,我们想要新建一个窗体(前提是已经创建了session),就需要先在键盘上摁下CTRL+a,松开后再摁下c键。

tmux的基本操作

session操作

创建session

$ tmux new-session -s mysession1

然后输入CTRL-a d从此会话脱离,想要重新连接此会话,需输入:

$ tmux attach-session -tmysession1

一些管理sessions的命令:

$ tmux list-session

$ tmux new-session -s

$ tmux attach-session -t

$ tmux rename-session -t

$ tmux choose-session -t

$ tmux kill-session -t

所有下面介绍的快捷键,都必须以前置操作开始。

基本操作

? 列出所有快捷键;按q返回

d 脱离当前会话,可暂时返回Shell界面

s 选择并切换会话;在同时开启了多个会话时使用

D 选择要脱离的会话;在同时开启了多个会话时使用

: 进入命令行模式;此时可输入支持的命令,例如 kill-server 关闭所有tmux会话

[ 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,q/Esc退出

] 进入粘贴模式,粘贴之前复制的内容,按q/Esc退出

~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息

t 显示当前的时间

ctrl + z 挂起当前会话

窗口操作

c 创建新窗口

& 关闭当前窗口

[0-9] 数字键切换到指定窗口

p 切换至上一窗口

n 切换至下一窗口

l 前后窗口间互相切换

w 通过窗口列表切换窗口

, 重命名当前窗口,便于识别

. 修改当前窗口编号,相当于重新排序

f 在所有窗口中查找关键词,便于窗口多了切换

面板操作

" 将当前面板上下分屏

% 将当前面板左右分屏

x 关闭当前分屏

! 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板

ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小

alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小

q 显示面板编号

o 选择当前窗口中下一个面板

方向键 移动光标选择对应面板

{ 向前置换当前面板

} 向后置换当前面板

alt+o 逆时针旋转当前窗口的面板

ctrl+o 顺时针旋转当前窗口的面板

z 最大化当前所在面板

page up 向上滚动屏幕,q 退出

page down 向下滚动屏幕,q 退出

参考文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

laravel created_at 时间戳_使用 HTTP 测试测试 Laravel 中间件

文章转发自专业的Laravel开发者社区,原始链接:https://learnku.com/laravel/t/34002在本文中,我将展示一个使用 HTTP 测试中间件的实例。HTTP 级测试更能适应变化,可读性更强。在最近与 Adam Wathan 和 Taylor Otwell 合拍的《全栈…

linux 内核主线,为AM335x移植Linux内核主线代码(41)Ethernet结论篇

一口老血喷到屏幕上!请自动略过之前的第36~40小节_!!!https://www.tuicool.com/articles/UvmuEv我的电路板存在的问题是:由于布线(杜邦线)导致的干扰,只能通信在10Mbps,而不能通信在…

动物识别专家系统python_Python有哪些作用?

Python是什么呢?Python是一种全栈的开发语言,如果能学好Python,前端、后端、测试、大数据分析、爬虫等这些工作你都能胜任。那Python有哪些作用呢?Python主要有以下四大主要应用:网络爬虫网站开发人工智能自动化运维接…

linux 命令下删除字符,【Linux基础】tr命令替换和删除字符

cat t.txtabcdacat t.txt |tr abc xyzxyzdxcat t.txtabcda备注:凡是在t.txt文件中出现的"a"字母,都替换成"x"字母,"b"字母替换为"y"字母,"c"字母替换为"z"字母。而不…

python ssh登陆模块_使用python的Paramiko模块登陆SSH

paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。python的paramiko模块可以方便的实现ssh登录,并执行命令。1. paramiko模块安装1.1安装pycrypto库pycrypto库安装方法python setu…

linux mint图标大小,Cinnamon:LinuxMint 15桌面设置小技巧

touchwiz自身也在做不断的革新,例如7屏分页,桌面切换3d效果,增强型的下拉菜单设置等。win10多桌面最多可以支持7个桌面开启,而且win10切换多桌面是有快捷键的,可以帮助用户迅速切换或创建以及关闭多桌面。切换方法一&a…

操作系统源代码_国产操作系统“之光”?Windows XP绝密源代码泄露,BT种子已在网上疯传...

微软的Windows操作系统是目前使用人数最多、覆盖最广的桌面操作系统,从安全角度来看,其系统源代码对于公众而言可以说是绝密。不过......现在......,黑客在4Chan平台上以BT种子文件的形式在线泄漏了多个旧Windows版本的源代码,包括…

linux设置多语言环境,怎么为Linux系统配置多语言环境?

这篇文章主要讲述了怎么为Linux系统配置多语言环境的基本方法,其中还包括编码的修改方法,我们就拿用户使用最多的Ubuntu和CentOS这两个为例子吧。需要的朋友可以参考下。修改 /etc/sysconfig/i18n 文件,如LANG“en_US.UTF-8”,xwi…

轴承新旧型号对照表_精密机床主轴轴承,高端轴承进口清关报关流程

精密机床的主轴对轴承精度的要求非常高,我国目前在这一技术上仍然处于一片空白,那么高精度的轴承要怎么进口呢?高精度轴承进口这块其他国家管控得比较严格,高精度轴承的进口又会遇到哪些问题呢?在我们的生活中轴承几乎…

linux禁止切换到root,linux禁止普通用户切换至root用户的实例讲解

在上正文之前,我想先将一些基础的linux用户以及用户组的相关命令:1、添加用户useradd [-g group] [-d user_home_directory] [-p “your password”] Username-g 表示设置新增用户所属用户组-d 表示设置新增用户的主目录-p 表示设置新增用户的登录密码还…

python中new方法详解及_Python中new方法的详解

new_ 方法是什么?__new__方法其实就是创建对象的方法new()方法是在类准备将自身实例化时调用。一个类可以有多个位置参数和多个命名参数,而在实例化开始之后,在调用 init()方法之前,Python首先调用new()方法:def new(c…

linux 子域dns,linux下搭建DNS子域及相关授权详解

linux下搭建DNS子域及相关授权详解forward功能是本地无法解析的域名,转发给指定DNS服务器forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果forward first;无法解析的域名,转发给指定DNS服务器,…

python堆排序求topn_Java堆排序,取得前TopN个数

import java.util.Random;/*** Created with IntelliJ IDEA.* User: pengfei.hpf* Date: 14-4-29* Time: 上午11:45* To change this template use File | Settings | File Templates.*/public class HeapSortUtil {/*** 用堆排序方法 找出前N个最大的数* originalArray 原始数…

开机自启动程序关闭方法_电脑非常卡,总有软件偷偷自启动?学会这1招,永久关闭它们!...

小编有一个朋友,前段子发微信问我,说他的电脑非常卡,重装电脑后,会好转许多,非常流畅,但是过了几天又卡了。我问了他的电脑配置,首先电脑的配置是绝对ok。当前一流水平,后来我远程操…

linux c socket编程详解,Linux c 网络socket编程

#include int main(){int sockfd,new_fd;struct sockaddr_in my_addr;struct sockaddr_in their_addr;int sin_size;//建立TCP套接口if((sockfd socket(AF_INET,SOCK_STrEAM,0))-1){perror("socket");exit(1);}//初始化结构体,并绑定2323端口my_addr.sin…

python饮料购买_Python实现的一个自动售饮料程序代码分享

写这个程序的时候,我已学习Python将近有一百个小时,在CSDN上看到有人求助使用Python如何写一个自动售饮料的程序,我一想,试试写一个实用的售货程序。当然,只是实现基本功能,欢迎高手指点,新手学…

C语言进制的格式字符,GB汉字文件转换成C语言Unicode十六进制字符串格式

可以用在编程环境只能用GB,但程序中的汉字字符串需要用C语言的Unicode十六进制字符串格式表示。可以先在字符串中直接输入汉字,再用此程序转换。源代码用C#//ascii & GB to unicode hexadecimal string for C language//chinese GB code : "啊&…

python udp客户端 服务器实现方式_python3实现UDP协议的简单服务器和客户端

利用python中的socket模块中的来实现UDP协议,这里写一个简单的服务器和客户端。为了说明网络编程中UDP的应用,这里就不写图形化了,在两台电脑上分别打开UDP的客户端和服务端就可以了。UDP:用户数据报协议,是一个面向无连接的协议。…

C语言实现上三角蛇形矩阵不用数组,蛇形矩阵c语言实现

【问题描述】蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。如:1 3 6 10 152 5 9 144 8 137 1211本题要求根据输入的行数要求,输出对应的一个蛇形上三角矩阵【输入形式】一个整数【输出形式】与之对应的蛇形上三角矩阵【样例输入】5【样例输出…

蒙特卡洛模拟_蒙特卡洛模拟法求期权价值

今年跟朋友讨论了一个期权问题。“Earn Out”方式并购下的金融工具确认。大致条款如下(非真实情况):收购一家标的企业估值15000万元。盈利预测情况如下:收购协议中约定了第一期支付对价50%。同时第二期对价于2021年支付50%。同时若低于2021年净利润低于9…