GNU/Linux >> Znalost Linux >  >> Linux

Příklady příkazů Tmux pro správu více terminálových relací v systému Linux

Už jsme se naučili používat GNU Screen pro správu více relací terminálu. Dnes uvidíme další známý nástroj příkazového řádku s názvem "Tmux" , který se také používá ke správě více relací Terminálu. Tato příručka vysvětluje, co je to Tmux a použití příkazů Tmux s příklady v Linuxu.

1. Co je Tmux?

Podobně jako GNU Screen je Tmux také terminálovým multiplexerem, který nám umožňuje vytvářet počet terminálových relací a spouštět více než jeden program nebo procesy současně v jednom okně terminálu.

Tmux je bezplatný, open source a multiplatformní program, který podporuje Linux, OpenBSD, FreeBSD, NetBSD a Mac OS X.

2. Nainstalujte Tmux v Linuxu

Tmux je k dispozici v oficiálních repozitářích většiny distribucí Linuxu.

Chcete-li nainstalovat Tmux v Alpine Linux, spusťte:

$ sudo apk add tmux

Na Arch Linuxu a jeho variantách, jako je EndeavourOS a Manjaro Linux, spusťte následující příkaz a nainstalujte jej.

$ sudo pacman -S tmux

Na Debian, Ubuntu, Linux Mint, Pop_OS!:

$ sudo apt-get install tmux

Na Fedoře, RHEL, CentOS, AlmaLinux, Rocky Linux:

$ sudo dnf install tmux

Nebo,

$ sudo yum install tmux

Na SUSE/openSUSE:

$ sudo zypper install tmux

No, právě jsme nainstalovali Tmux. Pojďme dále a podívejme se na několik příkladů, jak používat Tmux.

3. Použití příkazů Tmux s příklady

Výchozí zkratka předpony pro všechny příkazy v Tmux je Ctrl+b . Při používání Tmux si zapamatujte tuto klávesovou zkratku.

Pozor: Výchozí předpona pro všechny obrazovky příkazy je Ctrl+a .

3.1. Vytváření relací Tmux

Chcete-li vytvořit novou relaci Tmux a připojit se k ní, spusťte z terminálu následující příkaz:

$ tmux

Nebo,

$ tmux new

Jakmile jste uvnitř relace Tmux, uvidíte zelený pruh ve spodní části jak je znázorněno na snímku obrazovky níže.

Je velmi užitečné ověřit, zda jste v relaci Tmux nebo ne.

3.2. Odpojení od relací Tmux

Chcete-li se odpojit od aktuální relace Tmux, stačí stisknout Ctrl+b a d . Nemusíte stisknout obě klávesové zkratky najednou. Nejprve stiskněte "Ctrl+b" a poté stiskněte "d" .

Jakmile se odpojíte od relace, uvidíte výstup podobný níže.

[detached (from session 0)]

3.3. Vytváření pojmenovaných relací

Pokud používáte více relací, můžete být zmateni, které programy běží na kterých relacích. V takových případech stačí vytvořit pojmenované relace.

Pokud například chcete v relaci provádět nějaké činnosti související s webovým serverem, stačí vytvořit relaci Tmux s vlastním názvem, například "webserver" (nebo jakékoli jméno dle vašeho výběru).

$ tmux new -s webserver

Zde je nová pojmenovaná relace Tmux.

Jak můžete vidět na výše uvedeném snímku obrazovky, název relace Tmux je webserver . Tímto způsobem můžete snadno identifikovat, který program běží na které relaci.

Pro odpojení jednoduše stiskněte Ctrl+b a d .

3.4. Seznam relací Tmux

Chcete-li zobrazit seznam otevřených relací Tmux, spusťte:

$ tmux ls

Ukázkový výstup:

Jak můžete vidět, mám dvě otevřené relace Tmux.

3.5. Vytváření oddělených relací

Někdy můžete chtít jednoduše vytvořit relaci a nechcete se k ní automaticky připojovat.

Chcete-li vytvořit novou oddělenou relaci s názvem "ostechnix" , spustit:

$ tmux new -s ostechnix -d

Výše uvedený příkaz vytvoří novou relaci Tmux nazvanou „ostechnix“, ale nepřipojí se k ní.

Můžete ověřit, zda je relace vytvořena pomocí tmux ls příkaz:

3.6. Připojování k relacím Tmux

K poslední vytvořené relaci se můžete připojit spuštěním tohoto příkazu:

$ tmux attach

Nebo,

$ tmux a

Pokud se chcete připojit k jakékoli konkrétní pojmenované relaci, například „ostechnix“, spusťte:

$ tmux attach -t ostechnix

Nebo krátce:

$ tmux a -t ostechnix

3.7. Zabijte relace Tmux

Až budete hotovi a nebudete již potřebovat relaci Tmux, můžete ji kdykoli ukončit příkazem:

$ tmux kill-session -t ostechnix

Chcete-li po připojení zabít, stiskněte Ctrl+b a x . Stiskněte "y" zabít relaci.

Uzavření relace můžete ověřit pomocí tmux ls příkaz.

Chcete-li zabít server Tmux spolu se všemi relacemi Tmux, spusťte:

$ tmux kill-server

Buď opatrný! To ukončí všechny relace Tmux, i když v relacích běží nějaké úlohy bez jakéhokoli varování.

Když nebyly spuštěny žádné relace Tmux, uvidíte následující výstup:

$ tmux ls
no server running on /tmp/tmux-1000/default

3.8. Rozdělit Windows relace Tmux

Tmux má možnost rozdělit jedno okno relace Tmux na několik menších oken nazývaných Panely Tmux .

Tímto způsobem můžeme spouštět různé programy na každém panelu a pracovat se všemi současně.

Každý panel lze změnit velikost, přesunout a zavřít, aniž by to ovlivnilo ostatní panely. Okno Tmux můžeme rozdělit vodorovně nebo svisle nebo obojí najednou.

3.8.1. Rozdělit panely vodorovně

Chcete-li panel rozdělit vodorovně, stiskněte Ctrl+b a " (jednoduché uvozovky).

K dalšímu rozdělení panelů použijte stejnou kombinaci kláves.

3.8.2. Rozdělit panely svisle

Chcete-li panel rozdělit svisle, stiskněte Ctrl+b a % .

3.8.3. Rozdělit panely vodorovně a svisle

Panel můžeme také rozdělit vodorovně a svisle současně. Podívejte se na následující snímek obrazovky.

Nejprve jsem provedl vodorovné rozdělení stisknutím Ctrl+b " a poté spodní panel vertikálně rozdělte stisknutím Ctrl+b % .

Jak vidíte na výše uvedeném snímku obrazovky, v každém panelu spouštím tři různé programy.

3.8.4. Přepínání mezi panely

Chcete-li přepínat mezi panely, stiskněte Ctrl+b a klávesy se šipkami (doleva, doprava, nahoru, dolů) .

3.8.5. Odeslat příkazy do všech podoken

V předchozím příkladu spustíme v každém panelu tři různé příkazy. Je však také možné spustit odesílání stejných příkazů do všech podoken najednou.

Chcete-li tak učinit, stiskněte Ctrl+b a zadejte následující příkaz a stiskněte ENTER :

:setw synchronize-panes

Nyní zadejte libovolný příkaz na libovolném panelu. Uvidíte, že stejný příkaz se projeví na všech panelech.

3.8.6. Vyměňte podokna

Chcete-li prohodit panely, stiskněte Ctrl+b a o .

3.8.7. Zobrazit čísla podoken

Stiskněte Ctrl+b a q pro zobrazení čísel podoken.

3.8.8. Zabít panely

Chcete-li panel vypnout, jednoduše napište exit a ENTER klíč. Případně stiskněte Ctrl+b a x . Zobrazí se potvrzovací zpráva. Stačí stisknout "y" zavřete podokno.

4. Přiblížit a oddálit panely Tmux

Panely Tmux můžeme přiblížit tak, aby se vešly do plné velikosti aktuálního okna terminálu pro lepší viditelnost textu a pro zobrazení většího obsahu.

Je to užitečné, když potřebujete více místa nebo se zaměřit na konkrétní úkol. Po dokončení tohoto úkolu můžete oddálit (zrušit přiblížení) podokno Tmux zpět do jeho normální polohy. Více podrobností v následujícím odkazu.

  • Jak přiblížit panely Tmux pro lepší viditelnost textu

5. Automatické spuštění relací Tmux

Při práci se vzdálenými systémy přes SSH je vždy dobrým zvykem spouštět dlouho běžící proces uvnitř relace Tmux.

Zabraňuje totiž tomu, abyste ztratili kontrolu nad běžícím procesem, když náhle přestane fungovat síťové připojení.

Jedním ze způsobů, jak se tomuto problému vyhnout, je automatické spouštění relací Tmux. Další podrobnosti naleznete na následujícím odkazu.

  • Automatické spuštění relace Tmux na vzdáleném systému při přihlášení přes SSH

Závěr

V této příručce jsme diskutovali o použití příkazů Tmux s příklady. V této fázi získáte základní představu o nástroji příkazového řádku Tmux a o tom, jak používat Tmux ke správě více relací terminálu. Další podrobnosti naleznete na manuálových stránkách.

$ man tmux

Oba nástroje GNU Screen a Tmux mohou být velmi užitečné při vzdálené správě serverů přes SSH. Naučte se důkladně příkazy Screen a Tmux, abyste mohli spravovat své vzdálené servery jako profesionál.


Linux
  1. Jak tmux vyvolává radost ve vašem linuxovém terminálu

  2. Sdílení relací terminálu Linux pomocí Tmux a obrazovky

  3. Pomocí příkazu obrazovky můžete spravovat terminálové relace v Ubuntu 20.04

  1. Odesílejte příkazy do více relací SSH pomocí Terminátora

  2. Linuxové příkazy – přehled a příklady

  3. Použití Irssi v linuxové tmux relaci

  1. Přizpůsobení mého linuxového terminálu pomocí tmux a Git

  2. Cheat Sheet pro příkazy Linuxu:S příklady

  3. Jak nahrávat a přehrávat linuxové terminálové relace pomocí příkazů „script“ a „scriptreplay“.