« Logiciels terminal » : différence entre les versions

Page créée avec « == Afficher des informations sur l'utilisation des disques (<code>df -h</code>) == === duf === <syntaxhighlight lang="bash" line copy> apt install duf </syntaxhighlight> <syntaxhighlight lang="bash" line copy> duf --hide special </syntaxhighlight> ==== Commande Description ==== <syntaxhighlight lang="bash" line> duf #Affiche tous les systèmes de fichiers duf --all #Montre aussi les pseudo-fs (tmpfs, etc.) duf --hide local #Cache les disques locaux duf /ho... »
 
 
(21 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
== Afficher des informations sur l'utilisation des disques (<code>df -h</code>) ==
'''Outils en ligne de commande utiles sur Debian '''
=== duf ===
 
== '''🧰 <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.
 
 
-----
 
=== 📦 '''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 &lt;type&gt;</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).
 
 
-----
 
=== '''📥 Installation de <code>tmux</code>''' ===
 
<ul>
<li><p>'''Debian/Ubuntu''' :</p>
<syntaxhighlight lang="bash" line copy>sudo apt install tmux</syntaxhighlight></li>
</ul>
-----
 
=== '''🎯 Utilisation de base''' ===
 
==== '''1. Démarrer une session''' ====
 
<syntaxhighlight lang="bash" line copy>tmux</syntaxhighlight>
* 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)''' ====
 
* Appuyer sur '''<code>Ctrl + B</code>''', puis '''<code>D</code>'''.
* La session continue de tourner en arrière-plan.
 
==== '''3. Lister les sessions actives''' ====
 
<syntaxhighlight lang="bash" line copy>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>
 
==== '''4. Rejoindre une session existante''' ====
 
<syntaxhighlight lang="bash" line copy>tmux attach -t 0  # Se connecte à la session 0</syntaxhighlight>
 
==== '''5. Fermer une session''' ====
 
<ul>
<li><p>Dans la session, taper :</p>
<syntaxhighlight lang="bash" line copy>exit</syntaxhighlight>
<p>ou utiliser '''<code>Ctrl + D</code>'''.</p></li></ul>
 
 
-----
 
=== '''🖥️ 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
|}
 
 
-----
 
=== '''📊 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
|}
 
 
-----
 
=== '''🔧 Personnalisation (fichier <code>~/.tmux.conf</code>)''' ===
 
Exemple de configuration :
 
<syntaxhighlight lang="bash" line># 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>'''.
 
 
-----
 
=== '''💡 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="bash" line>tmux new -s ma_session
tmux attach -t ma_session</syntaxhighlight></li>
<li><p>'''Partager une session''' (pair programming) :</p>
<syntaxhighlight lang="bash" line>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="bash" line copy>tmux attach -t shared</syntaxhighlight></li></ul>
 
 
-----
 
=== '''🔎 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.).
 
 
-----
 
=== '''🚀 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="bash" line>screen -S ma_session  # Créer
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 = &quot;cyan&quot;
bold = true
 
[style.example_code]
foreground = &quot;cyan&quot;
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>
<syntaxhighlight lang="bash" line copy>
apt install duf
sudo apt install ncdu
</syntaxhighlight>
</syntaxhighlight>


=== Utilisation ===
<syntaxhighlight lang="bash" line copy>
<syntaxhighlight lang="bash" line copy>
duf --hide special
ncdu /chemin/du/dossier
</syntaxhighlight>
</syntaxhighlight>


==== Commande Description ====
=== Commandes utiles ===
<syntaxhighlight lang="bash" line>
* Analyse du dossier <code>/var/log</code> :
duf #Affiche tous les systèmes de fichiers
<syntaxhighlight lang="bash" line copy>
duf --all  #Montre aussi les pseudo-fs (tmpfs, etc.)
ncdu /var/log
duf --hide local    #Cache les disques locaux
</syntaxhighlight>
duf /home  #Affiche uniquement un point de montage
* 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>
</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 &lt;type&gt;</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 &lt;format&gt;</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>


==== voir aussi commande <code>dust</code> (snap) ====


[[Catégorie: Linux]]
[[Catégorie: Terminal Tools]]