我愛TMUX
tmux 是終端機必備的最佳夥伴
我在每台伺服器上都使用它。tmux全名為:terminal multiplexer;tmux以各種方式協助我的工作。
它讓我更有效率的工作。我可以將一個視窗分成多個窗格,而不是以一個視窗填滿整個螢幕。我更可以調整或重新排序我的螢幕和窗格以便我工作。
接續上次的作業,不怕SSH運行中的作業消失
另一個大好處是當你在tmux中的shell工作時,此shell則在運行這個tmux會話中。如果你在工作時使用無線網路並且會四處走動,那麼你的網路連結很有可能的會變得不穩定,促使你的SSH會話終止。如果有些作業在SSH會話中運行時花了非常久的時間完成,特別是在提示用戶輸入指令等情況下時,斷開SSH連結會帶來不好的後果。
但使用tmux卻不需要擔心這種問題,即便你的網路斷了也不是個問題。只需將SSH放回伺服器上,發出指令“tmux attach”後你將會立即回到上次離開會話時的地方。即便你不需要那層“會話保護”(我不確定應如何稱此術語,所以以“會話保護”表示),它可以作為一種讓你接著繼續進行上次離開工作時未完成的部分。
想像一下,第二天時回到瀏覽器中看到前一天所打開的視窗。也許以另一個角度去想像,當你失去所有打開的視窗時必須重新打開電子郵件、社交軟體、工單系統、音樂、以及其他你習慣運行的程式時是件多麼麻煩的事(至少對於我而言)。
螢幕共享
另一個有效運用tmux的方法是“螢幕共享”。tmux允許多個連結連上通一個會話。我以一個用戶身份SSH進入一台伺服器。你用同一個用戶身份一起SSH進入同一個伺服器。我建立或附加一個tmux會話,而你也附加上同一個會話。現在我們可看到同樣的東西。我們可以看到對方正在輸入什麼。雖然我不常使用此功能,但是當需要同時在同一個伺服器上工作時則非常方便的。人們通常喜歡坐在自己的座位上看著自己的顯示器。因此,這功能可以方便地以不需要離開自己座位時與其他人員相互照應。
所以這些是我喜歡tmux的主要原因:
-
它以高效率方式呈現視覺效果
-
保護我的工作不受不穩定的連結干擾
-
使我輕易地記住我在一個伺服器上做了什麼事,並可以協助我進行故障排除工作。
如何使用tmux?
在默認的情況下,tmux通常包含在Ubuntu發行版中,也可在CentOS庫存中找到。
- 通過輸入“tmux”來啟動
- 通過退出來指tmux:exit (如果你在當前的tmux會話中沒有任何窗格或視窗時,則輸入“exit”將使你退出tmux,並終止該tmux會話。)
- 離開tmux:Ctrl-b d (使用tmux時的默認綁定鍵為 Ctrl-b。要做此操作(分離)時,按住Ctrl的同時,按“b”,鬆開,然後按“d”。這會讓你從當前的tmux會話中分離出來,並讓tmux會話在後台中繼續運行。)
- 附加到一個tmux會話:tmux attach (這會讓你回去你最後離開的會話中。)
- 調整窗格大小:Ctrl-b <方向鍵> (再繼續按住“Ctrl-b”的同時,點擊方向鍵)
- 放開“Ctrl-b”後點擊方向鍵
- 在窗格之間移動:Ctrl-b <方向鍵>
- 水平分割:Ctrl-b ”
- 垂直分割:Ctrl-b %
- 滾動:Ctrl-b [ (用“q”退出滾動模式)
- 重新排序窗格:Ctrl-b { 或Ctrl-b}
- 建立窗口:Ctrl-b c
- 下個窗口:Ctrl-b n
- 上個窗口:Ctrl-b p
- 關閉窗口:Ctrl-b x(或如前面所述,“退出”)
還有其他一些鍵盤快捷鍵,您可以再去仔細閱讀,但這應該足以讓您開始使用tmux。在某種程度上這可能看起來像複雜的快捷鍵,但不用太長的時間後將會成為肌肉記憶。想著你想要做什麼,即可做。即使你只是在單個窗口中使用單個窗格(請多加利用tmux的其他功能),只要想到可防止SSH會話中斷時就應該有足夠的動機來讓你每次都使用tmux工作。
我要留言