Journal Des "basheries"

Posté par  . Licence CC By‑SA.
Étiquettes :
89
29
nov.
2016

Salut,

Voici un journal qui répertorie les quelques raccourcis et commandes que j'ai découverts au fil du temps et de balades sur le net (blogs, forums, wiki, man bash, etc.). J'essaie de faire une liste ici de ceux qui me semblent vraiment utiles pour l'utilisation quotidienne du terminal par un utilisateur lambda. Je fais partie de cette catégorie, je ne suis ni un programmeur, ni un utilisateur averti, je fais de la recherche en sciences humaines et sociales et de (…)

Une faille nommée « shellshock »

82
28
sept.
2014
Sécurité

« ShellShock », une faille dans l'usage du shell Bash, est sous les projecteurs depuis quelques jours. Le terme est un jeu de mot entre la stupeur propre à l'obusite des combattants de la première guerre mondiale et l'interface système shell. Nous vous proposons des explications sur cet évènement particulier, son périmètre, les conditions de son exploitation, les surfaces d'attaques, et les solutions proposées, déjà mises en œuvre ou à venir. Enfin, une revue de presse sera dressée, cette faille s'étant transformée en évènement.

Journal Faire de la magie avec son .inputrc

Posté par  (site web personnel) . Licence CC By‑SA.
81
24
mar.
2015

Bonjour nal et naleux,

Faites-vous partie de ces barbus définissant des dizaines et des dizaines d'alias dans leur .bashrc, afin d'enlarge your productivity au maximum ? Mais savez-vous qu'il existe un fichier encore pluss trop bien, permettant de faire virevolter votre productivité à un niveau inégalé : le .inputrc ?

Celui-ci permet de définir des raccourcis claviers qui seront disponibles dans tous les clients utilisant readline (donc bash, mais pas zsh… Raison principale pour laquelle je ne suis toujours pas passé (…)

GameShell, apprendre les rudiments du shell en s'amusant

Posté par  . Édité par claudex et Pierre Jarillon. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
80
26
mar.
2021
Ligne de commande

Il y a 4 ans, j'ai pris en charge un nouveau cours intitulé « système d'exploitation » en première année de licence. Le programme est assez large, avec un peu d'architecture, un peu de système, et même un peu de réseau. Là dedans, je devais faire une introduction au shell. Le risque avec ce genre du truc, c'est de se retrouver avec un catalogue de commandes qui rebutera même les étudiants les plus motivés.

Et c'est comme ça qu'est né GameShell, ou gash pour les intimes. GameShell est un jeu où il faut entrer des commandes dans un shell (bash) pour valider des « missions ». Comme il n'y a pas eu de gros bug ces deux dernières années, je me dis que je pouvais en faire la pub. (Attention, il reste probablement plein de bugs. C'est juste que les étudiants ne sont pas encore tombés dessus !). Ça peut intéresser les gens qui veulent apprendre, ou enseigner les rudiments du shell.

Le code est disponible sur GitHub (promis, je changerais un de ces jours) avec une licence GPL : GameShell sur GitHub

N'hésitez pas à me faire des retours d'utilisation, des rapports de bugs, proposer des fonctionnalités, ajouter des missions, etc.
Si vous l'utilisez « en public », ça serait juste bien d'inclure un lien vers le dépôt et / ou mon nom.

GameShell est un jeu en ligne de commandes, où le joueur doit taper des commandes bash pour valider des « missions ».

Coloriser des flux de texte avec colout

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud. Modéré par claudex. Licence CC By‑SA.
65
4
avr.
2013
Ligne de commande

Les réalisateurs de films policiers ne s'y trompent pas : lire des flux de textes en ligne de commande nécessite parfois le super pouvoir de lisibilité.

Bien que les outils GNU soient extrêmement pratiques pour manipuler des flux de texte, il en manquait un pour aider à mettre en valeur l'information importante, sans masquer l'accessoire. Par exemple pour faciliter la lecture de logs s'étendant sur plusieurs lignes ou pour détecter rapidement le numéro de ligne d'un fichier responsable d'une erreur de compilation.

Heureusement, grâce à la commande colout (aujourd'hui en version 1.0), vous pouvez maintenant très facilement coloriser colorer colorier mettre de la couleur là où vous le souhaitez dans votre ligne de commande.

Basiquement, colout s'utilise comme un filtre de flux de texte classique, généralement après un pipe, et mets en valeur les bouts de texte correspondant à une expression régulière avec une couleur et un style de votre choix :

    <flux de texte> | colout <expression régulière> [couleur [style]]

L'IHM de colout est pensée pour être simple tout en permettant des utilisations vraiment intéressantes, telles que le coloriage l'application des couleurs sur les groupes des expressions, l'utilisation de cartes de couleurs (mais si, vous savez, les couleurs de l'arc-en-ciel…), la coloration la mise en valeur de la syntaxe de code source, des thèmes automatiques et même l'application d'une couleur en fonction de la valeur d'un nombre.

Journal Mes nautilus scripts

Posté par  (site web personnel) . Licence CC By‑SA.
62
22
jan.
2015

Il était une fois

La possibilité de modifier des fichiers dans le navigateur idoine à l’aide de scripts m’a toujours beaucoup intéressé. Il y a longtemps j’avais d’ailleurs modestement participé au projet g-scripts. Les nautilus scripts me plaisent car il suffit de créer un nouveau fichier dans un dossier spécifique pour que celui-ci soit disponible, un seul fichier, c’est simple (du coup je n’aime pas tellement nautilus-actions ou la solution de thunar… mais c’est une histoire de goût…). Enfin (…)

Journal Mets à jour ton bash. Maintenant.

55
24
sept.
2014

Bonjour, Nal

Un journal bookmark pour signaler : faut mettre à jour bash
Voilà, c'est tout. Vous pouvez reprendre une activité normale.

Pour les autres, qui ne vont pas reprendre une activité normale de suite, on pourra résumer cela en "c'est sérieux, urgent, et mérite peut être une campagne de patch au pied levé". Cette découverte, qui date d'une vingtaine de jours aujourd'hui, vient d'avoir ses correctifs validés, à priori (…).
Sans cela, il est possible de faire, par exemple (…)

Journal Bash et les raccourcis clavier

Posté par  . Licence CC By‑SA.
Étiquettes :
50
18
sept.
2017

Bonjour nal.

Aujourd’hui je vais parler des raccourcis clavier sur Bash. Parce que j’en ai envie.

C’est très pratique et reposant de pouvoir manipuler Bash en bougeant le moins possible ses mains. Tant qu’on écrit du texte, c’est facile. Mais, très souvent, on a besoin de bouger le curseur d’écriture, de supprimer un caractère, d’avoir l’auto‐complétion, etc. Pour cela, le réflexe est d’utiliser les touches dédiées du clavier : Tab, , « Retour charriot », etc. Ces touches étant aux bords du (…)

Journal Script pour se désinscrire massivement des listes publicitaires

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
47
17
fév.
2020

Bonjour,

j’ai un compte de messagerie que je n’utilise plus beaucoup, entre autres choses parce qu’il est sévèrement spammé (typiquement 15 pourriels par jour). Je sais qu’il est conseillé de ne pas cliquer sur les liens de désinscription, mais pour ce compte je n’ai plus grand’chose à perdre. J’ai donc décidé d’expérimenter la chose à grande échelle (pas question de le faire à la main, je vais m’épuiser à ce rythme‑là).

Je ne suis bien sûr pas le seul à (…)

Journal Host@home : faciliter l'auto-hébergement

47
27
avr.
2014

On vous dit que google conserve vos données, que facebook les communique à des tiers. Vous vous sentez concernés par les articles parlant de vie privée. Alors ça y est, c'est décidé, vous ne dépendrez plus de sociétés tierces pour héberger vos courriels, pour échanger des fichiers avec vos contacts… Vous allez vous auto-héberger.

Super.

Euh, par contre, comment on fait? Entre le nom de domaine à louer, la machine à choisir en tant que serveur, les lignes de (…)

Bash Argsparse : mieux gérer sa ligne de commande dans ses scripts.

Posté par  (site web personnel) . Édité par Xavier Teyssier, Benoît Sibaud et ZeroHeure. Modéré par claudex. Licence CC By‑SA.
46
10
oct.
2013
Ligne de commande

Je vous présente une bibliothèque écrite en Shell : bash-argsparse

Bash-argsparse permet une gestion des options de la ligne de commande en plus haut niveau qu'un simple getopt, un peu comme le module argparse de python.

Parmi la liste des fonctionnalités, on trouve :

  • la génération automatique du --help ;
  • la vérification des entrées utilisateurs, soit suivant des énumérations, soit suivant des formats pré-établis (nombres entiers, adresses IP, etc.), soit via des résultats de fonctions définies par le développeur du script ;
  • l'exclusion mutuelle de plusieurs options ;
  • le cumul de valeur par répétition d'une option ;
  • et plein d'aut'trucs.

Bash 5 : une introduction

Posté par  . Édité par Ysabeau 🧶 🧦, Gil Cot ✔, Anonyme, Benoît Sibaud et palm123. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
44
5
août
2022
Ligne de commande

La troisième version du document « Introduction à la programmation en Bash » (IUT de Rodez) vient de paraître. Elle est principalement destinée aux étudiants de niveau Licence.

Liquidprompt version 1.7

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud et Nils Ratusznik. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes :
42
2
déc.
2013
Technologie

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles là où vous les verrez : le prompt de votre shell bash ou zsh.

Le liquidprompt était déjà bien rempli de fonctionnalités, mais vu la quantité de travail de fond accompli sur la branche de développement, il coulait de source qu'il était temps de sortir une nouvelle version stable.

Une vague de bugfix (notamment une meilleure compatibilité avec zsh, FreeBSD, OpenBSD et OS X) mais surtout un torrent, que dis-je, un raz-de-marée, d'optimisations (notamment dans les dépôts mercurial ou bazaar) écoulées par le nouveau mainteneur, Olivier Mengué.

Quelques gouttes de fonctionnalités, également :

  • affichage du temps mis par la dernière commande (s'il dépasse un seuil, dans le plus pur style liquidprompt) ;
  • l'affichage du nombre de lignes modifiées dans les dépôts fossil ;
  • la température affichée est maintenant la moyenne des maximums ;
  • désactivation du support de gestion de version pour l'utilisateur root (plus logique d'un point de vue sécurité).

Je ne voudrais pas trop me mouiller, mais je crois qu'on a là un excellent cru.

LiquidPrompt version 1.2

Posté par  (site web personnel, Mastodon) . Édité par baud123, Nils Ratusznik et NeoX. Modéré par Nÿco. Licence CC By‑SA.
42
16
jan.
2013
Ligne de commande

LiquidPrompt est un prompt clefs-en-main pour bash ou zsh, dont l'idée générale est d'afficher élégamment des informations utiles uniquement quand le contexte le demande.

De nombreuses nouveauté sont disponibles depuis la dernière linuxfrisation, notamment :

  • la gestion de zsh en plus de bash ;
  • des commandes pour désactiver temporairement le prompt (et revenir à l'ancien ou carrément tout désactiver) ;
  • de quoi configurer facilement le prompt dans des fichiers à soi (couleurs, thèmes, options) ;
  • la désactivation optionnelle de chaque fonctionnalité du prompt (même à chaud) ;
  • une couleur indiquant si le forwarding X est actif ;
  • gestion du chroot sous Debian et du virtualenv sous Python ;
  • la réplication du prompt dans le titre de la fenêtre ;
  • la gestion de Fossil (le gestionnaire de version) ;
  • la possibilité de masquer l'utilisateur, si c'est celui qui est loggué ;
  • l'utilisation du builtin DIRTRIM, sous bash, s'il est installé ;
  • un fichier .bashrc à utiliser pour l'installation ;
  • plein (mais alors plein) de bugs en moins et de vitesse en plus !

Un prompt bash utile, sans poudre aux yeux

Posté par  (site web personnel, Mastodon) . Modéré par NeoX. Licence CC By‑SA.
Étiquettes :
40
7
juil.
2012
Ligne de commande

La configuration de l'invite de commande du shell est un sujet largement traité sur le web. Cependant, on y voit le plus souvent des configurations du type « j'affiche l'horloge sur une ligne complète en arc-en-ciel clignotant ». Pas cool.

Le prompt idéal doit permettre de se rendre compte intuitivement de l'environnement où vous êtes (connexion ssh, root, dépôt git, etc.) et ne doit afficher les informations contextuelles que si elles sont nécessaires. Cool.

Le prompt bash que je vous propose a les fonctionnalités suivantes :

  • couleurs vives pour une connexion root,
  • affichage du nom d'hôte uniquement en cas de connexion distante, avec une couleur différente selon le type de connexion (ssh, telnet),
  • dans les répertoires GIT, affichage du nom de la branche, avec une couleur indiquant le statut des commits
  • rappel du nombre de jobs attachés au terminal, si besoin est
  • alertes batterie et/ou charge système, si besoin est, avec un dégradé de couleurs