玩转云主机:远程登录回话管理 tmux
这个系列是介绍Linux 命令行环境常用的效率工具。有些工具不是系统默认安装的,甚至有些学习成本,但如果一个动作每天要做数十次,那花一点时间优化/简化是一件划算的事。
Tmux 应该是你登录服务器,进入shell 后敲下的第一个命令,它是对整个会话(多任务多窗口)管理的工具。
这篇博客 介绍了用nohup做进程保护, 也许你觉得已经够用了,但是 Tmux 真的值得拥有,虽然学习它要花10分钟时间。
Tmux 强大之处是提供了对整个会话的保护和管理。会话(session)是对工作环境的整体打包,包括执行中的进程, 环境变量(好多运行时错误元凶),连接,Tabs。
这里强调一下Tabs。好多同事喜欢为每个任务打开一个putty 连接:编辑器,mongodb,git shell,Hbase... 这是一种很懒惰很落后的做法。为了让你明白这一点,我们想象浏览器怎么工作的。你不会为每个网页开一个单独的窗口,而是在一个浏览器窗口打开多个Tabs。多个Tabs 会共享这个窗口的全局配置(代理,隐私模式,cookies等环境变量),你只需在Tabs 中跳转,如果浏览器崩溃了,可以重新整体恢复所有页面, 浏览器这个功能叫会话(Session)管理。
Tmux 提供的能力类似:在同一个shell 中提供多Tabs 能力,让每个Tab 专注一个任务,你可以任意跳转(快捷键很棒,鼠标根本用不上),如果客户端和远程server 连接中断,只要重新登录回去,可以原地恢复,相当于对Session 内所有正在执行的进程都加了 nohup。
下面是一个Tmux 录屏, 展示session 创建->Tabs创建-> 分屏->跳转->session 中断->session恢复。
【云博客的视频上传真让我没脸说,拿这个图充数吧, 你既然看到这了视频其实已经不重要】
Tmux 在很多发行版都不是默认安装的,如果你可以接受更简朴的交互和同等强大的session 保护,可以使用系统自带的Screen。
- 点赞
- 收藏
- 关注作者
评论(0)