</p>技巧 2:恢复出现问题的屏幕
9 d t9 M$ ~" Z g' M尝试以下操作:* ]3 j+ q/ U2 e: B
以下是代码片段:
+ o$ }& G+ v# K' L" H# cat /bin/cat
% K) W# V7 E. u7 l7 X4 l& K5 g注意!终端就想垃圾一样。输入的所有内容非常零乱。那么该怎么做呢?, O) X! s3 d7 ]6 I6 C' ~' c/ D
输入 reset。但是,输入 reset 与输入 reboot 或 shutdown 太接近了。吓得手心冒汗了吧 — 特别是在生产机器上执行这个操作时。, `! A6 T# Y# Z6 M& F# A
放心吧,在进行此操作时,机器不会重启。继续操作:
3 W6 ]2 b- c6 f$ g! D) {以下是代码片段:, e |, B/ O5 A: j( C" I& h# a
# reset6 T- w; T) ~8 a, U$ D
现在屏幕恢复正常了。这比关闭窗口后再次登陆好多了,特别是必须经过 5 台机器和SSH 才能到达这台机器时。0 i9 ] n( q) j. ]
技巧 3:屏幕协作
( p2 t$ x" d& W7 y! g" I+ i& k0 J; h来自产品工程的高级维护用户 David 打电话说:“为什么我不能在您部署的这些新机器上编译 supercode.c”。 Q# f! O& Z' ~* P) b" q
您会问他:“您运行的是什么机器?”
7 u7 @& }% K- R' l1 |7 I6 V, s; ODavid 答道:“ Posh”。(这个虚够的公司将它的 5 台生产服务器以纪念 Spice Girls 的方式命名)。这下您可以大显身手了,另一台机器由 David 操作:5 Q- c+ u% p$ Y8 t2 L4 K& v/ m+ g# a
以下是代码片段:# M6 p; S4 ?0 C! T! I
# su - david
4 g! R, R5 x) R8 l3 v: G转到 posh:% z. \7 o ? r0 ^
以下是代码片段:
; |) S$ v2 R8 R5 F; x# ssh posh
& \+ E' i! Q/ S4 `6 | u到达之后,运行以下代码:
6 \& R0 S) @$ b4 _以下是代码片段:
$ d5 q. `& y2 s( j# screen -S foo! O: n' c# c6 i- f ?/ x; j% n y) \
然后呼叫 David:
: c+ g4 @! U! P; q) @“David,在终端运行命令 # screen -x foo”。- f; F3 E: t, I/ J
这使您和 David 的会话在 Linux shell 中联接在一起。您可以输入,他也可以输入,但彼此可以看到对方所做的事情。这避免了进入其他层次,而且双方都有相同的控制权。这样做的好处是 David 可以观察到您的故障诊断技巧,并能准确了解如何解决问题。" f! W! N% o! u7 a* O+ u6 ]% x
最后大家都能看到问题所在:David 的编译脚本对一个不在此新服务器上的旧目录进行了硬编码。将它装载后再次编译即可解决问题,然后 David 继续工作。您则可以继续之前的娱乐活动。
7 r/ }4 `& k- o7 `. E' f关于此技巧需要注意的一点是,双方需要以同一用户登录。screen 命令还可以:实现多个窗口和拆分屏幕。请阅读手册页获取更多相关信息。
. R) u% D" ^/ O6 J' |对于 screen 会话,我还有最后一个技巧。要从中分离并让它打开,请输入 Ctrl-A D (即按住 Ctrl 键并点击 A 键。然后按 D 键)。9 Y0 j D8 F& p6 {! V
然后通过再次运行 screen -x foo 命令可以重新拼接起来。- E, I1 m) X: F& o- E9 J: m5 a+ Y
作为系统管理员的Linux管理效率在使用这些技巧后肯定会有一个较大的提高。 |