Tmux:更優(yōu)雅的后臺(tái)任務(wù)執(zhí)行和窗口共享

linux下如何將一個(gè)進(jìn)程放入后臺(tái)執(zhí)行關(guān)閉終端后還不受影響?如何把工作窗口暫時(shí)共享給小伙伴做個(gè)操作?

你可能知道nohub XXX &,setsid XXXdisown?,甚至于你也用過screen,基本也就是這些。除此之外蟲蟲再給你介紹一款類似screen,但是更優(yōu)雅的工具Tmux,可以用做后臺(tái)任務(wù)執(zhí)行,也特別適合于碼農(nóng)做分屏開發(fā)調(diào)試,終端共享等。

關(guān)于tmux?

Tmux是終端多路復(fù)用器(terminal multiplexer)簡(jiǎn)稱,是GNU Screen的替代品。我們可以啟動(dòng)Tmux會(huì)話,然后在該會(huì)話中打開多個(gè)窗口,并且分屏形成矩形窗格,執(zhí)行不同操作?;静僮鞣绞胶痛蠹乙呀?jīng)熟悉的screen類似,唯一差異是Tmux中的所有命令都以前綴ctrl + b開頭。相對(duì)比screen是ctrl + a

Tmux的安裝

包管理器安裝

可以使用各大linux發(fā)行版的軟件包管理器一鍵安裝Tmux。

Debian系和Ubuntu:

sudo apt install tmux

Redhat系包括CentOS

yum install -y tmux

在macOS上安裝Tmux

brew install tmux

源碼安裝

Tmux也支持源碼安裝,具體方法:

Tmux源碼依賴libevent 2.x和ncurses需要提前安裝。然后從Tmux源碼倉(github: tmux/tmux)clone 一份源碼

git clone github:/tmux/tmux.git

cd tmux

sh autogen.sh

./configure && make

Tmux使用方法

開啟Tmux 會(huì)話

要啟動(dòng)Tmux會(huì)話很簡(jiǎn)單,只需在控制臺(tái)中鍵入tmux。

tumx

就會(huì)打開一個(gè)新會(huì)話,會(huì)話包括一個(gè)新窗口并自動(dòng)啟動(dòng)一個(gè)shell。

進(jìn)入Tmux后,會(huì)在屏幕底部看到狀態(tài)行,會(huì)顯示有關(guān)當(dāng)前會(huì)話的信息。

現(xiàn)在可以運(yùn)行第一個(gè)Tmux命令。

例如,要查詢tumx所有命令的列表:

Ctrl + b ? (先按ctrl+b,然后輸入?)

創(chuàng)建命名Tmux會(huì)話(tmux new -s session_name)

默認(rèn)Tmux會(huì)話以數(shù)字命名。當(dāng)運(yùn)行多個(gè)tmux會(huì)話時(shí),為了管理方便,可以在啟動(dòng)時(shí)候添加名稱參數(shù),給會(huì)話命名。要?jiǎng)?chuàng)建一個(gè)命名會(huì)話,使用-s參數(shù)運(yùn)行:

tmux new -s session_name

比如命名一個(gè)名為chongchong的會(huì)話

注意命令會(huì)話窗口下面狀態(tài)欄,顯示已經(jīng)為"chongchong"了。

暫退Tmux會(huì)話(Ctrl + a d)

可以通過鍵入以下命令從Tmux會(huì)話中暫退并返回到正常的shell:

Ctrl + a d

從會(huì)話中暫退后,在Tmux會(huì)話中運(yùn)行的程序?qū)⒗^續(xù)運(yùn)行。

也可以通過直接用鼠標(biāo)關(guān)閉到整個(gè)終端窗口,這時(shí),tmux所在的shell進(jìn)程會(huì)消失。但是tmux會(huì)話不受影響,繼續(xù)任務(wù)執(zhí)行,也是暫退狀態(tài)。

注意要退出tmux,直接exit或者ctrl+d,就會(huì)退出tmux,返回原shell,這和一半的shell操作一樣。

返回Tmux會(huì)話(tmux attach-session)

如果要返回Tmux會(huì)話,你需要指定會(huì)話的名稱。如果你不指定會(huì)話名,tmux會(huì)返回到你最近使用的一個(gè)會(huì)話,這個(gè)有點(diǎn)智能,比screen強(qiáng),screen -r只能返回有一個(gè)會(huì)話的,而tmux attach-session多個(gè)會(huì)話,不指定也可以。

要返回到會(huì)話"chongchong",鍵入:

tmux attach-session -t chongchong

獲取Tmux會(huì)話列表(tmux ls)

要獲取當(dāng)前運(yùn)行所有會(huì)話的列表,使用命令

tmux ls

列表入下圖所示:

輸出的第一列為會(huì)話的名稱(比如0,2,chongchong);第二列為窗口數(shù)(比如會(huì)話0包括3個(gè)窗口);第三列為會(huì)話創(chuàng)建時(shí)間;最后為窗口大小。

Tmux會(huì)話新建窗口(Ctrl + a c)

默認(rèn)情況下,啟動(dòng)一個(gè)新的tmux會(huì)話時(shí),它會(huì)創(chuàng)建一個(gè)包含shell的窗口。我們可以通過Ctrl + a c新添加一個(gè)窗口,并自動(dòng)其分配0~9數(shù)字來表示??梢酝ㄟ^分屏在一個(gè)窗口展現(xiàn),或者通過ctrl+a w 選擇切換窗口

所有窗口的列表顯示在屏幕底部的狀態(tài)行中。

常見Tmux命令

Bellow是一些用于管理Tmux窗口和窗格的最常用命令:

?Ctrl + b c創(chuàng)建一個(gè)新窗口

?Ctrl + b w從列表中選擇窗口

?Ctrl + b 0切換到窗口0(根據(jù)編號(hào))

?Ctrl + b ,重命名當(dāng)前窗口

?Ctrl + b %將當(dāng)前窗格水平分割為兩個(gè)窗口

?Ctrl + b"將當(dāng)前窗格垂直拆分為兩個(gè)窗口

?Ctrl + b o轉(zhuǎn)到下一個(gè)窗口

?Ctrl + b ;在當(dāng)前窗口和上一窗口之間切換

?Ctrl + b x關(guān)閉當(dāng)前窗口

自定義配置Tmux(~/.tmux.conf)

啟動(dòng)Tmux時(shí),會(huì)檢測(cè)用戶目錄下的如果文件.tmux.conf(~/.tumx.conf),如果存在,則會(huì)從該文件讀取其配置參數(shù)。下面是一個(gè)tumx配置文件實(shí)例,其中包含自定義狀態(tài)行和一些其他選項(xiàng):

cat ~/.tmux.conf

# 顏色增強(qiáng)

set -g default-terminal 'screen-256color'

# 滾動(dòng)條為10000行

set -g history-limit 10000

# 改變狀態(tài)行顏色

set -g status-fg green

set -g status-bg black

基本Tmux流程和窗口共享

以下是開始使用Tmux的最基本步驟:

1.在命令提示符下,鍵入tmux new -s my_session,

2.運(yùn)行所需的程序。

3.使用鍵序列Ctrl-b + d從會(huì)話中分離(或者直接鼠標(biāo)關(guān)閉窗口)。

4.通知小伙伴,用同樣賬號(hào)登陸系統(tǒng)

5.鍵入tmux attach-session -t my_session,重新連接到Tmux會(huì)話。

如果自己使用,則用1,2,3,5,如果要和伙伴共享窗口則可以通過 1,2,3,4,5步驟。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iTerm2 已經(jīng)整合了 tmux,這意味著什么? 通常情況下,當(dāng)你使用 tmux 的時(shí)候,會(huì)在一個(gè)「物理」窗口(...
    悅?cè)A閱讀 23,342評(píng)論 1 14
  • Emacs tutorial. See end for copying conditions. Emacs教程。...
    李2牛閱讀 1,834評(píng)論 0 4
  • 前言 我們?yōu)槭裁葱枰制疗髂兀?對(duì)于這個(gè)問題,我想大家肯定都有自己的看法。 主流的觀點(diǎn)是這樣的,對(duì)于生活在Linu...
    craneyuan閱讀 7,896評(píng)論 0 14
  • 在 Ubuntu 中安裝Tmux: 在終端輸入如下命令: sudo apt-getinstall tmux Tmu...
    MiracleJQ閱讀 3,488評(píng)論 0 1
  • 致胡楊 風(fēng) 恣意的穿過你的身軀 你巋然?立仼它輕狂而去 雨 溫柔的拂過你的枝葉 你沉默不語 憑它柔情蜜意 我 ...
    玲瓏?yán)眿?/span>閱讀 203評(píng)論 0 0

友情鏈接更多精彩內(nèi)容