在 iTerm2 中使用 tmux

原作者:coding01,原文链接:https://juejin.im/post/5de8fe196fb9a0161e591dcb

作为开发者,不断和服务器打交道,最烦躁的是,每次用 ssh 连接服务器时,总担心网络不稳定导致在服务器端执行耗时的任务会被中断。有时候服务器一边在执行命令,一边又想看看服务器内存、CPU 等运行情况,这时候不得不再打开一个终端执行 ssh 连接操作。

最近发现一个好工具:「tmux」,恰好能解决这些问题,今天分享出来。

首先说一说 tmux 的好处。

tmux 优点

[if !supportLists]·        [endif]分屏

在 Mac 上,iterm2 也是可以做到分屏,但如果结合 iterm2 与 ssh 的话,iterm2 分屏需要不断地 ssh ,导致的后果就是有多个用户连接,使用 who 命令查看登录用户数。

举个例子,如果是 iterm2 分屏三个,则用户连接数为:3

但,如果是用 tmux 的话,相同的目标,用户连接数为:1

[if !supportLists]·        [endif]attach

attach 可以起到保护现场的作用,不至于因 ssh 超时或者异常退出,而丧失了工作环境。

我做了一个测试,先在 tmux 环境下git clone 代码。

接着关闭 ssh 环境一段时间,然后我重新连接服务器,这时候发现工作环境保持状态,并且持续下载中:

其中原理我觉得可以这么理解:tmux 运行在远程主机上,充当中介的作用。本地终端应首先 ssh 到远程主机,然后运行一个 tmux 会话,在会话内的 shell 中运行任务。当本地切断 ssh 连接时,应当先结束 tmux 会话。由于 tmux 在远程主机上运行,它可以装作 ssh 连接从未中断过。等本地终端再次登录时,又能重新装载会话,恢复至连接切断前的状态,以达到下载从未中断的目标。

以后我们可以放心的把耗时的任务放在 tmux 下执行了,再也不用担心本地 ssh 断连的问题了!

安装 tmux

在 Mac 下,直接使用brew

brew install tmux

复制代码

在 Centos 7,可以直接用yum 安装 tmux:

yum install tmux -y

复制代码

但版本会比较低,这里我们也可以直接用源代码编译安装最新版本:

# 安装 ncurses-devel 和 libevent-devel

yum -y install ncurses-devel

yum -y install libevent-devel


# 下载源代码

git clone https://github.com/tmux/tmux.git


# 编译

cd tmux && sh

autogen.sh


./configure && make


# 验证版本

tmux -V


tmux next-3.1

复制代码

注:

[if !supportLists]·        [endif]如果出现 aclocal: 未找到命令

则需要下载安装 automake 后再执行 autogen.sh

yum install automake -y

复制代码

[if !supportLists]·        [endif]如果出现 make: yacc:命令未找到

则需要安装 bison:

yum install bison -y

复制代码

[if !supportLists]·        [endif]如果 make 安装不了,可以试试 make install

连接

首先将远程连接 key 证书加入 ssh-key 中,以后访问方便。

ssh-add -k key.pem

复制代码

然后,我们在 iterm2 增加一个「Profile」,在「General」加入 「Command」命令:

ssh -t username@remote_host "tmux attach -t coding01 || tmux new -s coding01"

复制代码

这个的含义是:如果远程服务器已经有 coding01 session,则直接 tmux attach 载入 coding01 session;如果不存在,则会创建一个 coding01 session。

我们可以看看一共有几个 session:

总结

有了 tmux,我们可以做的还有很多,包括 tmux 的配置、快捷键的学习等等,市面上还有人把 tmux 当成艺术来学习。

最后来看看我 tmux 面板,我喜欢分成三个 pane,左边用于常规使用,右上角可以放一些实时性或者有意思的操作 (比如:显示⏲️);右下角执行 top 命令可以时刻关注服务器运行情况。

用好工具,提高我们的效率。

未完待续

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容

  • tmux可以干什么 ssh远程到服务器后,执行一个费时的操作,断开ssh后任务可以继续执行,不会中断 ssh到远程...
    比轩阅读 14,326评论 2 61
  • iTerm2 已经整合了 tmux,这意味着什么? 通常情况下,当你使用 tmux 的时候,会在一个「物理」窗口(...
    悦华阅读 23,064评论 1 14
  • 一、简介 Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用...
    风吹我已散博客阅读 7,823评论 0 3
  • [if !supportLists]1.1.1[endif]安装环境 redis是C语言开发,安装redis需要先...
    三万_chenbing阅读 578评论 0 1
  • 我不能言说 我不能言说的 是万年之前氢气氧气 化为了我们如今的身体 那时 我们的祖先 为日出欢呼 为每一次狩猎舞蹈...
    麋鹿简森阅读 330评论 0 0