自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux 終端復(fù)用神器 Tmux 使用詳解,看完可以回家躺平了~

系統(tǒng) Linux
Tmux 可用于在一個(gè)終端窗口中運(yùn)行多個(gè)終端會(huì)話。不僅如此,還可以通過(guò) Tmux 使終端會(huì)話運(yùn)行于后臺(tái)或是按需接入、斷開會(huì)話,這個(gè)功能非常實(shí)用。

 Tmux 是 Terminal Multiplexer 的簡(jiǎn)稱,它是一款優(yōu)秀的終端復(fù)用軟件,類似 GNU screen,但比screen更出色。tmux來(lái)自于OpenBSD,采用BSD授權(quán)。使用它最直觀的好處就是, 通過(guò)一個(gè)終端登錄遠(yuǎn)程主機(jī)并運(yùn)行tmux后,在其中可以開啟多個(gè)控制臺(tái)而無(wú)需再“浪費(fèi)”多余的終端來(lái)連接這臺(tái)遠(yuǎn)程主機(jī), 還有一個(gè)好處就是當(dāng)終端關(guān)閉后該shell里面運(yùn)行的任務(wù)進(jìn)程也會(huì)隨之中斷,通過(guò)使用tmux就能很容易的解決這個(gè)問(wèn)題。

Tmux 可用于在一個(gè)終端窗口中運(yùn)行多個(gè)終端會(huì)話。不僅如此,還可以通過(guò) Tmux 使終端會(huì)話運(yùn)行于后臺(tái)或是按需接入、斷開會(huì)話,這個(gè)功能非常實(shí)用。

Tmux的使用場(chǎng)景

  •  可以某個(gè)程序在執(zhí)行時(shí)一直是輸出狀態(tài),需要結(jié)合nohup、&來(lái)放在后臺(tái)執(zhí)行,并且ctrl+c結(jié)束。這時(shí)可以打開一個(gè)Tmux窗口,在該窗口里執(zhí)行這個(gè)程序,用來(lái)保證該程序一直在執(zhí)行中,只要Tmux這個(gè)窗口不關(guān)閉
  •  處于異地的兩人可以對(duì)同一會(huì)話進(jìn)行操作,一方的操作另一方可以實(shí)時(shí)看到
  •  可以在單個(gè)屏幕的靈活布局下開出很多終端,然后就能協(xié)作地使用它們
  •  下班后,你需要斷開ssh或關(guān)閉電腦,將運(yùn)行的命令或任務(wù)放置后臺(tái)運(yùn)行
  •  關(guān)閉終端,再次打開時(shí)原終端里面的任務(wù)進(jìn)程依然不會(huì)中斷

Tmux功能:

  •  提供了強(qiáng)勁的、易于使用的命令行界面。
  •  可橫向和縱向分割窗口。
  •   窗格可以自由移動(dòng)和調(diào)整大小,或直接利用四個(gè)預(yù)設(shè)布局之一。
  •  支持 UTF-8 編碼及 256 色終端。
  •  可在多個(gè)緩沖區(qū)進(jìn)行復(fù)制和粘貼。
  •  可通過(guò)交互式菜單來(lái)選擇窗口、會(huì)話及客戶端。
  •  支持跨窗口搜索。
  •  支持自動(dòng)及手動(dòng)鎖定窗口。

Tmux安裝

Ubuntu版本下可以直接使用apt安裝

  1. sudo apt-get install tmux 

CentOS版本下使用yum安裝

  1. yum install -y tmux 

在macOS中安裝

安裝 Homebrew 

  1. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

安裝tmux 

  1. brew install tmux 

查看版本 

  1. tmux -V 

Tmux的使用

安裝完成后輸入命令tmux即可打開軟件,界面十分簡(jiǎn)單,類似一個(gè)下方帶有狀態(tài)欄的終端控制臺(tái);但根據(jù)tmux的定義,在開啟了tmux服務(wù)器后,會(huì)首先創(chuàng)建一個(gè)會(huì)話,而這個(gè)會(huì)話則會(huì)首先創(chuàng)建一個(gè)窗口,其中僅包含一個(gè)面板;也就是說(shuō),這里看到的所謂終端控制臺(tái)應(yīng)該稱作tmux的一個(gè)面板,雖然其使用方法與終端控制臺(tái)完全相同。

# tmux //直接進(jìn)入面板,如下效果:

Tmux的快捷鍵使用說(shuō)明:

Ctrl+b

激活控制臺(tái);此時(shí)以下按鍵生效

系統(tǒng)操作

?

列出所有快捷鍵;按q返回

d

脫離當(dāng)前會(huì)話;這樣可以暫時(shí)返回Shell界面,輸入tmux attach能夠重新進(jìn)入之前的會(huì)話

D

選擇要脫離的會(huì)話;在同時(shí)開啟了多個(gè)會(huì)話時(shí)使用

Ctrl+z

掛起當(dāng)前會(huì)話

r

強(qiáng)制重繪未脫離的會(huì)話

s

選擇并切換會(huì)話;在同時(shí)開啟了多個(gè)會(huì)話時(shí)使用

:

進(jìn)入命令行模式;此時(shí)可以輸入支持的命令,例如kill-server可以關(guān)閉服務(wù)器

[

進(jìn)入復(fù)制模式;此時(shí)的操作與vi/emacs相同,按q/Esc退出

~

列出提示信息緩存;其中包含了之前tmux返回的各種提示信息

窗口操作

c

創(chuàng)建新窗口

&

關(guān)閉當(dāng)前窗口

數(shù)字鍵

切換至指定窗口

p

切換至上一窗口

n

切換至下一窗口

l

在前后兩個(gè)窗口間互相切換

w

通過(guò)窗口列表切換窗口

,

重命名當(dāng)前窗口;這樣便于識(shí)別

.

修改當(dāng)前窗口編號(hào);相當(dāng)于窗口重新排序

f

在所有窗口中查找指定文本

面板操作

將當(dāng)前面板平分為上下兩塊

%

將當(dāng)前面板平分為左右兩塊

x

關(guān)閉當(dāng)前面板

!

將當(dāng)前面板置于新窗口;即新建一個(gè)窗口,其中僅包含當(dāng)前面板

Ctrl+方向鍵

以1個(gè)單元格為單位移動(dòng)邊緣以調(diào)整當(dāng)前面板大小

Alt+方向鍵

以5個(gè)單元格為單位移動(dòng)邊緣以調(diào)整當(dāng)前面板大小

Space

在預(yù)置的面板布局中循環(huán)切換;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled

q

顯示面板編號(hào)

o

在當(dāng)前窗口中選擇下一面板

方向鍵

移動(dòng)光標(biāo)以選擇面板

{

向前置換當(dāng)前面板

}

向后置換當(dāng)前面板

Alt+o

逆時(shí)針旋轉(zhuǎn)當(dāng)前窗口的面板

Ctrl+o

順時(shí)針旋轉(zhuǎn)當(dāng)前窗口的面板

tmux的窗口

一個(gè)tmux的會(huì)話中可以有多個(gè)窗口,每個(gè)窗口又可以分割成多個(gè)窗格。我們工作的最小單位其實(shí)是窗格。默認(rèn)情況下在一個(gè)窗口中,只有一個(gè)大窗格,占滿整個(gè)窗口區(qū)域。我們?cè)谶@個(gè)區(qū)域工作。

先來(lái)看下tmux窗口的相關(guān)操作,后面我們?cè)僬f(shuō)一下關(guān)于窗格的相關(guān)知識(shí)。首先在新創(chuàng)建的一個(gè)會(huì)話里面是會(huì)默認(rèn)創(chuàng)建一個(gè)窗口的。正如我們上面提到過(guò)的圖一樣。

新創(chuàng)建的會(huì)話中會(huì)默認(rèn)創(chuàng)建一個(gè)窗口,本例中的窗口名字是0:bash,0是序號(hào),我們可以通過(guò) crtl+b , (組合鍵之后按一個(gè)逗號(hào))來(lái)修改當(dāng)前窗口的名字,如上圖所示的窗口名字linuxmi就是修改之后的名字。該名字后面有一個(gè)*號(hào),表示該窗口是活動(dòng)窗口(鍵盤輸入會(huì)輸入到該窗口中)

修改窗口名稱中

修改窗口名稱后

創(chuàng)建窗口

可以在當(dāng)前會(huì)話窗口中創(chuàng)建多個(gè)窗口,例如 ctrl+b c 創(chuàng)建之后會(huì)多出一個(gè)窗口如下圖所示:

默認(rèn)情況下創(chuàng)建出來(lái)的窗口由窗口序號(hào)+窗口名字組成,窗口名字可以由上面提到的方法修改,可以看到新創(chuàng)建的窗口后面有*號(hào),表示是當(dāng)前窗口。

切換窗口

這么多窗口,那么如何在同一個(gè)會(huì)話的多個(gè)窗口之間進(jìn)行切換呢?可以通過(guò)如下快捷鍵進(jìn)行操作:

ctrl+b p (previous的首字母) 切換到上一個(gè)窗口。

ctrl+b n (next的首字母) 切換到下一個(gè)窗口。

ctrl+b 0 切換到0號(hào)窗口,依次類推,可換成任意窗口序號(hào)

ctrl+b w (windows的首字母) 列出當(dāng)前session所有窗口,通過(guò)上、下鍵切換窗口

ctrl+b l (字母L的小寫)相鄰的窗口切換

3. ctrl+b & 關(guān)閉窗口

ctrl+b & 關(guān)閉當(dāng)前窗口,會(huì)給出提示是否關(guān)閉當(dāng)前窗口,按下y確認(rèn)即可。

tmux的窗格

tmux的一個(gè)窗口可以被分成多個(gè)窗格,可以做出分屏的效果。

1. ctrl+b % 垂直分屏(組合鍵之后按一個(gè)百分號(hào)),用一條垂線把當(dāng)前窗口分成左右兩屏。

2. ctrl+b " 水平分屏(組合鍵之后按一個(gè)雙引號(hào)),用一條水平線把當(dāng)前窗口分成上下兩屏。

分屏之后光標(biāo)停留在哪個(gè)窗格上,表示該窗格是活動(dòng)的,另外一般情況下當(dāng)前窗格會(huì)被綠色的線條圍起來(lái)。一般分屏之后當(dāng)前窗口名字會(huì)重置為默認(rèn)窗口名字。通過(guò)多次分屏操作,我們可以得到各種樣子的分屏效果,例如下圖顯示的是一次垂直分屏之后,在右邊窗格中再次水平分屏的效果:

可以看到右下角的分屏是綠色框,說(shuō)明是當(dāng)前活動(dòng)窗格

如何切換窗格

ctrl+b o 依次切換當(dāng)前窗口下的各個(gè)窗格。

ctrl+b Up|Down|Left|Right 根據(jù)按箭方向選擇切換到某個(gè)窗格。

ctrl+b Space (空格鍵) 對(duì)當(dāng)前窗口下的所有窗格重新排列布局,每按一次,換一種樣式。

ctrl+b z 最大化當(dāng)前窗格。再按一次后恢復(fù)。

還有一種切換方法是ctrl+b q,tmux會(huì)顯示每個(gè)窗格的序號(hào),按這個(gè)序號(hào)就可以跳到這里窗格去了(按慢了可不行,得在數(shù)字消失前按)。

關(guān)閉窗格

ctrl+b x 關(guān)閉當(dāng)前使用中的窗格,操作之后會(huì)給出是否關(guān)閉的提示,按y確認(rèn)即關(guān)閉。

終端內(nèi)顯示時(shí)間

快捷鍵:先按ctrl+b, 放開后再按t

退出時(shí)間界面:按q鍵

tmux ls 終端環(huán)境查看會(huì)話列表

在終端環(huán)境中,我們可以通過(guò)tmux ls 命令來(lái)查看后臺(tái)運(yùn)行中的tmux的會(huì)話列表,例如:

可以看到在列出的列表中,只有1行,說(shuō)明只有一個(gè)會(huì)話,其中左邊的0表示該會(huì)話的名字,中間3 windows說(shuō)明該會(huì)話0會(huì)話中有3個(gè)窗口,右邊表示該會(huì)話創(chuàng)建的時(shí)間。如果該機(jī)器中有多個(gè)tmux會(huì)話在后臺(tái)運(yùn)行,那么這里會(huì)列出多行。因?yàn)閠mux會(huì)話在后臺(tái)運(yùn)行,我們猜測(cè)實(shí)際上肯定是有tmux的進(jìn)程在后臺(tái)運(yùn)行來(lái)維持這些會(huì)話。

總結(jié)

tmux中的最重要的三個(gè)概念:會(huì)話,窗口,窗格的使用方法已經(jīng)介紹完畢,這也是我們操作tmux的最常用功能,只要熟練掌握,就足以應(yīng)付大多數(shù)日常工作。另外tmux還有一些高級(jí)用法,例如可以個(gè)性化的配置其組合鍵(官方默認(rèn)的ctrl+b組合鍵按起來(lái)不太方便可以修改,UI設(shè)置,鼠標(biāo)支持,復(fù)制粘貼等)。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux公社
相關(guān)推薦

2021-05-28 11:54:29

MySQL數(shù)據(jù)庫(kù)主從復(fù)制

2022-05-25 08:27:30

tmux軟件

2022-07-24 20:58:34

tmuxLinux

2017-04-20 20:30:15

Linuxtmux終端

2020-07-25 16:33:02

tmuxGitLinux終端

2019-01-27 19:15:17

Linuxtmux終端復(fù)用器

2014-10-09 10:07:26

Tmux終端效率

2019-11-15 09:58:04

LinuxAsciinemapython

2021-03-02 08:49:53

tmuxLinux命令

2024-01-05 12:03:37

終端工具?tmux

2021-08-16 11:59:32

Linuxlogrotate日志文件

2020-05-22 15:45:30

Linuxlogrotate神器

2020-11-19 09:35:56

Linuxscreen命令

2021-05-26 10:15:52

開發(fā)技能工具

2022-04-29 09:10:25

MobaXterm軟件Linux

2021-02-15 17:00:22

Tmux管理會(huì)話Linux

2020-06-18 07:49:47

Linux終端程序

2021-06-07 08:13:11

LinuxIDLE 子系統(tǒng)

2025-02-10 09:20:00

LinuxScreen終端

2020-08-04 07:47:59

代碼模板模式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)