« Logiciels terminal » : différence entre les versions
| (7 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
'''Outils en ligne de commande utiles sur Debian ''' | |||
== '''🧰 <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. | '''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. | ||
| Ligne 5 : | Ligne 7 : | ||
----- | ----- | ||
=== 📦 '''Installation de DUF''' === | |||
==== Sur Linux (Debian/Ubuntu) : ==== | |||
<syntaxhighlight lang="bash" line copy>sudo apt update && sudo apt install duf</syntaxhighlight> | <syntaxhighlight lang="bash" line copy>sudo apt update && sudo apt install duf</syntaxhighlight> | ||
| Ligne 15 : | Ligne 15 : | ||
----- | ----- | ||
=== 🚀 '''Utilisation de base''' === | |||
<ol style="list-style-type: decimal;"> | <ol style="list-style-type: decimal;"> | ||
| Ligne 23 : | Ligne 22 : | ||
</li> | </li> | ||
<li><p>'''Filtrer par système de fichiers''' (ex : <code>ext4</code>) :</p> | <li><p>'''Filtrer par système de fichiers''' (ex : <code>ext4</code>) :</p> | ||
<syntaxhighlight lang="bash" line copy>duf -- | <syntaxhighlight lang="bash" line copy>duf -only-fs ext4</syntaxhighlight></li> | ||
<li><p>'''Afficher uniquement certains disques''' (ex : <code>/dev/sda1</code>) :</p> | <li><p>'''Afficher uniquement certains disques''' (ex : <code>/dev/sda1</code>) :</p> | ||
<syntaxhighlight lang="bash" line copy>duf /dev/sda1</syntaxhighlight></li> | <syntaxhighlight lang="bash" line copy>duf /dev/sda1</syntaxhighlight></li> | ||
| Ligne 34 : | Ligne 33 : | ||
----- | ----- | ||
=== 🔧 '''Options courantes''' === | |||
{| class="wikitable" | {| class="wikitable" | ||
| Ligne 68 : | Ligne 65 : | ||
----- | ----- | ||
=== 💡 '''Exemples pratiques''' === | |||
<ul> | <ul> | ||
| Ligne 82 : | Ligne 78 : | ||
----- | ----- | ||
=== 📌 '''Pourquoi utiliser DUF ?''' === | |||
✅ '''Plus lisible''' que <code>df</code>/<code>du</code><br /> | ✅ '''Plus lisible''' que <code>df</code>/<code>du</code><br /> | ||
| Ligne 90 : | Ligne 85 : | ||
✅ '''Support JSON''' pour l’automatisation | ✅ '''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). | ||
| Ligne 100 : | Ligne 95 : | ||
----- | ----- | ||
=== '''📥 Installation de <code>tmux</code>''' === | |||
<ul> | <ul> | ||
| Ligne 109 : | Ligne 103 : | ||
----- | ----- | ||
=== '''🎯 Utilisation de base''' === | |||
==== '''1. Démarrer une session''' ==== | |||
<syntaxhighlight lang="bash" line copy>tmux</syntaxhighlight> | <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)''' ==== | |||
* Appuyer sur '''<code>Ctrl + B</code>''', puis '''<code>D</code>'''. | * Appuyer sur '''<code>Ctrl + B</code>''', puis '''<code>D</code>'''. | ||
* La session continue de tourner en arrière-plan. | * La session continue de tourner en arrière-plan. | ||
==== '''3. Lister les sessions actives''' ==== | |||
<syntaxhighlight lang="bash" line copy>tmux ls</syntaxhighlight> | <syntaxhighlight lang="bash" line copy>tmux ls</syntaxhighlight> | ||
| Ligne 135 : | Ligne 122 : | ||
<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''' ==== | |||
<syntaxhighlight lang="bash" line copy>tmux attach -t 0 # Se connecte à la session 0</syntaxhighlight> | <syntaxhighlight lang="bash" line copy>tmux attach -t 0 # Se connecte à la session 0</syntaxhighlight> | ||
==== '''5. Fermer une session''' ==== | |||
<ul> | <ul> | ||
| Ligne 150 : | Ligne 137 : | ||
----- | ----- | ||
=== '''🖥️ Gestion des fenêtres (<code>windows</code>)''' === | |||
{| class="wikitable" | {| class="wikitable" | ||
| Ligne 177 : | Ligne 163 : | ||
----- | ----- | ||
=== '''📊 Gestion des panneaux (<code>panes</code>)''' === | |||
{| class="wikitable" | {| class="wikitable" | ||
| Ligne 204 : | Ligne 189 : | ||
----- | ----- | ||
=== '''🔧 Personnalisation (fichier <code>~/.tmux.conf</code>)''' === | |||
Exemple de configuration : | Exemple de configuration : | ||
| Ligne 225 : | Ligne 209 : | ||
----- | ----- | ||
=== '''💡 Astuces utiles''' === | |||
<ul> | <ul> | ||
| Ligne 244 : | Ligne 227 : | ||
----- | ----- | ||
=== '''🔎 Pourquoi utiliser <code>tmux</code> ?''' === | |||
✅ '''Persistance''' : Les processus continuent même après déconnexion.<br /> | ✅ '''Persistance''' : Les processus continuent même après déconnexion.<br /> | ||
| Ligne 255 : | Ligne 237 : | ||
----- | ----- | ||
=== '''🚀 Alternative : <code>screen</code>''' === | |||
<code>tmux</code> est une alternative moderne à <code>screen</code> (plus ancien, moins de fonctionnalités).<br /> | <code>tmux</code> est une alternative moderne à <code>screen</code> (plus ancien, moins de fonctionnalités).<br /> | ||
| Ligne 265 : | Ligne 246 : | ||
----- | ----- | ||
== 🧰 <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]] | ||