tmux命令啟動MySQL tmux 快速入門

2021-10-18 17:38:48 字數 3350 閱讀 8579

為什麼要用 tmux

如果你對 tmux 的疑問還停留在:我可以開多個 terminal 的 tab 啊,為什麼要用 tmux 呢?那我只能呵呵了。 tmux 的強大之處在於:

可以連線本地或遠端的 sessions

強大的 window 和 pane 管理

在不同的 session 之間移動 window

自動化指令碼

基本概念

tmux 這個單詞是 terminal multiplexer 的縮寫。 tmux 可以讓你在乙個螢幕中管理多個終端視窗。 先看圖:

tmux 架構

session

tmux 是被設計為 cs 結構的。因此當你啟動 tmux 的時候, 實際上你啟動的是 tmux 的 client。

服務端可能也在你的電腦上或者其他伺服器上,總之要連線 client 和 server, 就需要乙個 session。

一般來說乙個 session 對應這乙個 project。

window

乙個 session 包含多個 window,這裡的 window 比較類似一般 terminal 模擬器的 tab。

pane

乙個 window 可以被分割為多個 pane,方便同時檢視多個程序的狀態。

快捷鍵tmux 的快捷鍵可以非常靈活地自定義

配置tmux 的配置檔案位於 $home/.tmux.conf (以及乙個全域性的 /etc/tmux.conf),和大多數 dotfile 一樣,把配置項寫到這個檔案中,啟動 tmux的時候就會自動讀取了。 下面是我會列舉一些常用配置。

字首這個是所有快捷鍵的基礎,設定了乙個 prefix,系統才能知道你後續的操作是對於 tmux 的。

幾乎所有的快捷鍵都是要先輸入 prefix 的。預設的 prefix 是 c-b 。不過這和 emacs 的 back 衝突了。

網上比較主流的設定是 c-a,一來這兩個鍵很近,二來雖然這和 emacs 的回到行首衝突,不過相對於 c-b, c-a 多按幾次也沒有***,並且用的頻率沒那麼高,所以大多數人都會選擇用 c-a 作為 prefix。

當然,也有人覺得 c-t (t for tmux)是乙個不錯的選擇,anyway,把 prefix 當成乙個變數即可。

配置項:

set -g prefix c-a # 設定字首

unbind c-b # 取消預設的字首

set -s escape-time 1 # 設定字首的作用時間

bind c-a send-prefix # 確保可以在其他應用中可以傳送 ctrl-a

常用操作

這裡列出的快捷鍵都是按照上面的配置配好之後的結果。

其中有些操縱是預設值所以並沒出現在配置 list 中。

使用 prefix - ? 可以隨時檢視快捷鍵列表。

session

配置項:

bind c-c new-session # 建立新的 session

bind c-f command-prompt -p find-session 'switch-client -t %%' # 查詢 session

說明:功能

快捷鍵新建 session

prefix - c-c

返回 session

tmux attach -t session-name

列出 sessions

tmux list-sessions

查詢 session

prefix - c-f

重新命名 session

tmux rename-seesion session-name

切換 session

tmux switch -t session-name

window

配置項:

bind -r c-h previous-window # 選定上乙個 window

bind -r c-l next-window # 選定下乙個 window

功能快捷鍵

新建 window

prefix-c

關閉 window

prefix-&

重新命名 window

prefix-,

列出 windows

prefix-w

切換 window

prefix-\[0-9\]

panel

配置項:

bind - splitw -v # 分割成上下兩個視窗

bind | splitw -h # 分割成左右兩個視窗

功能快捷鍵

橫向切分 window

prefix - 豎槓

縱向切分 window

prefix - 橫槓

最大化 pane

prefix-z

改變 pane 的 layout

prefix-space

調整 pane 尺寸

prefix 然後按住(shift)fbnp

切換 pane(順序跳轉)

prefix - o

切換 pane(選擇編號)

prefix - q 然後按對應的編號

模式正如 vi 有不同的模式一樣,tmux 也有自己的模式:

default mode

預設模式,就是我們一直在操作的模式。

copy mode

快捷鍵 prefix-[ 就會進入 copy mode。在這個模式下,你可以檢視歷史記錄,複製貼上內容,類似於 vi 的 normal mode。

command mode

類似於在 emacs 下直接輸入指令。一些複雜或冷門的操作可以在這裡直接呼叫。

clock mode

快捷鍵 prefix-t, 會顯示乙個時鐘。。。這真的不是乙個彩蛋嗎。。。 想要把

prefix 設定成 t 的同學不需要擔心覆蓋掉這個模式了,這模式壓根就沒用啊。。。

高階技巧(外掛程式)

結對程式設計

如果在結對程式設計時兩個腦袋湊在乙個螢幕前是不是有點擠啊。。。 有了 tmux 就不怕啦。只需要乙個 server 端,然後兩個 client 一起連上去。

不但可以共享『螢幕』,還能一起操作同乙個檔案。 這樣的 common pattern 已經有人封裝好了工具了,就是這個 -- wemux。 不但可以選擇共享模式(mirror,pair,rogue)。還可以踢人哦。。。

初始化工作區

什麼?!這個專案需要開啟兩個 redis 埠,乙個 rails server,乙個 sidekiq 程序。 這還是沒包括 mysql 和 es 這樣的常用服務,以及 guard 這樣的可選工具的情況下。

別怕,有了 tmux,一切都是這麼簡單:

試試這個外掛程式吧 -- 叫做 tmuxinator 的乙個 ruby gem。 跟著 readme 操作一下吧,非常容易入門的。

tmux命令使用

使用遠端的伺服器連線,跑部分程式,有時候懶得一直開電腦掛連線,可以使用tmux相關的命令,在伺服器的後台開程序一直跑,不會因為連線斷掉而停止。記錄下tmux的部分命令。tmux介紹 tmux命令是通過和伺服器建立乙個會話 session 我覺得也就是在伺服器端去請求乙個程序,這個程序可以在後台保持執...

tmux 簡單命令

tmux 大概結構圖 如果你已經安裝了tmux,則輸入tmux會進入tmux功能介面 0.tmux ls 列出已經存在session 1.tmux new s foo 新建session 這個是分屏的前提 2.tmux attach t foo 選擇某個session 如果已經有session 3....

工具 Tmux 命令備忘

以下內容來自網路,不再宣告源位址tmux terminal multiplexer tmux可以靈活的分割終端,靈活的將任務分配到不同的session中,而且關掉會話之後重新鏈結,這樣的功能可以實現 1.辦公室的工作關掉後,回家重新鏈結剛才的session,接著工作 2.遠端斷電時,可以不使用scr...