« Logiciels terminal » : différence entre les versions
| (17 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
=== ''' | '''Outils en ligne de commande utiles sur Debian ''' | ||
Afficher des | |||
<syntaxhighlight lang="bash" line copy> | == '''🧰 <code>duf</code> ''' == | ||
'''DUF''' (Disk Usage/Free Utility) est un outil en ligne de commande conçu pour remplacer <code>df</code> et <code>du</code> avec une interface plus colorée, des visualisations claires et des fonctionnalités supplémentaires. Il affiche l’utilisation du disque de manière plus lisible. | |||
</syntaxhighlight> | |||
----- | |||
=== 📦 '''Installation de DUF''' === | |||
==== Sur Linux (Debian/Ubuntu) : ==== | |||
<syntaxhighlight lang="bash" line copy>sudo apt update && sudo apt install duf</syntaxhighlight> | |||
----- | |||
=== 🚀 '''Utilisation de base''' === | |||
<ol style="list-style-type: decimal;"> | |||
<li><p>'''Afficher l’utilisation des disques''' (similaire à <code>df -h</code>) :</p> | |||
<syntaxhighlight lang="bash" line copy>duf</syntaxhighlight> | |||
</li> | |||
<li><p>'''Filtrer par système de fichiers''' (ex : <code>ext4</code>) :</p> | |||
<syntaxhighlight lang="bash" line copy>duf -only-fs ext4</syntaxhighlight></li> | |||
<li><p>'''Afficher uniquement certains disques''' (ex : <code>/dev/sda1</code>) :</p> | |||
<syntaxhighlight lang="bash" line copy>duf /dev/sda1</syntaxhighlight></li> | |||
<li><p>'''Trier par colonne''' (ex : par taille utilisée) :</p> | |||
<syntaxhighlight lang="bash" line copy>duf --sort size</syntaxhighlight></li> | |||
<li><p>'''Afficher en JSON''' (pour scripts) :</p> | |||
<syntaxhighlight lang="bash" line copy>duf --json</syntaxhighlight></li></ol> | |||
----- | |||
=== 🔧 '''Options courantes''' === | |||
{| class="wikitable" | |||
|- | |||
! Option | |||
! Description | |||
|- | |||
| <code>--all</code> | |||
| Afficher tous les systèmes de fichiers | |||
|- | |||
| <code>--hide local</code> | |||
| Cache les disques locaux | |||
|- | |||
| <code>/home</code> | |||
| Affiche uniquement un point de montage | |||
|- | |||
| <code>--hide <type></code> | |||
| Masquer (ex: <code>--hide network,loop</code>) | |||
|- | |||
| <code>--inodes</code> | |||
| Afficher l’utilisation des inodes | |||
|- | |||
| <code>--theme light</code> | |||
| Mode clair | |||
|- | |||
| <code>--help</code> | |||
| Aide complète | |||
|} | |||
----- | |||
=== 💡 '''Exemples pratiques''' === | |||
<ul> | |||
<li><p>'''Vérifier l’espace sur <code>/home</code>''' :</p> | |||
<syntaxhighlight lang="bash" line copy>duf /home</syntaxhighlight></li> | |||
<li><p>'''Masquer les systèmes tmpfs''' :</p> | |||
<syntaxhighlight lang="bash" line copy>duf --hide tmpfs</syntaxhighlight></li> | |||
<li><p>'''Trier par espace libre''' :</p> | |||
<syntaxhighlight lang="bash" line copy>duf --sort avail</syntaxhighlight></li></ul> | |||
----- | |||
=== 📌 '''Pourquoi utiliser DUF ?''' === | |||
✅ '''Plus lisible''' que <code>df</code>/<code>du</code><br /> | |||
< | ✅ '''Couleurs et barres de progression'''<br /> | ||
✅ '''Filtrage et tri personnalisable'''<br /> | |||
✅ '''Support JSON''' pour l’automatisation | |||
</ | |||
=== 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). | '''<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). | ||
----- | ----- | ||
=== '''📥 Installation de <code>tmux</code>''' === | === '''📥 Installation de <code>tmux</code>''' === | ||
| Ligne 31 : | Ligne 99 : | ||
<ul> | <ul> | ||
<li><p>'''Debian/Ubuntu''' :</p> | <li><p>'''Debian/Ubuntu''' :</p> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line copy>sudo apt install tmux</syntaxhighlight></li> | ||
</ul> | |||
----- | ----- | ||
=== '''🎯 Utilisation de base''' === | === '''🎯 Utilisation de base''' === | ||
==== '''1. Démarrer une session''' ==== | ==== '''1. Démarrer une session''' ==== | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line copy>tmux</syntaxhighlight> | ||
* Une nouvelle session nommée automatiquement (<code>0</code>, <code>1</code>, etc.) est créée. | * Une nouvelle session nommée automatiquement (<code>0</code>, <code>1</code>, etc.) est créée. | ||
==== '''2. Détacher une session (quitter sans la fermer)''' ==== | ==== '''2. Détacher une session (quitter sans la fermer)''' ==== | ||
| Ligne 57 : | Ligne 115 : | ||
* La session continue de tourner en arrière-plan. | * La session continue de tourner en arrière-plan. | ||
==== '''3. Lister les sessions actives''' ==== | ==== '''3. Lister les sessions actives''' ==== | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line copy>tmux ls</syntaxhighlight> | ||
Exemple : | Exemple : | ||
<pre>0: 1 windows (created Tue May 17 10:00:00 2024) | <pre>0: 1 windows (created Tue May 17 10:00:00 2024) | ||
1: 3 windows (created Tue May 17 11:30:00 2024)</pre> | 1: 3 windows (created Tue May 17 11:30:00 2024)</pre> | ||
==== '''4. Rejoindre une session existante''' ==== | ==== '''4. Rejoindre une session existante''' ==== | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line copy>tmux attach -t 0 # Se connecte à la session 0</syntaxhighlight> | ||
==== '''5. Fermer une session''' ==== | ==== '''5. Fermer une session''' ==== | ||
<ul> | <ul> | ||
<li><p>Dans la session, taper :</p> | <li><p>Dans la session, taper :</p> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line copy>exit</syntaxhighlight> | ||
<p>ou utiliser '''<code>Ctrl + D</code>'''.</p></li></ul> | <p>ou utiliser '''<code>Ctrl + D</code>'''.</p></li></ul> | ||
| Ligne 80 : | Ligne 137 : | ||
----- | ----- | ||
=== '''🖥️ Gestion des fenêtres (<code>windows</code>)''' === | === '''🖥️ Gestion des fenêtres (<code>windows</code>)''' === | ||
| Ligne 107 : | Ligne 163 : | ||
----- | ----- | ||
=== '''📊 Gestion des panneaux (<code>panes</code>)''' === | === '''📊 Gestion des panneaux (<code>panes</code>)''' === | ||
| Ligne 134 : | Ligne 189 : | ||
----- | ----- | ||
=== '''🔧 Personnalisation (fichier <code>~/.tmux.conf</code>)''' === | === '''🔧 Personnalisation (fichier <code>~/.tmux.conf</code>)''' === | ||
Exemple de configuration : | Exemple de configuration : | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line># Activer la souris | ||
set -g mouse on | set -g mouse on | ||
| Ligne 155 : | Ligne 209 : | ||
----- | ----- | ||
=== '''💡 Astuces utiles''' === | === '''💡 Astuces utiles''' === | ||
| Ligne 163 : | Ligne 216 : | ||
<code>Ctrl + B</code> + <code>]</code> pour coller.</p></li> | <code>Ctrl + B</code> + <code>]</code> pour coller.</p></li> | ||
<li><p>'''Session nommée''' :</p> | <li><p>'''Session nommée''' :</p> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line>tmux new -s ma_session | ||
tmux attach -t ma_session</syntaxhighlight></li> | tmux attach -t ma_session</syntaxhighlight></li> | ||
<li><p>'''Partager une session''' (pair programming) :</p> | <li><p>'''Partager une session''' (pair programming) :</p> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line>tmux new -s shared | ||
chmod 777 /tmp/tmux-$(id -u)/default # Autoriser l'accès</syntaxhighlight> | chmod 777 /tmp/tmux-$(id -u)/default # Autoriser l'accès</syntaxhighlight> | ||
<p>L’autre utilisateur peut se connecter avec :</p> | <p>L’autre utilisateur peut se connecter avec :</p> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line copy>tmux attach -t shared</syntaxhighlight></li></ul> | ||
----- | ----- | ||
=== '''🔎 Pourquoi utiliser <code>tmux</code> ?''' === | === '''🔎 Pourquoi utiliser <code>tmux</code> ?''' === | ||
| Ligne 185 : | Ligne 237 : | ||
----- | ----- | ||
=== '''🚀 Alternative : <code>screen</code>''' === | === '''🚀 Alternative : <code>screen</code>''' === | ||
| Ligne 191 : | Ligne 242 : | ||
Exemple avec <code>screen</code> : | Exemple avec <code>screen</code> : | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash" line>screen -S ma_session # Créer | ||
screen -r ma_session # Rejoindre</syntaxhighlight> | screen -r ma_session # Rejoindre</syntaxhighlight> | ||
----- | ----- | ||
== 🧰 <code>fzf</code> == | |||
(fuzzy finder) est un outil en ligne de commande ultra puissant qui permet de '''rechercher et filtrer dynamiquement''' des éléments dans une liste, même si tu ne tapes qu’une partie du mot. Il est très utilisé pour améliorer la productivité dans le terminal. | |||
----- | |||
=== 🧠 '''À quoi sert <code>fzf</code> ?''' === | |||
* 🔍 Rechercher des fichiers, commandes, processus, etc. | |||
* 📁 Naviguer dans l’historique du shell (<code>history</code>). | |||
* 🧠 Compléter des commandes ou chemins de manière intelligente. | |||
* 🔧 Intégration avec <code>vim</code>, <code>git</code>, <code>tmux</code>, etc. | |||
----- | |||
=== ⚙️ '''Comment l’utiliser ?''' === | |||
==== 🔹 1. Recherche dans une liste ==== | |||
<syntaxhighlight lang="bash">ls | fzf</syntaxhighlight> | |||
Tu obtiens une interface interactive où tu peux taper une partie du nom pour filtrer. | |||
----- | |||
==== 🔹 2. Recherche dans l’historique ==== | |||
<syntaxhighlight lang="bash">history | fzf</syntaxhighlight> | |||
Tu peux retrouver une commande passée en quelques lettres. | |||
----- | |||
==== 🔹 3. Recherche de fichiers ==== | |||
<syntaxhighlight lang="bash">find . -type f | fzf</syntaxhighlight> | |||
Ou plus simplement : | |||
<syntaxhighlight lang="bash">fzf</syntaxhighlight> | |||
(par défaut, il liste tous les fichiers du répertoire courant et sous-répertoires) | |||
----- | |||
==== 🔹 4. Ouvrir un fichier sélectionné ==== | |||
<syntaxhighlight lang="bash">vim $(fzf)</syntaxhighlight> | |||
----- | |||
==== 🔹 5. Intégration avec <code>git</code> ==== | |||
<syntaxhighlight lang="bash">git log --oneline | fzf</syntaxhighlight> | |||
Ou pour choisir une branche : | |||
<syntaxhighlight lang="bash">git branch | fzf</syntaxhighlight> | |||
----- | |||
=== 🛠️ '''Installation''' === | |||
Sur Debian : | |||
<syntaxhighlight lang="bash">apt install fzf</syntaxhighlight> | |||
Ou via <code>git</code> : | |||
<syntaxhighlight lang="bash">git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf | |||
~/.fzf/install</syntaxhighlight> | |||
----- | |||
=== 🧪 '''Bonus : intégration dans Bash ou Zsh''' ===s | |||
Ajoute dans ton <code>.bashrc</code> ou <code>.zshrc</code> : | |||
<syntaxhighlight lang="bash">export FZF_DEFAULT_COMMAND='find . -type f'</syntaxhighlight> | |||
Et pour activer la complétion : | |||
<syntaxhighlight lang="bash">[ -f ~/.fzf.bash ] && source ~/.fzf.bash</syntaxhighlight> | |||
== 🧰 <code>iperf3</code> == | |||
<code>iperf3</code> est un outil en ligne de commande conçu pour '''mesurer la performance réseau''', notamment le '''débit''' entre deux machines. Il est très utile pour tester la qualité d’une connexion Internet ou d’un réseau local. | |||
----- | |||
=== 🧠 '''À quoi sert <code>iperf3</code> ?''' === | |||
* 📶 Mesurer le '''débit descendant (download)''' et '''montant (upload)'''. | |||
* 📊 Tester la '''latence''', la '''gigue''' (variabilité du délai), et la '''perte de paquets'''. | |||
* 🔍 Diagnostiquer des problèmes de réseau ou de bande passante. | |||
* 🧪 Comparer les performances entre différents types de connexions (Wi-Fi, Ethernet, VPN…). | |||
----- | |||
=== 🌐 '''Comment l’utiliser pour tester ta connexion Internet ?''' === | |||
==== ✅ '''Option 1 : Utiliser un serveur public <code>iperf3</code>''' ==== | |||
Certains serveurs sont disponibles gratuitement pour tester ta connexion. Exemple : | |||
<syntaxhighlight lang="bash">iperf3 -c iperf.scottlinux.com</syntaxhighlight> | |||
Cela lance un test TCP vers ce serveur. Tu verras le débit '''descendant''' (download) par défaut. | |||
Pour tester le débit '''montant''' (upload), ajoute l’option <code>-R</code> : | |||
<syntaxhighlight lang="bash">iperf3 -c iperf.scottlinux.com -R</syntaxhighlight> | |||
----- | |||
==== ✅ '''Option 2 : Entre deux machines (client/serveur)''' ==== | |||
===== Sur la machine serveur : ===== | |||
<syntaxhighlight lang="bash">iperf3 -s</syntaxhighlight> | |||
===== Sur la machine cliente : ===== | |||
<syntaxhighlight lang="bash">iperf3 -c <IP_du_serveur></syntaxhighlight> | |||
Tu peux aussi tester en UDP : | |||
<syntaxhighlight lang="bash">iperf3 -c <IP_du_serveur> -u -b 100M</syntaxhighlight> | |||
----- | |||
=== ⚙️ '''Options utiles''' === | |||
* <code>-t 30</code> : durée du test en secondes. | |||
* <code>-p 5201</code> : port utilisé (par défaut 5201). | |||
* <code>-R</code> : test en mode reverse (upload). | |||
* <code>-u</code> : test en UDP. | |||
* <code>-b 100M</code> : bande passante cible en UDP. | |||
* <code>-i 1</code> : intervalle d’affichage des résultats. | |||
----- | |||
==== 📊 '''Exemple de résultat''' ==== | |||
<pre>[ ID] Interval Transfer Bandwidth | |||
[ 5] 0.00-10.00 sec 112 MBytes 94.1 Mbits/sec</pre> | |||
Cela signifie que pendant 10 secondes, tu as transféré 112 Mo à une vitesse moyenne de '''94.1 Mbps'''. | |||
== 🧰 <code>eza</code> == | |||
<code>eza</code> est un '''remplaçant moderne de <code>exa</code>''', qui lui-même est une alternative à <code>ls</code>. Le projet <code>eza</code> a été créé pour continuer le développement de <code>exa</code>, qui est désormais considéré comme inactif. Il est écrit en Rust et propose une interface plus riche, plus rapide et plus maintenue. | |||
----- | |||
=== 🧠 '''À quoi sert <code>eza</code> ?''' === | |||
Comme <code>ls</code>, mais en mieux : | |||
* 📁 Affichage coloré et lisible des fichiers et dossiers. | |||
* 📊 Informations détaillées : permissions, propriétaires, tailles, dates. | |||
* 🌲 Affichage en arborescence. | |||
* 🔍 Tri et filtrage avancés. | |||
* 🧠 Intégration Git : statut, auteur, etc. | |||
* 🧩 Support des icônes (avec terminal compatible). | |||
----- | |||
=== ⚙️ '''Comment utiliser <code>eza</code> ?''' === | |||
==== 🔹 Liste simple ==== | |||
<syntaxhighlight lang="bash">eza</syntaxhighlight> | |||
==== 🔹 Liste détaillée (comme <code>ls -l</code>) ==== | |||
<syntaxhighlight lang="bash">eza -l</syntaxhighlight> | |||
==== 🔹 Inclure les fichiers cachés ==== | |||
<syntaxhighlight lang="bash">eza -la</syntaxhighlight> | |||
==== 🔹 Affichage en arborescence ==== | |||
<syntaxhighlight lang="bash">eza -T</syntaxhighlight> | |||
==== 🔹 Tri par date de modification ==== | |||
<syntaxhighlight lang="bash">eza -l --sort=modified</syntaxhighlight> | |||
==== 🔹 Affichage Git ==== | |||
<syntaxhighlight lang="bash">eza -l --git</syntaxhighlight> | |||
----- | |||
=== 🧪 '''Exemple combiné''' === | |||
<syntaxhighlight lang="bash">eza -laT --git --sort=modified</syntaxhighlight> | |||
Cela affiche : | |||
* Tous les fichiers (y compris cachés) | |||
* En arborescence | |||
* Avec infos Git | |||
* Triés par date de modification | |||
----- | |||
== 🧰 <code>fd</code> (fdfind) == | |||
Le paquet <code>fd</code> est une '''alternative moderne à la commande <code>find</code>''' en ligne de commande. Il est écrit en Rust et vise à être '''plus rapide, plus intuitive et plus conviviale''' que <code>find</code>. | |||
----- | |||
=== 📦 '''Installation sur Debian 13''' === | |||
<syntaxhighlight lang="bash">apt install fd-find</syntaxhighlight> | |||
⚠️ Le binaire s’appelle <code>fdfind</code> (car <code>fd</code> est déjà pris par un autre outil). Tu peux créer un alias : | |||
<syntaxhighlight lang="bash">alias fd='fdfind'</syntaxhighlight> | |||
Ajoute cette ligne dans ton <code>.bashrc</code> ou <code>.zshrc</code> pour le rendre permanent. | |||
----- | |||
=== 🧠 '''À quoi sert <code>fd</code> ?''' === | |||
* 🔍 Rechercher des fichiers et dossiers dans un répertoire. | |||
* 🧠 Utiliser une syntaxe simple et naturelle. | |||
* ⚡ Obtenir des résultats très rapidement. | |||
* 🎨 Affichage coloré et clair. | |||
* 📦 Intégration facile avec d’autres outils comme <code>fzf</code>. | |||
----- | |||
=== ⚙️ '''Comment utiliser <code>fd</code> ?''' === | |||
==== 🔹 1. Rechercher un fichier par nom ==== | |||
<syntaxhighlight lang="bash">fd nom_du_fichier</syntaxhighlight> | |||
Exemple : | |||
<syntaxhighlight lang="bash">fd config</syntaxhighlight> | |||
→ Trouve tous les fichiers/dossiers contenant “config”. | |||
----- | |||
==== 🔹 2. Rechercher un fichier avec une extension ==== | |||
<syntaxhighlight lang="bash">fd -e php</syntaxhighlight> | |||
→ Trouve tous les fichiers <code>.php</code>. | |||
----- | |||
==== 🔹 3. Rechercher dans un dossier spécifique ==== | |||
<syntaxhighlight lang="bash">fd -e log . /var/log</syntaxhighlight> | |||
→ Recherche les fichiers <code>.log</code> dans <code>/var/log</code>. | |||
----- | |||
==== 🔹 4. Exécuter une commande sur les résultats ==== | |||
<syntaxhighlight lang="bash">fd -e jpg -x convert {} {.}.png</syntaxhighlight> | |||
→ Convertit tous les <code>.jpg</code> en <code>.png</code> (avec <code>imagemagick</code>). | |||
----- | |||
==== 🔹 5. Ignorer certains dossiers ==== | |||
<syntaxhighlight lang="bash">fd --exclude node_modules</syntaxhighlight> | |||
----- | |||
==== 🔹 6. Rechercher avec une expression régulière ==== | |||
<syntaxhighlight lang="bash">fd '^test.*\.sh$'</syntaxhighlight> | |||
→ Fichiers commençant par “test” et finissant par “.sh”. | |||
== 🧰 <code>tealdeer</code> == | |||
Le paquet '''<code>tealdeer</code>''' sur '''Debian 13 “Trixie”''' est une implémentation ultra-rapide en Rust du projet tldr-pages, qui propose des '''pages de manuel simplifiées''', basées sur des '''exemples concrets''' et '''alimentées par la communauté'''. [https://packages.debian.org/fr/stable/tealdeer [packages.debian.org]] | |||
=== 🔍 Description === | |||
* '''Nom du binaire''' : <code>tldr</code> | |||
* '''Version disponible''' : <code>1.7.2-1</code> | |||
* '''Architecture supportée''' : amd64, arm64, i386, etc. | |||
* '''Dépendances principales''' : <code>libc6</code>, <code>libgcc-s1</code>, <code>libssl3t64</code>. [https://packages.debian.org/fr/stable/tealdeer [packages.debian.org]] | |||
=== ✅ Installation === | |||
Tu peux l’installer directement via APT : | |||
<syntaxhighlight lang="bash">sudo apt update | |||
sudo apt install tealdeer</syntaxhighlight> | |||
=== ⚙️ Utilisation de base === | |||
Une fois installé, tu peux utiliser <code>tldr</code> pour afficher des exemples d’utilisation de commandes : | |||
<syntaxhighlight lang="bash">tldr tar</syntaxhighlight> | |||
Cela affichera des exemples concrets d’utilisation de la commande <code>tar</code>, bien plus digestes que les pages <code>man</code>. | |||
=== 🔄 Mise à jour du cache === | |||
<syntaxhighlight lang="bash">tldr --update</syntaxhighlight> | |||
=== 📁 Configuration personnalisée === | |||
Tu peux générer un fichier de configuration : | |||
<syntaxhighlight lang="bash">tldr --seed-config</syntaxhighlight> | |||
Et le modifier dans : | |||
<syntaxhighlight lang="bash">~/.config/tealdeer/config.toml</syntaxhighlight> | |||
Exemple de personnalisation : | |||
<pre class="toml">[style.command_name] | |||
foreground = "cyan" | |||
bold = true | |||
[style.example_code] | |||
foreground = "cyan" | |||
bold = true</pre> | |||
=== 📂 Emplacements utiles === | |||
<syntaxhighlight lang="bash">tldr --show-paths</syntaxhighlight> | |||
Cela te montrera : | |||
* Dossier de config : <code>~/.config/tealdeer/</code> | |||
* Dossier de cache : <code>~/.cache/tealdeer/</code> | |||
* Dossier des pages : <code>~/.cache/tealdeer/tldr-pages/</code> [https://debian-facile.org/viewtopic.php?id=36586 [debian-facile.org]] | |||
== 🧰 <code>mtr-tiny</code> == | |||
Le paquet '''<code>mtr-tiny</code>''' sur Debian 13 est une version allégée de '''<code>mtr</code>''' (My Traceroute), un outil réseau combinant les fonctionnalités de <code>ping</code> et <code>traceroute</code>. Il permet de diagnostiquer les problèmes de connectivité en affichant le chemin emprunté par les paquets jusqu’à une destination, tout en mesurant les temps de réponse à chaque saut. | |||
=== ✅ Installation === | |||
Tu peux l’installer directement via APT : | |||
<syntaxhighlight lang="bash">sudo apt install mtr-tiny</syntaxhighlight> | |||
=== 🧩 Différence entre <code>mtr</code> et <code>mtr-tiny</code> === | |||
* '''<code>mtr</code>''' : version complète avec interface ncurses (interactive). | |||
* '''<code>mtr-tiny</code>''' : version minimale, sans interface ncurses, adaptée aux environnements sans interface graphique ou très légers. | |||
----- | |||
=== 🔧 Utilisation de <code>mtr-tiny</code> === | |||
Une fois installé (<code>sudo apt install mtr-tiny</code>), tu peux l’utiliser en ligne de commande : | |||
<syntaxhighlight lang="bash">mtr -r -c 10 example.com</syntaxhighlight> | |||
==== Explication des options : ==== | |||
* <code>-r</code> : mode rapport (non interactif), affiche les résultats sous forme de tableau. | |||
* <code>-c 10</code> : nombre de requêtes envoyées à chaque saut (ici 10). | |||
* <code>example.com</code> : domaine ou IP cible. | |||
==== Exemple de sortie : ==== | |||
<pre>HOST: ta-machine Loss% Snt Last Avg Best Wrst StDev | |||
1. 192.168.1.1 0.0% 10 1.2 1.3 1.1 1.5 0.1 | |||
2. 10.0.0.1 0.0% 10 5.6 5.4 5.2 5.8 0.2 | |||
...</pre> | |||
----- | |||
=== 📌 Cas d’usage typiques : === | |||
* Diagnostiquer une latence ou une perte de paquets. | |||
* Identifier un routeur problématique sur le chemin vers un serveur. | |||
* Vérifier la stabilité d’une connexion réseau. | |||
== 🧰 ncdu == | |||
Analyseur d’espace disque interactif | |||
* '''Description''' : <code>ncdu</code> (NCurses Disk Usage) permet d’analyser l’utilisation du disque de manière interactive dans le terminal. | |||
C’est un outil en mode texte conçu uniquement pour : | |||
:* Analyser l’utilisation de l’espace disque | |||
:* Naviguer dans les répertoires | |||
:* Supprimer des fichiers ou dossiers | |||
=== Installation === | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo apt install ncdu | |||
</syntaxhighlight> | |||
=== Utilisation === | |||
<syntaxhighlight lang="bash" line copy> | |||
ncdu /chemin/du/dossier | |||
</syntaxhighlight> | |||
=== Commandes utiles === | |||
* Analyse du dossier <code>/var/log</code> : | |||
<syntaxhighlight lang="bash" line copy> | |||
ncdu /var/log | |||
</syntaxhighlight> | |||
* Exclure <code>/home</code> de l’analyse : | |||
<syntaxhighlight lang="bash" line copy> | |||
ncdu --exclude /home | |||
</syntaxhighlight> | |||
=== Exemple pratique === | |||
Pour identifier les fichiers volumineux dans <code>/var</code> : | |||
<syntaxhighlight lang="bash" line copy> | |||
ncdu /var | |||
</syntaxhighlight> | |||
→ Naviguez avec les flèches, supprimez avec <code>d</code>. | |||
=== Avantages === | |||
* Interface texte intuitive | |||
* Tri par taille | |||
* Suppression directe des fichiers | |||
---- | |||
== 🧰 ripgrep == | |||
Recherche ultra-rapide dans les fichiers | |||
* '''Description''' : <code>ripgrep</code> (<code>rg</code>) est un outil de recherche textuelle dans les fichiers, similaire à <code>grep</code>, mais beaucoup plus rapide. | |||
=== Installation === | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo apt install ripgrep | |||
</syntaxhighlight> | |||
=== Utilisation === | |||
<syntaxhighlight lang="bash" line copy> | |||
rg "mot-clé" /chemin | |||
</syntaxhighlight> | |||
=== Commandes utiles === | |||
* Cherche "erreur" dans <code>/var/log</code> : | |||
<syntaxhighlight lang="bash" line copy> | |||
rg "erreur" /var/log | |||
</syntaxhighlight> | |||
* Recherche insensible à la casse : | |||
<syntaxhighlight lang="bash" line copy> | |||
rg -i "motclé" | |||
</syntaxhighlight> | |||
* Recherche dans fichiers PHP : | |||
<syntaxhighlight lang="bash" line copy> | |||
rg --type php "function" src/ | |||
</syntaxhighlight> | |||
=== Exemple pratique === | |||
Pour trouver toutes les occurrences de <code>password</code> dans un projet : | |||
<syntaxhighlight lang="bash" line copy> | |||
rg "password" /chemin/projet | |||
</syntaxhighlight> | |||
=== Avantages === | |||
* Recherche récursive | |||
* Respect des <code>.gitignore</code> | |||
* Syntaxe familière pour les utilisateurs de <code>grep</code> | |||
---- | |||
== 🧰 Yazi == | |||
Gestionnaire de fichiers moderne en terminal | |||
* '''Description''' : <code>yazi</code> est un gestionnaire de fichiers en terminal, rapide et esthétique, inspiré de <code>nnn</code> et <code>ranger</code>. | |||
=== Installation === | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo apt install yazi | |||
</syntaxhighlight> | |||
=== Utilisation === | |||
<syntaxhighlight lang="bash" line copy> | |||
yazi | |||
</syntaxhighlight> | |||
=== Commandes utiles === | |||
* Lance Yazi dans le dossier courant : | |||
<syntaxhighlight lang="bash" line copy> | |||
yazi | |||
</syntaxhighlight> | |||
* Ouvre directement <code>/var/www</code> : | |||
<syntaxhighlight lang="bash" line copy> | |||
yazi /var/www | |||
</syntaxhighlight> | |||
=== Exemple pratique === | |||
Naviguer dans <code>/etc</code> et prévisualiser un fichier : | |||
<syntaxhighlight lang="bash" line copy> | |||
yazi /etc | |||
</syntaxhighlight> | |||
→ Utilisez <code>Tab</code> pour prévisualiser, <code>Enter</code> pour ouvrir. | |||
=== Fonctionnalités === | |||
* Navigation par raccourcis clavier | |||
* Aperçu des fichiers (images, PDF, etc.) | |||
* Intégration avec <code>fzf</code>, <code>ripgrep</code>, etc. | |||
---- | |||
== 🧰 Helix == | |||
Éditeur de texte modal moderne | |||
* '''Description''' : <code>helix</code> est un éditeur de texte modal (comme <code>vim</code>) mais avec une interface plus moderne et des fonctionnalités intégrées. | |||
=== Installation === | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo apt install helix | |||
</syntaxhighlight> | |||
=== Utilisation === | |||
<syntaxhighlight lang="bash" line copy> | |||
hx fichier.txt | |||
</syntaxhighlight> | |||
=== Commandes utiles === | |||
* Ouvre le dossier courant : | |||
<syntaxhighlight lang="bash" line copy> | |||
hx . | |||
</syntaxhighlight> | |||
* Ouvre à la ligne 10 : | |||
<syntaxhighlight lang="bash" line copy> | |||
hx fichier.php +10 | |||
</syntaxhighlight> | |||
=== Exemple pratique === | |||
Pour éditer un fichier avec coloration syntaxique et LSP : | |||
<syntaxhighlight lang="bash" line copy> | |||
hx index.php | |||
</syntaxhighlight> | |||
→ Mode normal : <code>dd</code> supprime une ligne, <code>:w</code> sauvegarde. | |||
=== Points forts === | |||
* Mode modal (normal, insertion, sélection) | |||
* Support natif du LSP (Language Server Protocol) | |||
* Arborescence de fichiers et coloration syntaxique avancée | |||
== '''🧰 <code>ccze</code> ''' == | |||
Le paquet '''<code>ccze</code>''' sur Debian est un outil de coloration syntaxique pour les fichiers journaux et les sorties de commandes en ligne de commande. Il permet de rendre les logs plus lisibles en les colorant selon leur contenu (niveaux de log, dates, adresses IP, etc.). | |||
=== Principales caractéristiques : === | |||
* Il fonctionne comme un '''filtre''' : tu peux l’utiliser avec <code>tail</code>, <code>cat</code>, <code>journalctl</code>, etc. | |||
* Il prend en charge plusieurs formats de logs : Apache, syslog, dmesg, squid, postfix, etc. | |||
* Il peut être utilisé en '''mode interactif''' ou dans des scripts. | |||
=== Exemple d’utilisation : === | |||
<syntaxhighlight lang="bash">journalctl -xe | ccze -A</syntaxhighlight> | |||
Le <code>-A</code> permet d’utiliser les couleurs dans un terminal compatible ANSI. | |||
=== Installation : === | |||
<syntaxhighlight lang="bash">sudo apt install ccze</syntaxhighlight> | |||
Voici les principales '''options disponibles avec <code>ccze</code>''' : | |||
=== Options courantes : === | |||
{| class="wikitable" | |||
|- | |||
! Option | |||
! Description | |||
|- | |||
| <code>-A</code> | |||
| Utilise les codes ANSI pour la coloration (utile dans les terminaux compatibles). | |||
|- | |||
| <code>-h</code> | |||
| Affiche l’aide (liste des options disponibles). | |||
|- | |||
| <code>-C</code> | |||
| Désactive la coloration (utile pour tester ou rediriger vers un fichier). | |||
|- | |||
| <code>-c <type></code> | |||
| Spécifie le type de coloration (ex : <code>apache</code>, <code>syslog</code>, <code>dmesg</code>, <code>squid</code>, etc.). | |||
|- | |||
| <code>-m</code> | |||
| Active le mode “multifichier” (utile pour concaténer plusieurs fichiers). | |||
|- | |||
| <code>-o <format></code> | |||
| Définit le format de sortie : <code>html</code>, <code>ansi</code>, <code>text</code>, etc. | |||
|- | |||
| <code>-n</code> | |||
| Ne pas colorer les noms de fichiers. | |||
|- | |||
| <code>-p</code> | |||
| Préserve les espaces en début de ligne. | |||
|- | |||
| <code>-r</code> | |||
| Réinitialise les couleurs à chaque ligne. | |||
|- | |||
| <code>-s</code> | |||
| Supprime les séquences de contrôle ANSI existantes dans l’entrée. | |||
|- | |||
| <code>-t</code> | |||
| Ajoute un timestamp à chaque ligne. | |||
|- | |||
| <code>-v</code> | |||
| Mode verbeux. | |||
|} | |||
=== Exemple d’utilisation : === | |||
<syntaxhighlight lang="bash">tail -f /var/log/syslog | ccze -A</syntaxhighlight> | |||
Ou pour générer une sortie HTML : | |||
<syntaxhighlight lang="bash">cat /var/log/syslog | ccze -o html > log.html</syntaxhighlight> | |||
[[Catégorie: | [[Catégorie: Terminal Tools]] | ||
Dernière version du 30 octobre 2025 à 13:38
Outils en ligne de commande utiles sur Debian
🧰 duf
DUF (Disk Usage/Free Utility) est un outil en ligne de commande conçu pour remplacer df et du avec une interface plus colorée, des visualisations claires et des fonctionnalités supplémentaires. Il affiche l’utilisation du disque de manière plus lisible.
📦 Installation de DUF
Sur Linux (Debian/Ubuntu) :
sudo apt update && sudo apt install duf
🚀 Utilisation de base
Afficher l’utilisation des disques (similaire à
df -h) :duf
Filtrer par système de fichiers (ex :
ext4) :duf -only-fs ext4
Afficher uniquement certains disques (ex :
/dev/sda1) :duf /dev/sda1Trier par colonne (ex : par taille utilisée) :
duf --sort size
Afficher en JSON (pour scripts) :
duf --json
🔧 Options courantes
| Option | Description |
|---|---|
--all
|
Afficher tous les systèmes de fichiers |
--hide local
|
Cache les disques locaux |
/home
|
Affiche uniquement un point de montage |
--hide <type>
|
Masquer (ex: --hide network,loop)
|
--inodes
|
Afficher l’utilisation des inodes |
--theme light
|
Mode clair |
--help
|
Aide complète |
💡 Exemples pratiques
Vérifier l’espace sur
/home:duf /homeMasquer les systèmes tmpfs :
duf --hide tmpfs
Trier par espace libre :
duf --sort avail
📌 Pourquoi utiliser DUF ?
✅ Plus lisible que df/du
✅ Couleurs et barres de progression
✅ Filtrage et tri personnalisable
✅ Support JSON pour l’automatisation
voir aussi commande dust (snap)
🧰 tmux
tmux (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).
📥 Installation de tmux
Debian/Ubuntu :
sudo apt install tmux
🎯 Utilisation de base
1. Démarrer une session
tmux
- Une nouvelle session nommée automatiquement (
0,1, etc.) est créée.
2. Détacher une session (quitter sans la fermer)
- Appuyer sur
Ctrl + B, puisD. - La session continue de tourner en arrière-plan.
3. Lister les sessions actives
tmux ls
Exemple :
0: 1 windows (created Tue May 17 10:00:00 2024) 1: 3 windows (created Tue May 17 11:30:00 2024)
4. Rejoindre une session existante
tmux attach -t 0 # Se connecte à la session 0
5. Fermer une session
Dans la session, taper :
exitou utiliser
Ctrl + D.
🖥️ Gestion des fenêtres (windows)
Commande (après Ctrl + B)
|
Action |
|---|---|
C
|
Crée une nouvelle fenêtre |
N
|
Passe à la fenêtre suivante |
P
|
Passe à la fenêtre précédente |
0 à 9
|
Aller à la fenêtre 0-9 |
&
|
Fermer la fenêtre actuelle |
📊 Gestion des panneaux (panes)
Commande (après Ctrl + B)
|
Action |
|---|---|
%
|
Diviser verticalement |
"
|
Diviser horizontalement |
Flèches
|
Naviguer entre panneaux |
X
|
Fermer le panneau actuel |
Z
|
Agrandir/réduire un panneau |
🔧 Personnalisation (fichier ~/.tmux.conf)
Exemple de configuration :
# 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
→ Recharger avec tmux source-file ~/.tmux.conf.
💡 Astuces utiles
Mode copier-coller :
Ctrl + B+[→ Naviguer avec les flèches,Espacepour sélectionner,Entréepour copier.
Ctrl + B+]pour coller.Session nommée :
tmux new -s ma_session tmux attach -t ma_session
Partager une session (pair programming) :
tmux new -s shared chmod 777 /tmp/tmux-$(id -u)/default # Autoriser l'accès
L’autre utilisateur peut se connecter avec :
tmux attach -t shared
🔎 Pourquoi utiliser tmux ?
✅ Persistance : Les processus continuent même après déconnexion.
✅ Productivité : Basculer rapidement entre plusieurs tâches.
✅ Collaboration : Partage d’un terminal entre utilisateurs.
✅ Léger : Plus rapide qu’un terminal graphique (GNOME Terminal, Konsole, etc.).
🚀 Alternative : screen
tmux est une alternative moderne à screen (plus ancien, moins de fonctionnalités).
Exemple avec screen :
screen -S ma_session # Créer
screen -r ma_session # Rejoindre
🧰 fzf
(fuzzy finder) est un outil en ligne de commande ultra puissant qui permet de rechercher et filtrer dynamiquement des éléments dans une liste, même si tu ne tapes qu’une partie du mot. Il est très utilisé pour améliorer la productivité dans le terminal.
🧠 À quoi sert fzf ?
- 🔍 Rechercher des fichiers, commandes, processus, etc.
- 📁 Naviguer dans l’historique du shell (
history). - 🧠 Compléter des commandes ou chemins de manière intelligente.
- 🔧 Intégration avec
vim,git,tmux, etc.
⚙️ Comment l’utiliser ?
🔹 1. Recherche dans une liste
ls | fzf
Tu obtiens une interface interactive où tu peux taper une partie du nom pour filtrer.
🔹 2. Recherche dans l’historique
history | fzf
Tu peux retrouver une commande passée en quelques lettres.
🔹 3. Recherche de fichiers
find . -type f | fzf
Ou plus simplement :
fzf
(par défaut, il liste tous les fichiers du répertoire courant et sous-répertoires)
🔹 4. Ouvrir un fichier sélectionné
vim $(fzf)
🔹 5. Intégration avec git
git log --oneline | fzf
Ou pour choisir une branche :
git branch | fzf
🛠️ Installation
Sur Debian :
apt install fzf
Ou via git :
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
=== 🧪 Bonus : intégration dans Bash ou Zsh ===s
Ajoute dans ton .bashrc ou .zshrc :
export FZF_DEFAULT_COMMAND='find . -type f'
Et pour activer la complétion :
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
🧰 iperf3
iperf3 est un outil en ligne de commande conçu pour mesurer la performance réseau, notamment le débit entre deux machines. Il est très utile pour tester la qualité d’une connexion Internet ou d’un réseau local.
🧠 À quoi sert iperf3 ?
- 📶 Mesurer le débit descendant (download) et montant (upload).
- 📊 Tester la latence, la gigue (variabilité du délai), et la perte de paquets.
- 🔍 Diagnostiquer des problèmes de réseau ou de bande passante.
- 🧪 Comparer les performances entre différents types de connexions (Wi-Fi, Ethernet, VPN…).
🌐 Comment l’utiliser pour tester ta connexion Internet ?
✅ Option 1 : Utiliser un serveur public iperf3
Certains serveurs sont disponibles gratuitement pour tester ta connexion. Exemple :
iperf3 -c iperf.scottlinux.com
Cela lance un test TCP vers ce serveur. Tu verras le débit descendant (download) par défaut.
Pour tester le débit montant (upload), ajoute l’option -R :
iperf3 -c iperf.scottlinux.com -R
✅ Option 2 : Entre deux machines (client/serveur)
Sur la machine serveur :
iperf3 -s
Sur la machine cliente :
iperf3 -c <IP_du_serveur>
Tu peux aussi tester en UDP :
iperf3 -c <IP_du_serveur> -u -b 100M
⚙️ Options utiles
-t 30: durée du test en secondes.-p 5201: port utilisé (par défaut 5201).-R: test en mode reverse (upload).-u: test en UDP.-b 100M: bande passante cible en UDP.-i 1: intervalle d’affichage des résultats.
📊 Exemple de résultat
[ ID] Interval Transfer Bandwidth [ 5] 0.00-10.00 sec 112 MBytes 94.1 Mbits/sec
Cela signifie que pendant 10 secondes, tu as transféré 112 Mo à une vitesse moyenne de 94.1 Mbps.
🧰 eza
eza est un remplaçant moderne de exa, qui lui-même est une alternative à ls. Le projet eza a été créé pour continuer le développement de exa, qui est désormais considéré comme inactif. Il est écrit en Rust et propose une interface plus riche, plus rapide et plus maintenue.
🧠 À quoi sert eza ?
Comme ls, mais en mieux :
- 📁 Affichage coloré et lisible des fichiers et dossiers.
- 📊 Informations détaillées : permissions, propriétaires, tailles, dates.
- 🌲 Affichage en arborescence.
- 🔍 Tri et filtrage avancés.
- 🧠 Intégration Git : statut, auteur, etc.
- 🧩 Support des icônes (avec terminal compatible).
⚙️ Comment utiliser eza ?
🔹 Liste simple
eza
🔹 Liste détaillée (comme ls -l)
eza -l
🔹 Inclure les fichiers cachés
eza -la
🔹 Affichage en arborescence
eza -T
🔹 Tri par date de modification
eza -l --sort=modified
🔹 Affichage Git
eza -l --git
🧪 Exemple combiné
eza -laT --git --sort=modified
Cela affiche :
- Tous les fichiers (y compris cachés)
- En arborescence
- Avec infos Git
- Triés par date de modification
🧰 fd (fdfind)
Le paquet fd est une alternative moderne à la commande find en ligne de commande. Il est écrit en Rust et vise à être plus rapide, plus intuitive et plus conviviale que find.
📦 Installation sur Debian 13
apt install fd-find
⚠️ Le binaire s’appelle fdfind (car fd est déjà pris par un autre outil). Tu peux créer un alias :
alias fd='fdfind'
Ajoute cette ligne dans ton .bashrc ou .zshrc pour le rendre permanent.
🧠 À quoi sert fd ?
- 🔍 Rechercher des fichiers et dossiers dans un répertoire.
- 🧠 Utiliser une syntaxe simple et naturelle.
- ⚡ Obtenir des résultats très rapidement.
- 🎨 Affichage coloré et clair.
- 📦 Intégration facile avec d’autres outils comme
fzf.
⚙️ Comment utiliser fd ?
🔹 1. Rechercher un fichier par nom
fd nom_du_fichier
Exemple :
fd config
→ Trouve tous les fichiers/dossiers contenant “config”.
🔹 2. Rechercher un fichier avec une extension
fd -e php
→ Trouve tous les fichiers .php.
🔹 3. Rechercher dans un dossier spécifique
fd -e log . /var/log
→ Recherche les fichiers .log dans /var/log.
🔹 4. Exécuter une commande sur les résultats
fd -e jpg -x convert {} {.}.png
→ Convertit tous les .jpg en .png (avec imagemagick).
🔹 5. Ignorer certains dossiers
fd --exclude node_modules
🔹 6. Rechercher avec une expression régulière
fd '^test.*\.sh$'
→ Fichiers commençant par “test” et finissant par “.sh”.
🧰 tealdeer
Le paquet tealdeer sur Debian 13 “Trixie” est une implémentation ultra-rapide en Rust du projet tldr-pages, qui propose des pages de manuel simplifiées, basées sur des exemples concrets et alimentées par la communauté. [packages.debian.org]
🔍 Description
- Nom du binaire :
tldr - Version disponible :
1.7.2-1 - Architecture supportée : amd64, arm64, i386, etc.
- Dépendances principales :
libc6,libgcc-s1,libssl3t64. [packages.debian.org]
✅ Installation
Tu peux l’installer directement via APT :
sudo apt update
sudo apt install tealdeer
⚙️ Utilisation de base
Une fois installé, tu peux utiliser tldr pour afficher des exemples d’utilisation de commandes :
tldr tar
Cela affichera des exemples concrets d’utilisation de la commande tar, bien plus digestes que les pages man.
🔄 Mise à jour du cache
tldr --update
📁 Configuration personnalisée
Tu peux générer un fichier de configuration :
tldr --seed-config
Et le modifier dans :
~/.config/tealdeer/config.toml
Exemple de personnalisation :
[style.command_name] foreground = "cyan" bold = true [style.example_code] foreground = "cyan" bold = true
📂 Emplacements utiles
tldr --show-paths
Cela te montrera :
- Dossier de config :
~/.config/tealdeer/ - Dossier de cache :
~/.cache/tealdeer/ - Dossier des pages :
~/.cache/tealdeer/tldr-pages/[debian-facile.org]
🧰 mtr-tiny
Le paquet mtr-tiny sur Debian 13 est une version allégée de mtr (My Traceroute), un outil réseau combinant les fonctionnalités de ping et traceroute. Il permet de diagnostiquer les problèmes de connectivité en affichant le chemin emprunté par les paquets jusqu’à une destination, tout en mesurant les temps de réponse à chaque saut.
✅ Installation
Tu peux l’installer directement via APT :
sudo apt install mtr-tiny
🧩 Différence entre mtr et mtr-tiny
mtr: version complète avec interface ncurses (interactive).mtr-tiny: version minimale, sans interface ncurses, adaptée aux environnements sans interface graphique ou très légers.
🔧 Utilisation de mtr-tiny
Une fois installé (sudo apt install mtr-tiny), tu peux l’utiliser en ligne de commande :
mtr -r -c 10 example.com
Explication des options :
-r: mode rapport (non interactif), affiche les résultats sous forme de tableau.-c 10: nombre de requêtes envoyées à chaque saut (ici 10).example.com: domaine ou IP cible.
Exemple de sortie :
HOST: ta-machine Loss% Snt Last Avg Best Wrst StDev 1. 192.168.1.1 0.0% 10 1.2 1.3 1.1 1.5 0.1 2. 10.0.0.1 0.0% 10 5.6 5.4 5.2 5.8 0.2 ...
📌 Cas d’usage typiques :
- Diagnostiquer une latence ou une perte de paquets.
- Identifier un routeur problématique sur le chemin vers un serveur.
- Vérifier la stabilité d’une connexion réseau.
🧰 ncdu
Analyseur d’espace disque interactif
- Description :
ncdu(NCurses Disk Usage) permet d’analyser l’utilisation du disque de manière interactive dans le terminal.
C’est un outil en mode texte conçu uniquement pour :
- Analyser l’utilisation de l’espace disque
- Naviguer dans les répertoires
- Supprimer des fichiers ou dossiers
Installation
sudo apt install ncdu
Utilisation
ncdu /chemin/du/dossier
Commandes utiles
- Analyse du dossier
/var/log:
ncdu /var/log
- Exclure
/homede l’analyse :
ncdu --exclude /home
Exemple pratique
Pour identifier les fichiers volumineux dans /var :
ncdu /var
→ Naviguez avec les flèches, supprimez avec d.
Avantages
- Interface texte intuitive
- Tri par taille
- Suppression directe des fichiers
🧰 ripgrep
Recherche ultra-rapide dans les fichiers
- Description :
ripgrep(rg) est un outil de recherche textuelle dans les fichiers, similaire àgrep, mais beaucoup plus rapide.
Installation
sudo apt install ripgrep
Utilisation
rg "mot-clé" /chemin
Commandes utiles
- Cherche "erreur" dans
/var/log:
rg "erreur" /var/log
- Recherche insensible à la casse :
rg -i "motclé"
- Recherche dans fichiers PHP :
rg --type php "function" src/
Exemple pratique
Pour trouver toutes les occurrences de password dans un projet :
rg "password" /chemin/projet
Avantages
- Recherche récursive
- Respect des
.gitignore - Syntaxe familière pour les utilisateurs de
grep
🧰 Yazi
Gestionnaire de fichiers moderne en terminal
- Description :
yaziest un gestionnaire de fichiers en terminal, rapide et esthétique, inspiré dennnetranger.
Installation
sudo apt install yazi
Utilisation
yazi
Commandes utiles
- Lance Yazi dans le dossier courant :
yazi
- Ouvre directement
/var/www:
yazi /var/www
Exemple pratique
Naviguer dans /etc et prévisualiser un fichier :
yazi /etc
→ Utilisez Tab pour prévisualiser, Enter pour ouvrir.
Fonctionnalités
- Navigation par raccourcis clavier
- Aperçu des fichiers (images, PDF, etc.)
- Intégration avec
fzf,ripgrep, etc.
🧰 Helix
Éditeur de texte modal moderne
- Description :
helixest un éditeur de texte modal (commevim) mais avec une interface plus moderne et des fonctionnalités intégrées.
Installation
sudo apt install helix
Utilisation
hx fichier.txt
Commandes utiles
- Ouvre le dossier courant :
hx .
- Ouvre à la ligne 10 :
hx fichier.php +10
Exemple pratique
Pour éditer un fichier avec coloration syntaxique et LSP :
hx index.php
→ Mode normal : dd supprime une ligne, :w sauvegarde.
Points forts
- Mode modal (normal, insertion, sélection)
- Support natif du LSP (Language Server Protocol)
- Arborescence de fichiers et coloration syntaxique avancée
🧰 ccze
Le paquet ccze sur Debian est un outil de coloration syntaxique pour les fichiers journaux et les sorties de commandes en ligne de commande. Il permet de rendre les logs plus lisibles en les colorant selon leur contenu (niveaux de log, dates, adresses IP, etc.).
Principales caractéristiques :
- Il fonctionne comme un filtre : tu peux l’utiliser avec
tail,cat,journalctl, etc. - Il prend en charge plusieurs formats de logs : Apache, syslog, dmesg, squid, postfix, etc.
- Il peut être utilisé en mode interactif ou dans des scripts.
Exemple d’utilisation :
journalctl -xe | ccze -A
Le -A permet d’utiliser les couleurs dans un terminal compatible ANSI.
Installation :
sudo apt install ccze
Voici les principales options disponibles avec ccze :
Options courantes :
| Option | Description |
|---|---|
-A
|
Utilise les codes ANSI pour la coloration (utile dans les terminaux compatibles). |
-h
|
Affiche l’aide (liste des options disponibles). |
-C
|
Désactive la coloration (utile pour tester ou rediriger vers un fichier). |
-c <type>
|
Spécifie le type de coloration (ex : apache, syslog, dmesg, squid, etc.).
|
-m
|
Active le mode “multifichier” (utile pour concaténer plusieurs fichiers). |
-o <format>
|
Définit le format de sortie : html, ansi, text, etc.
|
-n
|
Ne pas colorer les noms de fichiers. |
-p
|
Préserve les espaces en début de ligne. |
-r
|
Réinitialise les couleurs à chaque ligne. |
-s
|
Supprime les séquences de contrôle ANSI existantes dans l’entrée. |
-t
|
Ajoute un timestamp à chaque ligne. |
-v
|
Mode verbeux. |
Exemple d’utilisation :
tail -f /var/log/syslog | ccze -A
Ou pour générer une sortie HTML :
cat /var/log/syslog | ccze -o html > log.html