一用就上手 Linux tmux 終端機工具 - The Tech Explorer

Tmux 的特點

  • tmux 可以提供一個多工的終端機介面,其實就跟我們常用的網頁瀏覽器一樣
  • tmux 可以在背景執行,即便你離開使用這個工具,也可以隨時把他叫回來,回到你之前的工作
  • 若不小心網路斷線了,tmux 並不會自動終止

Tmux 安裝

  • Mac OS
    先安裝 homebrew 再下
    1
    brew install tmux
  • Debian / Ubuntu
    1
    sudo apt-get install tmux

Tmux 的三大單元:

  • 他可以同時分割出多個 sessions, windows, panes
    • sessions: 就像是瀏覽器
    • windows: 就像是瀏覽器上的分頁
    • panes: 將分頁切割的小區塊

Tmux 操作指令

在 Terminal 操作 Tmux 工具

想像在操作一個瀏覽器 (session)

操作 指令
開啟一個 session $ tmux
離開目前 session $ tmux detach
回到前一個使用的 session $ tmux attach
顯示所有目前執行中的 session $ tmux ls
回到某一個 ID 的 session $ tmux attach -t [session-id]
刪除某一個 ID 的 session $ tmux kill-session [session-id]
  • 顯示所有目前執行中的session
    • $ tmux ls 指令,即可看到當前執行幾個 session,並且顯示每個 session 的 ID,其中有幾個 window
  • 回到某一個ID的 session
    • $ tmux attach -t [session-id] 指令,並將[session-id] 更換為想要進入的session號碼

進到 Tmux 內部的操作

  • 預設快捷鍵為: Ctrl + b
  • 當要想要操作時,我們可以先按下 Ctrl + b 鍵,接著對應下面的表格進行操作

對 Session 操作 (瀏覽器操作)

操作 指令
重新命名目前的 session Ctrl + b 再輸入 $
離目前的 session (detach),離開 tmux 環境 Ctrl + b 再輸入 d
視覺化切換 session (select) Ctrl + b 再輸入 s
切換至上一個 session Ctrl + b 再輸入 (
切換至下一個 session Ctrl + b 再輸入 )

對 Window 操作(分頁操作)

操作 指令
建立新的 window(create) Ctrl + b 再輸入 c
視覺化選單切換 window Ctrl + b 再輸入 w
切換至下一個 window(next) Ctrl + b 再輸入 n
切換至上一個 window(previous) Ctrl + b 再輸入 p
切換至指定的 window 號碼 Ctrl + b 再輸入 數字鍵號碼
關閉目前的 window Ctrl + b 再輸入

對 Panes 操作 (分頁視窗分割)

操作 指令
垂直分割視窗 Ctrl + b 再輸入
水平分割視窗 Ctrl + b 再輸入 "
切換至指定方向的 pane Ctrl + b 再輸入 方向鍵
切換 pane 佈局 Ctrl + b 再輸入 空白鍵
將目前 pane 變成一個新獨立的 window Ctrl + b 再輸入 !
關閉目前的 pane Ctrl + b 再輸入 x
  • 如此範例可以將window 切成多個Panes

額外的操作技巧

操作 指令
向上滾動 log Ctrl + b 再輸入 PG UP
向下滾動 log Ctrl + b 再輸入 PG DN
在所有 window 中搜尋關鍵字 Ctrl + b 再輸入 f
  • 要離開此滾動機制,請按ESC

客製化自己的Tmux設定

  • 可以另外自己創建一個config檔來做設定 ~/.tmux.conf

Tmux 和傳統終端管理程式 Screen 的比較