• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 宝剑锋从磨砺出,梅花香自苦寒来!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

会话管理工具tmux整理

系统与优化 eryajf 5个月前 (02-12) 382°C 已收录 0个评论
本文预计阅读时间 8 分钟

Tmux是一款优秀的终端复用软件,它比Screen更加强大,至于如何强大,网上有大量的文章讨论了这点,本文不再重复。Tmux之所以受人们喜爱,主要得益于以下三处功能:

  • 丝滑分屏(split),虽然iTem2也提供了横向和竖向分屏功能,但这种分屏功能非常拙劣,完全等同于屏幕新开一个窗口,新开的pane不会自动进入到当前目录,也没有记住当前登录状态。这意味着如果我SSH进入到远程服务器时,iTem2新开的pane中,我依然要重新走一遍SSH登录的老路(omg)。Tmux就不会这样,Tmux窗口中,新开的pane,默认进入到之前的路径,如果是ssh连接,登录状态也依旧保持着,如此一来,我就可以随意的增删pane,这种灵活性,好处不言而喻。
  • 保护现场(attach),即使命令行的工作只进行到一半,关闭终端后还可以重新进入到操作现场,继续工作。对于SSH远程连接而言,即使网络不稳定也没有关系,掉线后重新连接,可以直奔现场,之前运行中的任务,依旧在跑,就好像从来没有离开过一样;特别是在远程服务器上运行耗时的任务,Tmux可以帮你一直保持住会话。如此一来,你就可以随时随地放心地进行移动办公,只要你附近的计算机装有Tmux(没有你也可以花几分钟装一个),你就能继续刚才的工作。
  • 会话共享(适用于结对编程或远程教学),将 Tmux 会话的地址分享给他人,这样他们就可以通过 SSH 接入该会话。如果你要给同事演示远程服务器的操作,他不必直勾勾地盯着你的屏幕,借助Tmux,他完全可以进入到你的会话,然后静静地看着他桌面上你风骚的键盘走位,只要他愿意,甚至还可以录个屏。

1,安装。

CentOS-7之上。

yum -y install tmux

2,简单使用。

1,新建会话。

[root@eryajf ~]$tmux new -s test -d

表示新建一个名为test的session,并放在后台运行。

2,查看会话。

[root@eryajf ~]$tmux ls
doc: 1 windows (created Sat Dec 29 17:06:45 2018) [186x40]
test: 1 windows (created Sat Dec 29 17:34:12 2018) [186x40]

3,进入会话。

[root@eryajf vhost]$tmux a -t test

a是attach的简写。

4,退出而不关闭。

登到某一个会话后,依次按键Ctrl + b 然后按 d,这样就会退化该会话,但不会关闭会话。
如果直接Ctrl + d,就会在退出会话的通话也关闭了该会话!

5,销毁会话。

[root@eryajf vhost]$tmux ls
doc: 1 windows (created Sat Dec 29 17:06:45 2018) [186x40]
test: 1 windows (created Sat Dec 29 17:34:12 2018) [160x30]

[root@eryajf vhost]$tmux kill-session -t test

[root@eryajf vhost]$tmux ls
doc: 1 windows (created Sat Dec 29 17:06:45 2018) [186x40]

6,重命名会话。

[root@eryajf vhost]$tmux ls
doc: 1 windows (created Sat Dec 29 17:06:45 2018) [186x40]
test: 1 windows (created Sat Dec 29 18:15:24 2018) [160x30]

[root@eryajf vhost]$tmux rename -t test eryajf

[root@eryajf vhost]$tmux ls
doc: 1 windows (created Sat Dec 29 17:06:45 2018) [186x40]
eryajf: 1 windows (created Sat Dec 29 18:15:24 2018) [160x30]

7,创建会话并执行命令。

此处举一个简单的例子:

[root@eryajf vhost]$tmux new -d -s test && tmux send -t test 'for i in `seq 1000`;do curl 192.168.111.16 && sleep 1;done' ENTER
[root@eryajf vhost]$tmux ls
test: 1 windows (created Sat Dec 29 18:22:50 2018) [186x40]

然后进去看一眼:

[root@eryajf vhost]$tmux a -t test

for i in `seq 1000`;do curl 192.168.111.16 && sleep 1;done
[root@eryajf vhost]$for i in `seq 1000`;do curl 192.168.111.16 && sleep 1;done
{"timestamp":"2018-12-29 18:22:51","status":404,"error":"Not Found","message":"No message available","path":"/"}{"timestamp":"2018-12-29 18:22:52","status":404,"error":"Not Found","message":"No message available","path":"/"}{"timestamp":"2018-12-29 18:22:53","status":404,"error":"Not Found","message":"No message available","path":"/"}{"timestamp":"2018-12-29 18:22:54","status":404,"error":"Not Found","message":"No message available","path":"/"}

可以看到刚刚的命令还在持续输出当中。

3,快捷键汇总。

系统指令:

窗口(window)指令:

面板(pane)指令:


weinxin
扫码订阅本站,第一时间获得更新
微信扫描二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明会话管理工具tmux整理
喜欢 (1)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!

您必须 登录 才能发表评论!