L’article explore l’univers des terminaux et shells sous Linux, en soulignant leur importance persistante en 2025 pour la gestion de fichiers, le développement, l’administration système et bien plus. Il commence par rappeler la distinction entre TTY et pts/pty, puis détaille l’évolution des shells (Bash, Zsh, Fish, etc.), leurs spécificités et leurs usages, ainsi que les multiplexeurs comme GNU Screen ou Tmux. L’article passe ensuite en revue une multitude de terminaux disponibles, qu’ils soient intégrés aux environnements de bureau (GNOME Console, Konsole, xfce-terminal), liés à des éditeurs de texte (Emacs, Vim), ou indépendants (Alacritty, Kitty, Wezterm, Warp, etc.), en mettant en avant leurs fonctionnalités, philosophies et particularités techniques. Il évoque aussi des solutions innovantes ou controversées, comme les terminaux intégrant l’IA (Warp, Waveterm). Une ressource utile pour découvrir ou comparer les outils de ligne de commande adaptés à ses besoins.
Une application en ligne de commande (TUI) pour gérer le WIFI sous Linux
Il s'agit d'un outil cli pour afficher des infos sur votre configuration matérielle et logicielle : distribution, version du noyau, etc. Il est hautement personnalisable
GDU (Go Disk Usage) est présenté comme le successeur moderne et ultra-rapide de ncdu pour analyser l’utilisation des disques sous Linux. Développé en Go, il se distingue par sa vitesse fulgurante (optimisé pour les SSD et multi-CPU), une interface intuitive et une installation simplifiée (disponible via les dépôts ou GitHub). Idéal pour identifier rapidement les fichiers encombrants, il s’impose comme un outil indispensable pour les administrateurs système et développeurs, surtout sur des serveurs distants ou des arborescences volumineuses. Une alternative efficace pour éviter les messages « Disk Full » et optimiser l’espace disque en un clin d’œil. (Lien GitHub : dundee/gdu)
L'article introduit la commande Linux tc (traffic control), utilisée pour simuler et contrôler le trafic réseau. L’article montre comment ajouter un délai de 500 ms aux paquets avec tc qdisc add dev wlp3s0 root netem delay 500ms, puis supprimer cette règle avec tc qdisc del. L’outil netem permet aussi de perdre, dupliquer ou corrompre des paquets, idéal pour tester des conditions réseau difficiles. L’autrice mentionne qu’avec un routeur Linux, on peut même ralentir le trafic d’autres utilisateurs (comme celui d’un frère), et invite à explorer tc qdisc show pour voir les règles actuelles. Le zine complet et d’autres comics sont disponibles via abonnement ou sur le site.
L'article explique comment utiliser la commande ss (socket statistics) sous Linux pour identifier et gérer les processus utilisant un port réseau. L’article montre comment ss -tunapl permet de lister les serveurs en cours d’exécution et d’afficher les PID des processus, utile pour libérer un port occupé (comme le 8080). Les options comme -n (affichage des ports en numérique), -p (affichage des PID), et d’autres (-l, -t, -u) sont détaillées pour filtrer les sockets TCP, UDP ou Unix. L’autrice recommande ss plutôt que netstat, plus ancien et complexe, pour une utilisation plus simple et efficace. Le zine complet et d’autres ressources sont disponibles via abonnement ou sur le site.
Cet article explique la commande Linux ip, utilisée pour visualiser et modifier la configuration réseau. L’article détaille quelques sous-commandes utiles comme ip addr list (affiche les adresses IP des interfaces), ip route list (affiche la table de routage), et montre comment changer une adresse MAC pour contourner des restrictions réseau (par exemple dans les cafés). D’autres options comme ip link (gestion des interfaces), ip neigh (table ARP), et ip xfrm (pour IPsec) sont mentionnées, ainsi que des astuces comme l’utilisation de --color pour une sortie colorée ou --brief pour un résumé. Le zine complet et d’autres comics sont disponibles via un abonnement à la newsletter ou sur le site de l’autrice.
Ce zine explique simplement comment surveiller l’utilisation du disque sous Linux avec des commandes essentielles :
du (avec -s pour un résumé et -h pour des tailles lisibles) permet de connaître l’espace occupé par des fichiers ou dossiers, tandis que df (et son option -h) affiche l’espace disponible sur chaque partition. L’autrice souligne aussi l’importance de df -i pour vérifier la consommation d’inodes, dont l’épuisement empêche la création de nouveaux fichiers. Enfin, elle présente ncdu comme un outil interactif pour visualiser l’espace disque utilisé, et iostat pour analyser les performances de lecture/écriture en temps réel.
Ce zine explique de façon claire et visuelle comment utiliser la commande ps sous Linux pour lister les processus en cours. L’autrice recommande d’utiliser ps aux pour afficher tous les processus avec leur utilisateur, et détaille des options utiles comme w (pour voir les arguments complets des commandes), e (pour afficher les variables d’environnement), ou encore f (pour un arbre ASCII des processus). Elle souligne aussi que ps supporte trois styles d’arguments (UNIX, BSD, GNU), ce qui peut rendre son utilisation un peu déroutante, et propose des astuces comme ps -eo user,pid,wchan,cmd pour personnaliser les colonnes affichées. Enfin, elle rappelle que des outils comme pstree peuvent compléter ps pour visualiser la hiérarchie des processus.
Le comic explique que beaucoup de programmes (comme git ou man) utilisent l’outil less pour afficher du texte long, sans toujours le préciser. less permet de naviguer dans un texte page par page : on le reconnaît à son interface plein écran et au deux-points en bas à gauche. Pour en sortir, tapez q ; pour chercher un mot, utilisez /mot puis n ou N pour naviguer entre les résultats. On peut aussi scroller avec les flèches ou la molette, et g ou G pour aller en début/fin de fichier. Enfin, pour éviter less, on peut modifier la variable d’environnement PAGER. Un rappel utile et visuel pour mieux maîtriser le terminal !
Le lien explique les redirections de terminal à travers des exemples de commandes. Il montre comment rediriger la sortie d'une commande vers un fichier avec >, ajouter à un fichier avec >>, envoyer un fichier en entrée avec <, et gérer les erreurs avec 2>. Il aborde aussi les pièges courants, comme la suppression accidentelle de fichiers et les problèmes de permissions avec sudo. Enfin, il compare l'utilisation de cat et < pour les entrées, et mentionne des raccourcis comme &> pour rediriger à la fois la sortie standard et les erreurs.
Le lien explique le rôle du shell dans le terminal, qui est essentiel pour démarrer des programmes. Il présente les trois shells les plus populaires : bash, le shell par défaut sur Linux ; zsh, le shell par défaut sur Mac depuis 2025 ; et fish, connu pour être plus convivial. Le zine mentionne également que bash et zsh sont des "POSIX shells", suivant un standard pour les shells Unix, bien qu'il existe des différences entre eux. Il fournit des informations sur l'emplacement des fichiers de configuration pour chaque shell : ~/.bashrc ou ~/.bash_profile pour bash, ~/.zshrc pour zsh, et ~/.config/fish/config.fish pour fish. Enfin, il offre un conseil pour déterminer quel fichier de configuration bash utilise.
La page explique comment gérer plusieurs programmes, ou "jobs", dans un même onglet de terminal. Les programmes peuvent s'exécuter au premier plan, en arrière-plan ou être arrêtés (mis en pause). En utilisant &, un programme peut être exécuté en arrière-plan, ce qui est utile pour des tâches parallèles comme la conversion de fichiers. La commande jobs permet de lister les tâches en arrière-plan ou arrêtées, et vous pouvez les manipuler en les ramenant au premier plan avec fg, en les tuant avec kill, ou en les détachant avec disown. Lorsque vous fermez un onglet de terminal, toutes les tâches sont tuées par un signal SIGHUP, mais cela peut être évité avec disown ou nohup. Un conseil est donné pour tuer les programmes récalcitrants : utilisez Ctrl+Z pour les arrêter, puis kill pour les terminer
Le lien explique le rôle d'un émulateur de terminal, qui consiste principalement à convertir les actions de l'utilisateur (comme la frappe et le clic) en octets pour les envoyer, et à recevoir des octets pour les afficher visuellement. Il aborde brièvement l'histoire des terminaux, mentionnant qu'ils étaient autrefois des machines distinctes dans les années 80, et explique que les octets échangés peuvent être du texte, des codes d'échappement pour les couleurs, ou des caractères de contrôle. L'émulateur de terminal gère également des fonctions comme le copier-coller et la gestion des couleurs et des polices, offrant souvent une bibliothèque de thèmes pour personnaliser l'apparence. Enfin, il mentionne comment les combinaisons de touches comme Ctrl-X sont traduites en octets.
La page explique comment les émulateurs de terminal utilisent 16 couleurs configurables, connues sous le nom de "couleurs ANSI". Ces couleurs peuvent être personnalisées via les paramètres de l'émulateur de terminal ou en exécutant un script qui utilise des codes d'échappement. Les programmes peuvent utiliser ces couleurs en imprimant des codes d'échappement spécifiques, comme illustré par l'exemple echo -e "\033[34m blue text". Cependant, les couleurs ANSI par défaut souffrent souvent de problèmes de contraste, rendant le texte difficile à lire. La solution recommandée est d'utiliser un émulateur de terminal avec une fonctionnalité de "contraste minimum", comme iTerm ou Kitty, pour améliorer la lisibilité. De plus, les programmes désactivent généralement les couleurs lorsqu'ils écrivent dans un pipe pour éviter les problèmes d'affichage.
Le lien explique comment les clics de souris dans un terminal peuvent être gérés soit par l'émulateur de terminal, soit par le programme en cours d'exécution. L'émulateur de terminal est utile pour des actions comme copier du texte, tandis que certains programmes, comme tmux ou vim, peuvent prendre le contrôle de la souris pour des fonctionnalités spécifiques, comme redimensionner des panneaux ou naviguer dans des menus. Ce processus, appelé "mouse reporting", permet aux programmes de recevoir des codes d'échappement pour localiser les clics de souris. L'article mentionne également des astuces pour forcer l'émulateur de terminal à reprendre le contrôle de la souris et discute du comportement de la molette de défilement dans différents programmes.
La page explique que différents émulateurs de terminal utilisent divers codes d'échappement pour effectuer des actions comme effacer l'écran. Les systèmes disposent d'une base de données appelée "terminfo" qui contient ces codes d'échappement, permettant aux programmes de savoir comment interagir avec le terminal. La variable d'environnement TERM est utilisée pour identifier le type de terminal, mais cela peut poser problème lors de l'utilisation de SSH avec des systèmes anciens et des émulateurs modernes. Des solutions sont proposées pour résoudre ces problèmes, comme installer le fichier terminfo approprié ou utiliser un émulateur de terminal différent. Autre possibilité : définir TERM=xterm-256color fonctionne assez souvent
L'article explique pourquoi l'édition de texte dans un REPL (Read-Eval-Print Loop) ne fonctionne pas toujours de manière intuitive. Contrairement aux attentes, chaque programme doit implémenter ses propres fonctionnalités d'édition de texte, ce qui signifie que les touches fléchées peuvent ne pas fonctionner automatiquement. Cependant, certaines fonctionnalités comme la touche de suppression (backspace), Ctrl+W pour supprimer un mot, et Ctrl+U pour supprimer une ligne, sont souvent disponibles. La plupart des REPLs utilisent ou imitent la bibliothèque "readline", qui standardise les raccourcis clavier comme Ctrl+A pour aller au début de la ligne. Pour les programmes qui n'utilisent pas "readline", comme certains programmes intégrés sur Mac, des outils comme rlwrap peuvent ajouter ces fonctionnalités.
La page présente des raccourcis clavier utiles pour travailler dans un terminal. Parmi les raccourcis mentionnés, on trouve des commandes pour éditer du texte comme Ctrl + W pour supprimer le mot précédent et Ctrl + U pour supprimer une ligne entière. Pour quitter ou gérer des processus, on peut utiliser Ctrl + C, Ctrl + Z, ou Ctrl + D. Des raccourcis pour naviguer dans le texte incluent Ctrl + A pour aller au début de la ligne et Ctrl + E pour la fin. D'autres astuces utiles incluent Ctrl + L pour effacer l'écran et Ctrl + R pour rechercher dans l'historique. Enfin, des combinaisons comme Ctrl + Shift + C/V sont utilisées pour copier et coller dans l'émulateur de terminal.
Le comic "Meet the TTY Driver" de Wizard Zines présente le pilote TTY, une partie obscure mais essentielle des systèmes informatiques. Il explique que lorsque vous démarrez un émulateur de terminal, le système crée une paire de "pseudoterminal" composée de deux fichiers, permettant la communication entre l'émulateur de terminal et le programme. Le pilote TTY est responsable de plusieurs fonctions, comme la gestion de la taille de la fenêtre du terminal, l'envoi de signaux comme SIGHUP lors de la fermeture du terminal, et le mode canonique pour la saisie de texte. Il est également la raison pour laquelle des combinaisons de touches comme Ctrl+C fonctionnent de manière cohérente. Le pilote TTY peut aussi mettre en pause la sortie et gérer les processus au premier plan.