有可能是最简单的tmux入门教程

tmux-rocks-33-638
  昨天晚上利用晚上的一点时间学习了下tmux,虽然最早在15年的时候就接触过tmux,但一直没有花时间去用,但是最近或者说很长时间都在纷繁复杂的终端下来回切换不免有点心力交瘁。于是觉得应该是时候通过tmux提升一下自己的效率了。

那,如果没有接触过tmux的同学可能会问tmux到底是干嘛的?一段来自官方的说法:

What is a terminal multiplexer? It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal.

翻译出来也就是:

tmux(terminal multiplexer)是什么呢?它能让你轻松地在多个任务之间切换、使任务在后台运行并且能够在不同的终端中恢复之前的任务。

有很兴奋吗?让我们开搞!

安装Tmux
Tmux支持多种操作系统,Linux的各种版本及MacOS均支持。

MacOS

brew install tmux

Linux

//CentOS
sudo yum install tmux

//Ubuntu
sudo apt-get install tmux

普及几个tmux概念
如果你仔细看开篇前的那个配图,会看到几个重要的概念,包含Session、Window和Pane。如图,这几个概念之间的层级关系也就是Session包含Window然后Window包含Pane。
然而这几个功能呢?也不是一定都要一起使用,我可以只使用Pane(透露一句,Pane是我最喜欢的功能),首先让我们先玩转Pane。

玩转Pane
什么叫Pane?Pane究竟长什么样?让我们看下面这个最终成品,你可以把它理解为把终端分成几个区块的东东~
屏幕快照 2016-09-02 下午11.21.21

1.终端下输入tmux,会进入tmux工作环境

tmux

2.将终端分为左右两半

ctrl-b(松手) %

同时按住ctrl和b键,此时一定要松手(以下同样),然后再按 % 键
如图这时你会发现终端被分为了左右两半~
屏幕快照 2016-09-02 下午11.24.52

3.将右面那一半分为上下两半

ctrl-b(松手) "

屏幕快照 2016-09-02 下午11.28.45

所以现在我们已经能够将一个终端分为3个部分了,在这3个部分我们可以对我们的所有操作一目了然,所以这是我最喜欢的功能了!那么,问题来了?怎么把光标移动到别的pane中呢?

4.在Pane间移动光标

ctrl-b(松手) 上下左右方向键

5.调整Pane窗口大小

ctrl-b(松手) :resize-pane -U 10     #向上扩大10px
ctrl-b(松手) :resize-pane -D 10     #向下扩大10px
ctrl-b(松手) :resize-pane -L 10     #向左扩大10px
ctrl-b(松手) :resize-pane -R 10     #向右扩大10px

输入完ctrl-b之后按 : ,例如输入resize-pane -U 10 然后回车

6.删除当前Pane

ctrl-b(松手) x

7.升级Pane成Window

ctrl-b(松手) !

这个命令比较好玩,它会直接把一个Pane升级为Window,我们可以试一下,看看会发生什么。
屏幕快照 2016-09-02 下午11.44.13
结果呢?就变成了这个样子,仔细观察左下角,你会发现当前有0和1,也就代表我们的终端下现在有两个Window,好,下面让我们正式进入Window篇!

玩转Window
由于我们在玩转Pane篇已经对tmux的命令用法有了个基础的认识,所以下面的图我会用的比较少了,主要是用来介绍命令使用。

1.列出我的所有Window列表

ctrl-b(松手) w

我这边输出的是(你那边有可能稍有不同):
(0) 0: ~- “xuwenzhideMBP.local”
(1) 1: zsh* “xuwenzhideMBP.local”
使用回车键即可进行切换Window噢~而除了这种方式切换不同的Window之外还可以通过如下的方法

2.切换Window

ctrl-b(松手) p   (切换到上一个Window)
ctrl-b(松手) n   (切换到下一个Window)

3.创建新的Window

ctrl-b(松手) c

再使用 ctrl-b(松手) w,则会发现此时有3个Window了

屏幕快照 2016-09-02 下午11.56.32

4.修改Window的名字
除此之外,如果你觉得0 1 2不能代表Window的名字的话,还可以修改Window的名字

ctrl-b(松手) ,

有关Window的用法就介绍几个常用的命令,请记住,Window是包含Pane的,也就是每一个Window下我们都可以随意创建Pane。

玩转Session
Session是一个比较高级的玩法,这里我主要介绍一个比较常用的场景。

首先,我们新开一个终端。
1.创建一个新的session,名字命名为newsession

tmux new -s newsession

此时,我们就新建了一个名字为newsession的Session,此时我们输入top命令,让这个Session做点事情~
屏幕快照 2016-09-03 上午12.10.43

2.临时有点事情,退出newsession

ctrl-b(松手) d

3.办完事了,回来看看我的top命令是不是还在运行?

tmux attach -t newsession

事实证明,真的还在运行,只不过我这里的例子用了top有点牵强,这里的top可以用来做许多其他的事情,比如跑一个时间很长的脚本时就会很有用。

好了,简单的tmux使用教程就是这样了,虽然用了很多图,讲了很多废话,但是我相信可以帮到你~

有可能是最简单的tmux入门教程
Tags:         

2 thoughts on “有可能是最简单的tmux入门教程

发表评论

电子邮件地址不会被公开。 必填项已用*标注