« Logiciels terminal » : différence entre les versions

Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
== duf ==
=== '''🛠️ <code>duf</code> ''' ===
Afficher des informations sur l'utilisation des disques (<code>df -h</code>)
Afficher des informations sur l'utilisation des disques (<code>df -h</code>)
<syntaxhighlight lang="bash" line copy>
<syntaxhighlight lang="bash" line copy>
Ligne 18 : Ligne 18 :


==== voir aussi commande <code>dust</code> (snap) ====
==== voir aussi commande <code>dust</code> (snap) ====
=== '''🛠️ <code>tmux</code> ?''' ===
'''<code>tmux</code>''' (Terminal Multiplexer) est un outil en ligne de commande qui permet de '''gérer plusieurs sessions, fenêtres et panneaux''' dans un seul terminal. Il est très utile pour : - Travailler sur plusieurs tâches en parallèle sans ouvrir plusieurs terminaux. - Garder des processus actifs même après la déconnexion (idéal pour les serveurs distants). - Partager une session entre plusieurs utilisateurs (collaboration).
-----
<span id="installation-de-tmux"></span>
=== '''📥 Installation de <code>tmux</code>''' ===
<ul>
<li><p>'''Debian/Ubuntu''' :</p>
<syntaxhighlight lang="sh">sudo apt install tmux</syntaxhighlight></li>
<li><p>'''Fedora/RHEL''' :</p>
<syntaxhighlight lang="sh">sudo dnf install tmux</syntaxhighlight></li>
<li><p>'''Arch Linux''' :</p>
<syntaxhighlight lang="sh">sudo pacman -S tmux</syntaxhighlight></li>
<li><p>'''macOS''' (via Homebrew) :</p>
<syntaxhighlight lang="sh">brew install tmux</syntaxhighlight></li></ul>
-----
<span id="utilisation-de-base"></span>
=== '''🎯 Utilisation de base''' ===
<span id="démarrer-une-session"></span>
==== '''1. Démarrer une session''' ====
<syntaxhighlight lang="sh">tmux</syntaxhighlight>
* Une nouvelle session nommée automatiquement (<code>0</code>, <code>1</code>, etc.) est créée.
<span id="détacher-une-session-quitter-sans-la-fermer"></span>
==== '''2. Détacher une session (quitter sans la fermer)''' ====
* Appuyer sur '''<code>Ctrl + B</code>''', puis '''<code>D</code>'''.
* La session continue de tourner en arrière-plan.
<span id="lister-les-sessions-actives"></span>
==== '''3. Lister les sessions actives''' ====
<syntaxhighlight lang="sh">tmux ls</syntaxhighlight>
Exemple :
<pre>0: 1 windows (created Tue May 17 10:00:00 2024)
1: 3 windows (created Tue May 17 11:30:00 2024)</pre>
<span id="rejoindre-une-session-existante"></span>
==== '''4. Rejoindre une session existante''' ====
<syntaxhighlight lang="sh">tmux attach -t 0  # Se connecte à la session 0</syntaxhighlight>
<span id="fermer-une-session"></span>
==== '''5. Fermer une session''' ====
<ul>
<li><p>Dans la session, taper :</p>
<syntaxhighlight lang="sh">exit</syntaxhighlight>
<p>ou utiliser '''<code>Ctrl + D</code>'''.</p></li></ul>
-----
<span id="gestion-des-fenêtres-windows"></span>
=== '''🖥️ Gestion des fenêtres (<code>windows</code>)''' ===
{| class="wikitable"
|-
! Commande (après <code>Ctrl + B</code>)
! Action
|-
| '''<code>C</code>'''
| Crée une nouvelle fenêtre
|-
| '''<code>N</code>'''
| Passe à la fenêtre suivante
|-
| '''<code>P</code>'''
| Passe à la fenêtre précédente
|-
| '''<code>0</code> à <code>9</code>'''
| Aller à la fenêtre 0-9
|-
| '''<code>&amp;</code>'''
| Fermer la fenêtre actuelle
|}
-----
<span id="gestion-des-panneaux-panes"></span>
=== '''📊 Gestion des panneaux (<code>panes</code>)''' ===
{| class="wikitable"
|-
! Commande (après <code>Ctrl + B</code>)
! Action
|-
| '''<code>%</code>'''
| Diviser verticalement
|-
| '''<code>&quot;</code>'''
| Diviser horizontalement
|-
| '''<code>Flèches</code>'''
| Naviguer entre panneaux
|-
| '''<code>X</code>'''
| Fermer le panneau actuel
|-
| '''<code>Z</code>'''
| Agrandir/réduire un panneau
|}
-----
<span id="personnalisation-fichier-.tmux.conf"></span>
=== '''🔧 Personnalisation (fichier <code>~/.tmux.conf</code>)''' ===
Exemple de configuration :
<syntaxhighlight lang="sh"># Activer la souris
set -g mouse on
# Changer le préfixe (Ctrl + A au lieu de Ctrl + B)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# Personnaliser la barre de statut
set -g status-bg blue
set -g status-fg white</syntaxhighlight>
→ Recharger avec '''<code>tmux source-file ~/.tmux.conf</code>'''.
-----
<span id="astuces-utiles"></span>
=== '''💡 Astuces utiles''' ===
<ul>
<li><p>'''Mode copier-coller''' :<br />
<code>Ctrl + B</code> + <code>[</code> → Naviguer avec les flèches, <code>Espace</code> pour sélectionner, <code>Entrée</code> pour copier.<br />
<code>Ctrl + B</code> + <code>]</code> pour coller.</p></li>
<li><p>'''Session nommée''' :</p>
<syntaxhighlight lang="sh">tmux new -s ma_session
tmux attach -t ma_session</syntaxhighlight></li>
<li><p>'''Partager une session''' (pair programming) :</p>
<syntaxhighlight lang="sh">tmux new -s shared
chmod 777 /tmp/tmux-$(id -u)/default  # Autoriser l'accès</syntaxhighlight>
<p>L’autre utilisateur peut se connecter avec :</p>
<syntaxhighlight lang="sh">tmux attach -t shared</syntaxhighlight></li></ul>
-----
<span id="pourquoi-utiliser-tmux"></span>
=== '''🔎 Pourquoi utiliser <code>tmux</code> ?''' ===
✅ '''Persistance''' : Les processus continuent même après déconnexion.<br />
✅ '''Productivité''' : Basculer rapidement entre plusieurs tâches.<br />
✅ '''Collaboration''' : Partage d’un terminal entre utilisateurs.<br />
✅ '''Léger''' : Plus rapide qu’un terminal graphique (GNOME Terminal, Konsole, etc.).
-----
<span id="alternative-screen"></span>
=== '''🚀 Alternative : <code>screen</code>''' ===
<code>tmux</code> est une alternative moderne à <code>screen</code> (plus ancien, moins de fonctionnalités).<br />
Exemple avec <code>screen</code> :
<syntaxhighlight lang="sh">screen -S ma_session  # Créer
screen -r ma_session  # Rejoindre</syntaxhighlight>
-----


[[Catégorie: Linux]]
[[Catégorie: Linux]]