GNU/Linux >> Linux Esercitazione >  >> Linux

Guida introduttiva a Tmux [Guida per principianti]

Con tmux puoi creare più sessioni di terminale che possono essere aperte (allegate) e chiuse (scollegate) o visualizzate contemporaneamente, tutte da un'unica finestra.

Imparare a utilizzare un multiplexer di terminale ti farà risparmiare un sacco di mal di testa se trascorri molto tempo nel terminale. Ciò è particolarmente vero se il tuo lavoro prevede l'accesso a macchine remote solo tramite riga di comando.

Schermo vs tmux

Tmux è considerato il prossimo passo avanti evolutivo rispetto al multiplexer GNU Screen.

Se sei abituato al comando dello schermo, sarà facile iniziare subito. Ci sono molte somiglianze tra le due applicazioni. Abbiamo avuto un'ottima risposta al nostro articolo sui comandi dello schermo e credo che i nostri lettori apprezzeranno davvero l'utilizzo di alcune delle funzionalità aggiornate di tmux.

Se sei già a tuo agio con il comando dello schermo, puoi scansionare rapidamente questo articolo per le differenze. Per alcuni comandi, posso evidenziare somiglianze o differenze. A parte queste note, questo articolo non presuppone alcuna conoscenza precedente.

Se sei un po' perso e non sai ancora di cosa tratta questo articolo, va benissimo. Analizzeremo tutto insieme. Ti mostrerò come installare tmux e come eseguire le operazioni di base.

Installa tmux

Tmux è un'applicazione popolare e dovrebbe essere disponibile nel repository ufficiale della tua distribuzione Linux. Puoi installarlo utilizzando il pacchetto Manage della tua distribuzione.

Sulle distribuzioni basate su Debian e Ubuntu, puoi installarlo usando il seguente comando:

sudo apt install tmux

Guida introduttiva a tmux

Come abbiamo accennato, tmux è un'ottima applicazione per renderti più produttivo. È un potente software, ma può creare un po' di confusione per iniziare.

Ti guiderò attraverso le funzionalità critiche una alla volta. Il mio obiettivo è quello di facilitarti e mostrarti le funzionalità di base. Ci sono così tanti modi per personalizzare tmux, che non saremo in grado di coprire tutto in questo articolo. Se sei curioso di leggere un articolo su caratteristiche e funzionalità avanzate, faccelo sapere nella sezione commenti!

Crea una sessione in tmux

Apri un terminale e usa il seguente comando:

[email protected]:~$ tmux

Questo dovrebbe portarti in tmux. Vedrai un prompt dei comandi come al solito, ma ora vedrai un menu di stile della barra delle applicazioni nella parte inferiore del terminale che dirà qualcosa come bash 0 *. L'asterisco indica che questa è la tua finestra attiva .

Creiamo un paio di finestre tra le quali puoi passare. Puoi farlo usando il prefisso [ctrl + b] + c .

Dovresti vedere sulla barra delle applicazioni qualcosa chiamato 1:bash è stato aggiunto. Aggiungiamone altri due prima di continuare ulteriormente.

Ora dovrebbe assomigliare allo screenshot qui sotto. Dovresti avere un totale di quattro nuove finestre di terminale (vedrai solo una finestra alla volta).

Il nome della finestra automatica

Tmux può effettivamente identificare determinati programmi e rinominare automaticamente le tue finestre (se non avevi chiamato la tua finestra in modo esplicito). Ad esempio, se esegui il comando top in una finestra, noterai che il nome della finestra viene cambiato da bash a top.

Session vs Window vs Pane (split) in tmux

Prima di andare oltre, dovresti conoscere la differenza tra sessione, finestra e riquadro in tmux.

Considera le sessioni come taccuini, le finestre come capitoli e i riquadri come pagine.

Una sessione può avere più finestre. Una finestra è fondamentalmente un terminale. È possibile dividere una finestra tra più riquadri verticali e orizzontali. Ciò significa che una finestra di terminale può contenere più terminali.

È possibile creare una sessione tmux per un argomento/progetto specifico. Ad esempio, se gestisci tre server, potresti creare una sessione per ciascun server per eseguire attività. Utilizzare una finestra per monitorare le risorse di sistema e un'altra per eseguire alcune attività di manutenzione. La finestra di monitoraggio del sistema può avere più riquadri per monitorare l'utilizzo di memoria, CPU e disco.

Passaggio da una finestra all'altra in una sessione tmux

Ricorda che ctrl+b (simultaneamente) è come il tuo tasto "tmux". Dice al software che vuoi inserire un comando. Guarda la tabella qui sotto per iniziare a navigare nell'interfaccia di tmux.

Precedente Avanti n (0, 1, 2, 3 ecc.)
[ctrl + b] + p [ctrl + b] + n Passa a n Finestra:[ctrl + b] + 0

Ora puoi spostarti "avanti e indietro" o selezionare un'istanza specifica in base al suo numero ID. Prova queste cose finché non ti senti a tuo agio.

Pronto? Eccezionale. Diamo un'occhiata ad alcune delle altre funzionalità.

NOTA:se sei un utente esperto di Screen, potresti essere abituato a utilizzare il prefisso [ctrl + a]. La modifica del file di configurazione ti consentirà di modificare il prefisso, se lo desideri. In realtà ho scoperto che la combinazione di tasti alternativi ha migliorato la mia efficienza, ma capisco anche che le vecchie abitudini sono difficili da rompere.

Cambia utilizzando l'elenco delle finestre

Un'altra opzione usa [ctrl+b] + w. Questo ti dà una panoramica visiva delle sessioni. È possibile utilizzare i tasti freccia per selezionare le finestre/riquadri desiderati.

Nomina o rinomina le finestre in tmux

Puoi assegnare un nome alla finestra corrente con la seguente combinazione di tasti:

[ctrl+b] + ,

Assegna un nome alla tua sessione tmux

Potresti trovare utile nominare le tue sessioni con titoli significativi per mantenere le cose organizzate. Proviamo a nominare la tua prima sessione con tmux.

Puoi nominarlo come vogliamo, ma in questo caso lo chiamerò libero. Immettere il seguente comando:

tmux new -s free

Ora dovresti avere una nuova sessione di tmux in esecuzione. Se guardi nell'area in basso a sinistra della finestra, vedrai il nome della tua sessione anziché il generico "bash".

Se hai già creato una sessione, puoi nominarla o rinominarla utilizzando la seguente combinazione di tasti:

[ctrl+b] + $

Scollega una sessione (esci dalla sessione di tmux ma mantienila in esecuzione in background )

Prima di continuare, iniziamo a correre gratuitamente con il comando watch che aggiornerà i risultati ogni 2 secondi.

watch free

Se non hai familiarità con free o watch, ti consiglio di controllare watch e free command. La conoscenza delle loro funzionalità, tuttavia, non è essenziale per utilizzarli con tmux.

Ok, quindi una volta iniziato il programma, vai avanti e stacca la sessione. Usa questa combinazione di tasti:

[ctrl + b] + d

Questo dovrebbe riportarti a un prompt dei comandi standard. Tieni presente che la sessione di tmux è ancora in esecuzione in background e puoi inserirla di nuovo quando vuoi.

Elenca le sessioni di tmux

Cos'è successo alla tua sessione? È ancora in esecuzione in background. Puoi riaprire la sessione per nome o per numero ID, ma cosa succede se dimentichi il nome della sessione?

C'è una funzione di elenco incorporata in tmux:

tmux ls

Questo elencherà tutte le tue sessioni tmux correnti. L'esecuzione produrrà un output come questo:

[email protected]:~$ tmux ls
free: 1 windows (created Sat Feb 29 03:16:31 2020) [80x23]

Come puoi vedere, elenca anche quante finestre ha una sessione.

Rientra in una sessione in Tmux (noto anche come attach)

Per riaprire la tua sessione tmux puoi usare il comando tmux con l'opzione attach o attach-session in questo modo:

tmux attach -t session_name_or_number

Ecco un'animazione che mostra tutti questi passaggi fino a questo punto della dimostrazione.

Creazione di più riquadri in tmux

Ora che hai compreso le nozioni di base, puoi andare oltre e creare più riquadri.

Orizzontale (sinistra/destra) Verticale (Su/Giù)
[ctrl + b] + % [ctrl + b] + “

Facciamo un po' di pratica con questi comandi creando una divisione verticale seguita da una divisione orizzontale.

[ctrl + b] + " 
[ctrl + b] +  %

Se hai inserito i comandi in quest'ordine, dovresti avere tre riquadri che assomigliano a questo:

Puoi usare [ctrl+b] + tasto spazio per alternare il layout del riquadro attualmente attivo.

Commutazione tra i riquadri

Per passare da uno split all'altro puoi usare il prefisso tmux [ctrl+b] + i tasti freccia.

[ctrl+b] + arrow keys

Questo ciclo i riquadri nella direzione scelta. Il riquadro selezionato verrà evidenziato in verde.

Esegui lo zoom in un riquadro

Puoi anche "zoom" in un riquadro selezionato con [ctrl+b] + z. Questo porterà lo schermo selezionato a schermo intero. Per uscire dalla modalità zoom, premi di nuovo [ctrl+b] + z.

Uccidere o chiudere riquadri

Questo è importante. Puoi chiudere un riquadro (split) utilizzando il prefisso [ctrl + b] + x.

Ti chiederà la conferma:

kill-pane 0? (y/n)

Uccidere o chiudere Windows in tmux

Per chiudere la finestra corrente (schede), utilizzare:

[ctrl + b] + &

Ti chiederà conferma:

kill-window window_name? (y/n)

Sessioni di uccisione in tmux

Per terminare la sessione tmux corrente che stai utilizzando, dovrai prima uccidere tutte le finestre. Non è molto conveniente, vero?

Puoi uccidere selettivamente una sessione tmux usando il suo nome o numero in questo modo:

tmux kill-session -t session_name_or_number

Ucciderà la sessione anche se sei all'interno della sessione.

Se vuoi terminare tutta la sessione tranne quella che stai attualmente utilizzando (o l'ultima che hai utilizzato), usa questo comando:

tmux kill-session -a

Per terminare tutte le sessioni di tmux in una volta, puoi usare questo comando magico:

tmux kill-server

Scarica il cheat sheet di tmux

Hai imparato le basi di tmux ma ricordare tutti i comandi non è facile, specialmente all'inizio. Questo è il motivo per cui sto riassumendo tutti i comandi nella tabella seguente. Puoi anche scaricarlo in formato PDF.

Comando Spiegazione
tmux Inizia nuova sessione
tmux new -s nome Inizia nuova sessione con nome
tmux ls Elenca tutte le sessioni
tmux kill-session -t nome Uccidi la sessione menzionata
tmux kill-session -a Chiudi tutte le sessioni tranne l'ultima sessione utilizzata
tmux kill-server Chiudi tutte le sessioni di tmux
tmux attach -t nome Allega/accedi alla sessione menzionata
[Ctrl +b] + d Scollega/chiudi la sessione corrente
[Ctrl +b] + $ Nomina o rinomina la sessione corrente
[Ctrl +b] + c Crea nuova finestra
[Ctrl +b] + , Nomina o rinomina la finestra corrente
[Ctrl +b] + w Elenca tutte le finestre
[Ctrl +b] + & Chiudi la finestra corrente
[Ctrl +b] + n/p/N Sposta alla finestra successiva/precedente/ennesima
[Ctrl +b] + % Crea riquadro orizzontale
[Ctrl +b] + “ Crea riquadro verticale
[Ctrl +b] + tasto spazio Attiva/disattiva il layout del riquadro corrente
[Ctrl +b] + z Esegui lo zoom nel riquadro corrente
[Ctrl +b] + x Chiudi il riquadro corrente
Tmux cheatsheetScorciatoie da tastiera per l'utilizzo di tmuxtmux-cheatsheet.png475 KB

Conclusione

Grazie per aver seguito la nostra introduzione a tmux. Come puoi vedere ci sono un'ampia varietà di applicazioni. Spero che questa panoramica di base ti abbia dato alcune idee su come utilizzare tmux per migliorare il tuo flusso di lavoro.

Come sempre, se hai domande, lasciale qui sotto nella sezione commenti.


Linux
  1. Iniziare con GnuCash

  2. Iniziare con Zsh

  3. Iniziare con ls

  4. Iniziare con Samba per l'interoperabilità

  5. Iniziare con PostgreSQL su Linux

Iniziare con Nix Package Manager

Iniziare con systemctl

Guida introduttiva a Nano Text Editor [Guida per principianti]

Guida introduttiva a Markdown [Guida per principianti]

Guida introduttiva al comando SED [Guida per principianti]

Guida introduttiva al comando AWK [Guida per principianti]