Linux 命令和 Shell 技能
tmux:比连接持续时间更长的会话
tmux 是终端多路复用器,当您的 SSH 连接中断时,它可以使长时间运行的工作保持活动状态:一个独立的服务器进程保留您的窗口和窗格,并且任何后续连接(笔记本电脑、办公网络、另一个城市)都会重新连接到同一个实时会话。我们 tmux-vs-screen 比较背后的专门部分:将其从新颖性转变为可操作基础设施的习惯。
要点
- 心理模型是服务器-客户端:“tmux new -s deploy”创建一个命名的分离会话; `Ctrl-b d` 分离; `tmux Attach -t deploy` 会从任何连接返回任何稍后的内容:部署、日志尾部和编译在笔记本电脑在工作中进入睡眠状态时仍然存在。
- 窗口和窗格是工作界面:窗口是 Alt 样式的任务选项卡(Ctrl-b c 用于创建,n/p 或数字用于切换),窗格拆分窗口(Ctrl-b % 垂直," 水平,箭头键导航):一个屏幕,一个上下文 - 登录左侧窗格,服务在右侧重新启动。
- 配置保留在 ~/.tmux.conf 中:更大的回滚(历史限制)、用于滚动/选择的鼠标模式、更短的转义时间(vi 样式延迟消除了对延迟敏感的按键处理)以及显示会话和窗口名称的可见状态栏;配置像其他可操作的东西一样存在于版本控制中。
- 复制模式是安静的超能力:Ctrl-b [ 进入回滚搜索 (/) 和复制选择;与 grep-class 的前缀相结合,它可以恢复普通 SSH 回滚丢失的“我在三个屏幕前看到错误”的时刻。
- 团队会话有效:共享命名套接字 (tmux -S /tmp/pair.sock) 让两个工程师连接到同一个实时会话以进行配对调试或切换;只要套接字存在,会话就会持续存在(因此共享 shell 规则也是如此:提及,不要惊讶)。
- 脚本现实:来自 cron 的“tmux new-session -d -s job 'run-script && send-keys...”类自动化和 tmux 命令可进行无人值守的多窗格日志监视设置;将其与日志到文件配对,以处理必须在审查循环之外生存的任何内容(我们的 linux 命令 cat-hub 涵盖了日志所属的位置)。
一线手记
此次部署需要使用一块笔记本电脑电池花费三个小时,使用 tmux 来避免电池在工作中两次耗尽。会话是基础设施,构建完成时工程师正在睡觉。
常见问题
tmux 与 screen 的新设置?
tmux:更好的分割、脚本词汇、实时配置社区。 GNU screen:安装在没有 tmux 的地方(较旧的救援映像、最少的主机)。我们的比较文章涵盖了权衡表:在您自由选择的地方选择 tmux,在主机为您决定时了解屏幕。
如何在不影响工作的情况下脱离工作?
前缀 d (Ctrl-b d) 仅分离客户端视图:会话(作业、shell)保持在服务器端运行;杀戮需要显式地使用`tmux Kill-session`,因此分离总是安全的。
两个人可以附加阅读同一个会话吗?
是的,共享命名套接字会话或普通“tmux Attach -t”到同一会话都可以工作;结对训练、移交和事件指挥已成为正常的作战用例。
立即获得回报的最低配置是多少?
更大的回滚历史记录、鼠标模式打开、更短的退出时间以及显示主机 + 会话名称的状态栏:四行可以防止大多数“等待我在哪个框”事件。
Kinetikatech 如何在linux 命令和 shell 技能方面为您提供帮助
您不必自己成为linux 命令和 shell 技能专家:决定管理员是操作服务器还是对抗服务器的命令和脚本编写习惯:使用每个基本安装中的工具搜索、转换、传输和监督文本和进程。Linux 服务器安全和服务器管理正是为此而设:配置、加固、监控,并有工程师日夜值守。