A tökéletes tmux puskalap: Parancsok, gyorsbillentyűk és haladó munkafolyamatok

tmux puskalap
  • A tmux lehetővé teszi a multitaskingot a munkamenetek, ablakok és panelek hatékony kezelésével.
  • A fejlett funkciók, mint például a panelek szinkronizálása és a munkamenet-megőrzés, megakadályozzák a munkafolyamatok megszakítását.
  • Az egyéni konfigurációk és bővítmények lehetővé teszik, hogy a tmux bármilyen munkafolyamathoz vagy környezethez illeszkedjen.

Több terminál-munkamenet kezelése fejfájást okozhat, különösen akkor, ha a munkafolyamat SSH-munkamenetek közötti ugrást, hosszú folyamatok futtatását vagy gépek közötti együttműködést foglal magában. Íme a tmux , egy nélkülözhetetlen terminál-multiplexer, amely lehetővé teszi, hogy okosabban, ne pedig keményebben dolgozz a parancssoron belül.

Ha valaha is megszakadt a terminálkapcsolatod SSH-kapcsolat megszakadása miatt, vagy gondot okozott több napló egyidejű megtekintése, a tmux a megoldás. Ez a gyorstalpaló messze túlmutat az alapokon, és naprakész, felhasználóbarát áttekintést nyújt mindarról, amit a tmux képes csinálni – így soha többé nem kell parancsokat keresgélned.

Mi is pontosan a tmux?

A Tmux a „terminál multiplexer” rövidítése – de mit is jelent ez valójában a mindennapi munkád szempontjából? Röviden, lehetővé teszi több terminálkörnyezet létrehozását, kezelését és navigálását egyetlen ablakból vagy egyetlen SSH-kapcsolaton keresztül. Ha szeretnéd megtudni, hogyan javíthatod a terminál munkafolyamatodat, érdekelhet ez az útmutató is a Linux terminál funkcióiról Androidon.

A tmux segítségével a következőket teheti:

  • Több shell és program futtatása extra terminálok vagy fülek megnyitása nélkül.
  • Leválasztás egy munkamenetből, kijelentkezés, és később újra csatolni—akár egy másik gépről is — anélkül, hogy bármilyen folyamat elveszne.
  • Oszd fel a terminált több panelre naplók nézésére, kód szerkesztésére és rendszererőforrások egyidejű monitorozására.
  • Hosszú ideig futó feladatok megőrzése az aktuális kapcsolattól vagy ablaktól függetlenül.
  • Testreszabhatja munkafolyamatát konfigurálható billentyűkombinációkkal, egértámogatással és hatékony szkripteléssel.

Ha fejlesztő, rendszergazda, DevOps mérnök vagy bárki más, aki a CLI világában boldogul, a tmux rugalmasságot, ellenálló képességet és hatékonyságot kínál az Ön kezében.

Miért veri a tmux a versenytársakat?

A Tmux gyors, stabil, és minden Unix-szerű operációs rendszeren (Linux, macOS, BSD és még a WSL Windows rendszeren is) működik. Ideális távoli munkához, közös kódoláshoz és szerverek grafikus felhasználói felület nélküli kezeléséhez. A grafikus multiplexerekkel ellentétben a tmux nem függ X szervertől vagy nehéz asztali környezettől, így tökéletes headless szerverekhez vagy felhőalapú virtuális gépekhez.

A legfontosabb előnyök közé tartozik:

  • Azonnali helyreállítás a leválasztott SSH-munkamenetek után.
  • Távoli együttműködési funkciók páros programozáshoz vagy csapatos hibakereséshez.
  • Szkriptelhetőség összetett munkafolyamatok automatizálásához.
  • Rendkívül testreszabható – tetszés szerint módosíthatod az állapotsorokat, módosíthatod a billentyűparancsokat és engedélyezhetsz bővítményeket.

tmux terminológia: Ismerje meg a kulcsfogalmakat

  • Ülés: Képzeljen el egy „munkaterületet”, amely egyben tartja az ablakokat és az ablaktáblákat. Minden munkamenet állandó, és függetlenül attól létezik, hogyan tekinti meg.
  • ablak: Egyetlen lap egy munkameneten belül, amely egy vagy több panelt tartalmaz. Minden ablak általában egy feladatot jelöl (kód szerkesztése, parancsértelmező futtatása).
  • Ablaktábla: Egy ablakon belüli osztott terület – képzeljen el egymás melletti vagy egymásra halmozott ablaktáblákat, amelyek között mozgathat. Az ablaktáblák kiválóak a multitaskinghoz.
  • Ügyfél: Az a terminál, amellyel éppen kommunikálsz. Több kliens is csatlakozhat ugyanahhoz a munkamenethez (pl. együttműködés céljából).
  • Szerver: A tmux háttérfolyamat fut, és kezeli az összes munkamenetet, ablakot és panelt.

tmux telepítése platformok között

A legtöbb modern Linux disztribúció és macOS verzió vagy tartalmazza a tmuxot, vagy a kívánt csomagkezelővel egyszerűvé teszi a telepítést:

  • Debian/Ubuntu/Kali: sudo apt update && sudo apt install tmux
  • Fedora: sudo dnf -y install tmux
  • CentOS/RHEL7: sudo yum -y install tmux
  • Arch Linux: sudo pacman -S tmux
  • Alpesi: sudo apk add tmux
  • macOS (Homebrew-vel): brew install tmux

Ellenőrizd a telepített verziót: tmux -VMindig ellenőrizze a verzióját, ha olyan környezetekben dolgozik, ahol a funkciók eltérőek lehetnek (a 3.0-s verziónál korábbi verziókból hiányoznak bizonyos speciális funkciók, például a panelek szinkronizálása).

A tmux indítása: Az első munkamenet

Indítsd el a tmuxot a következővel: tmux

Ez elindít egy új munkamenetet, és egyenesen belekerülsz. Egy színes állapotsávot fogsz látni – gratulálok, most már a tmuxban vagy!

Profi tipp: Ha egy adott névvel ellátott munkamenetet szeretne létrehozni, ami megkönnyíti a kezelését:

tmux new -s mysession

Innentől kezdődik az igazi varázslat.

TMUX csalólap

tmux munkamenet-kezelés: Minden szükséges lépés

A munkamenetek a tmux középpontjában állnak. Itt mindent megtalálsz, amire szükséged van a munkamenetek egyszerű létrehozásához, listázásához, csatolásához és törléséhez.

  • Munkamenet létrehozása: tmux or tmux new or tmux new-session
  • Hozz létre egy elnevezett munkamenetet: tmux new -s <name>
  • Az összes munkamenet listázása: tmux ls
  • Csatolás az utolsó foglalkozáshoz: tmux a or tmux attach
  • Kapcsolódás egy adott munkamenethez: tmux a -t <name>
  • Nevezze át az aktuális munkamenetet (a tmux-on belül): Ctrl+b $ (majd írd be az új nevet)
  • Leválasztás egy munkamenetről: Ctrl+b d
  • Munkamenet leállítása: tmux kill-session -t <name>
  • Ölj meg mindenkit, kivéve a jelenlegit: tmux kill-session -a
  • Ölj meg mindenkit, kivéve egy adottat: tmux kill-session -a -t <name>

Az összes információ megtekintése: tmux info (munkamenetek, ablakok, panelek megjelenítése)
Gyorsbillentyűk listája: tmux list-keys | less

Android 17 Linux Terminál: Teljes útmutató az új funkciókhoz, testreszabásokhoz és a haladó felhasználóknak szóló frissítésekhez

Ablaktáblák, ablakok és elrendezések: a tmux titkos receptje

Windows: A munkafolyamatok rendszerezése

  • Hozz létre egy ablakot: Ctrl+b c
  • Nevezd át az aktuális ablakot: Ctrl+b ,
  • Ablakok listázása: Ctrl+b w
  • Ugrás az előző/következő ablakra: Ctrl+b p (előző), Ctrl+b n (következő)
  • Aktív ablak bezárása: Ctrl+b & (megerősítést fogok kérni)
  • Ablakok cseréje/áthelyezése: Ctrl+b :swapw -s 0 -t 2 (felcseréljük a 0. és 2. ablakot), Ctrl+b :swapw -t -1 (balra lépés)
LÁSD MÉG  Mi az a Scratch és mire való?

Ajánlott gyakorlat: Adjon az ablakoknak értelmes neveket (pl. nmap, jegyzetek, naplók) a jobb áttekinthetőség érdekében.

Panelek: Tökéletes multitasking

  • Függőleges felosztás: Ctrl+b %
  • Vízszintes felosztás: Ctrl+b "
  • Váltás a panelek között: Ctrl+b o
  • Következő/előző panel: Ctrl+b ; (az utolsó aktív ki-/bekapcsolása), Ctrl+b nyílbillentyűkkel mozoghatsz
  • Ablaktábla számozásának megjelenítése és váltása: Ctrl+b q, majd írd be a számot
  • Nagyítás/kikapcsolás: Ctrl+b z
  • Az aktuális ablaktábla új ablakba alakítása: Ctrl+b !
  • Üss ki egy ablaktáblát: Ctrl+b x
  • Ablaktábla mozgatása balra/jobbra: Ctrl+b { (balra), Ctrl+b } (jobbra)
  • Elrendezések váltása: Ctrl+b spacebar
  • Panelek átméretezése: Ctrl+b :resize-pane -L 5 (-B/-J/-F/-D az irányhoz és a lépések számához)

További elrendezések: Használd a „Meta” billentyűt (általában Alt or Esc) plusz számok az előre definiált elrendezések közötti váltáshoz: Meta 1 (függőleges), Meta 2 (vízszintes), Meta 3 (fő panel felül), Meta 4 (a bal oldali főablak), Meta 5 (csempézett).

Másolási mód és pufferek: Turbózd fel a terminál vágólapját

A tmux segítségével egyszerűen másolhatunk és beilleszthetünk a terminálon belül, még akkor is, ha sok szöveg görgetődik el mellettünk.

  • Lépjen be a másolási módba: Ctrl+b
  • Keresés előre/hátra: / or ?, ismételje meg a következővel: n or N
  • Az összes puffer megjelenítése: Ctrl+b :list-buffers
  • Puffer mentése fájlba: Ctrl+b :save-buffer
  • Puffer törlése: Ctrl+b :delete-buffer -b

Tipp: Másolás módban vi stílusú navigációhoz add hozzá ezt a következőhöz: ~/.tmux.conf: setw -g mode-keys vi

Szöveg közvetlen rögzítése egy panelről: https://www.ikkaro.net/how-to-program-arduino-with-python/

Ez a funkció felbecsülhetetlen értékű a naplók rögzítéséhez, a parancsok kimenetének mentéséhez és a szöveg gond nélküli másolásához ablaktáblák vagy ablakok között.

tmux konfiguráció: Személyre szabhatja munkafolyamatát

Az ~/.tmux.conf konfigurációs fájl segítségével teljes mértékben kihasználhatja a tmux lehetőségeit. Néhány gyakori beállítás közé tartozik az előtagkulcs módosítása, a felosztások újraleképezése és az állapotsor testreszabása. Íme néhány lényeges példa:

  • Az alapértelmezett előtag módosítása a következőről: Ctrl+b nak nek Ctrl+a (hasznos, ha a GNU Screen-ről érkezel):
    unbind C-b
    set -g prefix C-a
  • Újrafelosztások:
    unbind '"'
    bind - split-window -v (használat -v függőleges felosztáshoz)
  • Függőleges felosztás beállítása erre: | és vízszintesen -:
    unbind %
    bind | split-window -h
  • Vi kulcsok engedélyezése másolási módban:
    setw -g mode-keys vi
  • Az állapotsor testreszabása:
    set -g status-justify
    set -g status-left '...' (munkamenet neve vagy adatai)
  • Ablakcímek formázása (például színekkel):
    setw -g window-status-format '##I'
  • Konfiguráció újratöltése élőben:
    tmux source-file ~/.tmux.conf

Ha vissza kell állítania az alapértelmezett beállításokat, egyszerűen törölje ~/.tmux.conf és indítsd újra a tmuxot.

Speciális funkciók: Ablaktáblák szinkronizálása és távoli hozzáférés

Ablaktáblák szinkronizálása

Ez a funkció lehetővé teszi, hogy ugyanazokat a billentyűleütéseket egyszerre küldd el az összes ablaktáblára. Ideális ugyanazon parancs több távoli gépen történő futtatásához:

  • Engedélyezése: Ctrl+b :setw synchronize-panes on
  • Ki: Ctrl+b :setw synchronize-panes off

Használat: Oszd fel az ablakot, SSH-zással lépj be az egyes panelekre, kapcsold be a szinkronizálást, és bármit is írsz be, az egyszerre mindegyikben megjelenik. A munkafolyamat jobb kezelése érdekében a TFT kijelzőkkel kapcsolatos információkat is megtekintheted.

Vigyázat: Ellenőrizd, hogy mely panelek aktívak, hogy elkerüld a véletlen parancsokat, mivel azok mindegyikbe elküldésre kerülnek.

Távoli hozzáférés és együttműködés

A tmux munkamenetek megoszthatók különböző terminálok között, akár hálózaton keresztül is. Ha a szervereden indítasz egy munkamenetet, lecsatlakozhatsz, hazamehetsz, majd később egy másik gépről újracsatlakozhatsz, és pontosan ott folytathatod, ahol abbahagytad.

LÁSD MÉG  Mi az aMule? Teljes körű útmutató egy hatékony, platformfüggetlen P2P klienshez

Valós idejű együttműködés: Több felhasználó is csatlakozhat ugyanahhoz a munkamenethez, ami hasznos a megosztott hibakereséshez, tanításhoz vagy páros programozáshoz. A megosztott rendszereken az adatvédelem érdekében egyéni socketek segítségével elkülönítheti a munkameneteket.

Izolált aljzatok

  • Munkamenet indítása egyéni soketen:
    tmux -S /tmp/.mysocket new -s mysession
  • Csatlakoztasd ehhez az aljzathoz:
    tmux -S /tmp/.mysocket a

Ez nagyon hasznos a működési biztonság szempontjából penetrációs tesztelésnél, többfelhasználós környezetekben, vagy ha nem szeretné, hogy a munkamenetek megjelenjenek a piso WiFi- n.

tmux párosítása SSH-val: Megszakítás nélküli munkafolyamat

A leválasztható munkamenetek valódi előnyt jelentenek. Több SSH munkamenet kezelése egyszerűvé válik:

  • Hozz létre egy ablakot SSH célpontonként: tmux new -s engagement -n host1
  • Minden ablakban nyisd meg az SSH-kapcsolatodat: ssh user@remotehost
  • Szükség szerint adj hozzá további ablakokat (Ctrl+bc), és az áttekinthetőség kedvéért nevezd át mindegyiket a gazdagépükről.
  • Leválasztás (Ctrl+b d) amikor csak vissza szeretnél térni a shellbe. Minden SSH munkamenet megmarad, biztonságosan a tmuxon belül tárolva.
  • Csatlakozz később újra ehhez: tmux a -t engagement

Egér támogatás és felhasználói élmény fejlesztések

Engedélyezheti az egér támogatását a szöveg kijelöléséhez, az ablaktáblák átméretezéséhez, valamint az ablakok vagy panelek közötti váltáshoz:

  • Adja hozzá ezeket a parancsokat a ~/.tmux.conf szükség szerint:
  • set -g mouse on (alap egértámogatás)
  • set -g mouse-select-pane on
  • set -g mouse-resize-pane on
  • set -g mouse-select-window on

Gyakori munkafolyamat-példák

Hosszan futó feladat indítása és folytatása

  • Munkamenet létrehozása: tmux new -s mytask
  • Futtassa a szkriptet vagy programot benne.
  • Válassza le, ha be kell zárnia a terminált: Ctrl+b d
  • Bármikor újracsatlakozhat: tmux a -t mytask

Több projekt kezelése

  • Projektenként egy foglalkozás: tmux new -s webapp, tmux new -s mlpipeline
  • Mindegyiken belül több ablak és panel található a kódhoz, a naplókhoz és a monitorozáshoz.

Munkamenet-tisztítás: Nem maradnak nyomok

  • Nem kívánt munkamenetek eltávolítása: tmux kill-session -t oldsession
  • Az összes eltávolítása a jelenlegi kivételével: tmux kill-session -a
  • Régi aljzatok eltávolítása: rm /tmp/.oldsocket

Jó OPSEC: Mindig tisztítsa meg a munkameneteket és a socketeket, különösen megosztott rendszereken vagy érzékeny munka után.

Biztonsági és termelékenységi tippek

  • A tmux felbecsülhetetlen értékű a biztonsági szakemberek számára: a fordított shell aktívan tartása, a feltörési feladatok kezelése a kapcsolat megszakadásától való félelem nélkül, és több ugróhoszt biztonságos kezelése.
  • Szinkronizálja a paneleket a parancsok sugárzásához vagy a több gépen történő auditáláshoz, de a hibák elkerülése érdekében azonnal kapcsolja ki utána.
  • Felhasználás csőtábla egy panel kimenetének folyamatos naplóba mentése (például megfelelőségi, jelentéskészítési vagy hibakeresési célokból):
    Ctrl+b :pipe-pane 'cat >> ~/session.log'
  • Tartsd meg ~/.tmux.conf hordozható fájl. Fontold meg az exportálását vagy a dotfiles segítségével történő kezelését, így bárhol újra létrehozhatod a munkafolyamatodat.

tmux bővítmények: Még tovább bővítik a funkcionalitást

A tmux mindenféle bővítményt támogat, a munkamenet-kezeléstől kezdve az elegáns állapotsávokig. Telepítse a Tmux Plugin Managert (TPM), és böngésszen a bővítmények között, például:

  • tmux-érzékeny – értelmes alapértelmezések kezdőknek
  • tmux-feltámasztás – tmux környezet visszaállítása újraindítás után
  • tmux-continuum – az állapotod folyamatos mentése
  • tmux-yank – javítja a vágólap integrációját

Gyakran ismételt kérdések

  • Hogyan indítsam el a tmuxot? Csak gépelj tmux a termináljában.
  • Megoszthatok egy munkamenetet két számítógép között vagy egy kollégámmal? Igen! Mindkét felhasználó csatlakozhat ugyanahhoz a munkamenethez, és élőben együttműködhet.
  • Hogyan tudom átprogramozni a billentyűparancsokat? Szerkesztéssel ~/.tmux.conf, bármelyik kulcsot újradefiniálhatod és újratöltheted.
  • Hogyan állíthatok helyre egy munkamenetet SSH-kapcsolat leválasztása után? Újracsatlakozás után futtassa tmux ls az aktív munkamenetek listázásához, majd tmux attach -t .
  • Hogyan tudom engedélyezni/letiltani az egér támogatását? Adja hozzá vagy távolítsa el set -g mouse on a konfigurációdban, és töltsd be újra.

Egy teljes tmux puskalap átalakíthatja a terminálon végzett munka módját. Akár rendszergazda vagy, aki távoli szervereket kezel, akár fejlesztő, aki a munkafolyamatát szeretné egyszerűsíteni, akár kiberbiztonsági szakember, aki incidensekre reagál, a tmux páratlan rugalmasságot és teljesítményt kínál. A fenti stratégiákkal, parancsokkal és tippekkel magabiztosan és gyorsan megbirkózhatsz bármilyen terminálfeladattal.

Írj hozzászólást