Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇Korben
  • Shells Unix - 5 redirections que vous copiez sans comprendre
    2>&1, >, >>, 2>/dev/null... Si ces symboles dans votre terminal Linux ou macOS vous font autant flipper qu'un regex, respirez un grand coup ! Quand vous aurez lu cet article, vous verrez qu'en fait c'est super simple à comprendre, et en 5 minutes vous saurez enfin ce que vous copiez-collez depuis des années depuis StackOverflow. En fait, dans les shells Unix (bash, zsh, etc.), y'a 3 canaux de base : stdin (entrée, numéro 0), stdout (sortie normale, numéro 1) et stderr (les err

Shells Unix - 5 redirections que vous copiez sans comprendre

Par : Korben
27 février 2026 à 09:53

2>&1, >, >>, 2>/dev/null... Si ces symboles dans votre terminal Linux ou macOS vous font autant flipper qu'un regex, respirez un grand coup ! Quand vous aurez lu cet article, vous verrez qu'en fait c'est super simple à comprendre, et en 5 minutes vous saurez enfin ce que vous copiez-collez depuis des années depuis StackOverflow.

En fait, dans les shells Unix (bash, zsh, etc.), y'a 3 canaux de base : stdin (entrée, numéro 0), stdout (sortie normale, numéro 1) et stderr (les erreurs, numéro 2). Tout le reste, de > à 2>/dev/null, découle de ces 3 numéros.

> - Écrire dans un fichier (et tout écraser)

echo "Salut" > fichier.txt

Ça redirige stdout vers fichier.txt. Si le fichier existe déjà... c'est mort, il est écrasé sans sommation. Du coup, faites gaffe avec vos logs, une commande mal placée et ce sont des heures de données qui disparaissent.

D'ailleurs, si vous êtes du genre parano (et oui, vous avez raison !), set -o noclobber dans votre .bashrc empêchera > d'écraser un fichier existant lors d'une commande tapée à la main. Pour y arriver, il faudra utiliser >| pour forcer.

>> - Ajouter à la suite

echo "Ligne 2" >> fichier.txt

Même principe que >, sauf que ça ajoute à la fin au lieu d'écraser. C'est ce que vous voulez 99% du temps pour des logs (sauf si vous voulez repartir de zéro, là > fait le job). Une lettre de différence entre "tout va bien" et "où sont passés mes logs, boudiouuu ???".

2> - Rediriger les erreurs

commande_foireuse 2> erreurs.log

Le 2 c'est stderr, en gros (y'a pas d'espace entre le 2 et le >, sinon bash croit que 2 est un argument). Tout ce qui sort en erreur finit dans erreurs.log au lieu de polluer votre terminal. Perso, je trouve ça super pratique pour garder une trace propre quand vous lancez des scripts via crontab -e.

Et 2>> existe aussi, pour cumuler les erreurs au fil du temps au lieu d'écraser le fichier à chaque exécution.

2>&1 - Fusionner erreurs et sortie normale

commande > output.log 2>&1

Le fameux ! Le &1 dit à bash "le 1 c'est un file descriptor, pas un fichier qui s'appelle littéralement 1". Du coup stderr (2) est redirigé vers le même endroit que stdout (1), ou plutôt vers là où stdout pointe au moment où bash évalue la ligne. Ça va, vous suivez toujours ? ^^

Attention, l'ordre compte ! Bash lit les redirections de gauche à droite. > output.log 2>&1, stdout pointe vers le fichier, puis stderr suit... tout va dans le fichier. 2>&1 > output.log, stderr copie stdout qui pointe ENCORE vers le terminal, puis stdout est redirigé vers le fichier. Résultat, les erreurs restent dans votre terminal. Le piège classique.

Et &> fait la même chose en plus court :

commande &> output.log

&> est super pratique, mais spécifique à bash / zsh donc pour la portabilité, préférez quand même > fichier 2>&1.

2>/dev/null - Le trou noir

find / -name "*.conf" 2>/dev/null

/dev/null, c'est le trou noir d'Unix. Tout ce que vous envoyez là-dedans disparaît. Super pratique avec find qui vous crache 200 "Permission denied" pour un seul résultat utile.

Et si vous voulez TOUT faire disparaître (stdout + stderr) ? Un petit &>/dev/null et c'est réglé. Pratique dans vos scripts /etc/cron.d/ quand vous voulez zéro bruit (bon, j'exagère un chouïa, je sais...).

Si vous aimez les raccourcis bash , j'ai aussi ce qu'il faut.

Bref, voilà ce sont juste 5 opérateurs à retenir, et avec ça vous couvrez à peu près tout. Donc la prochaine fois que vous copierez un 2>&1, au moins vous saurez pourquoi.

Source d'inspiration

  • ✇Korben
  • SSH Pilot - Un super gestionnaire de connexion SSH pour Linux / macOS
    Et si je vous disais que pendant que vous galérez avec PuTTY et son interface à la Windows 95, ou que vous payez 119 balles pour SecureCRT, il existe un gestionnaire SSH moderne, gratuit et absolument magnifique qui attend tranquillement que quelqu’un le remarque ? Hé bien c’est exactement ce qui se passe avec SSH Pilot dispo pour Linux et macOS, et je trouve ça vraiment bizarre que personne n’en parle. Quand je suis tombé dessus, c’est vrai que j’ai cru à un énième fork de Terminator ou un wrap

SSH Pilot - Un super gestionnaire de connexion SSH pour Linux / macOS

Par : Korben
24 septembre 2025 à 09:21

Et si je vous disais que pendant que vous galérez avec PuTTY et son interface à la Windows 95, ou que vous payez 119 balles pour SecureCRT, il existe un gestionnaire SSH moderne, gratuit et absolument magnifique qui attend tranquillement que quelqu’un le remarque ?

Hé bien c’est exactement ce qui se passe avec SSH Pilot dispo pour Linux et macOS, et je trouve ça vraiment bizarre que personne n’en parle. Quand je suis tombé dessus, c’est vrai que j’ai cru à un énième fork de Terminator ou un wrapper autour de tmux, mais non, c’est un vrai gestionnaire de connexions SSH développé par mfat , avec une interface moderne en libadwaita/GTK4, c’est à dire le truc le plus propre que GNOME ait sorti ces dernières années.

Alors j’ai creusé un peu, je l’ai installé, et là, révélation. Cette appli fait TOUT ce qu’on attend d’un gestionnaire SSH moderne : des onglets pour jongler entre les connexions, un gestionnaire SFTP intégré qui s’ouvre direct dans Nautilus, la génération de paires de clés en deux clics, le port forwarding (local, remote, dynamic), et même le regroupement de serveurs pour ceux qui gèrent des “fermes” entières. Ah et toutes les infos de config sont chiffrées sur votre disque dur.

On peut aussi naviguer entièrement au clavier dans l’appli, ce qui est super pratique. Ctrl+L pour passer de la liste des serveurs au terminal, Ctrl+F4 pour fermer un onglet, Alt+flèches pour switcher entre les tabs. C’est tellement bien pensé que ça en devient suspect ^^.

Car quand on gère plusieurs serveurs, on s’y perd vite si on n’est pas organisé ! On jongle avec des dizaines de connexions SSH, on tape des alias bash à rallonge, on installe des extensions tmux incompréhensibles…

Alors pourquoi SSH Pilot reste si peu connu alors qu’il est trop méga super génial ??? Hé bien j’ai ma petite théorie…

Dans le monde Linux, on a tellement d’alternatives pour chaque truc qu’on finit par se noyer. Quand on cherche un client SSH, on a PuTTY, KiTTY, SuperPuTTY, mTPuTTY, Solar-PuTTY, Bitvise, Tabby, MobaXterm, Termius, SecureCRT… et j’en passe. Trop de choix qui tue le choix !

Bref, jetez un oeil SSH Pilot, ça vous changera des client SSH avec une interface de Minitel.

❌
❌