Journal petite introduction à Fish

Posté par  . Licence CC By‑SA.
Étiquettes :
23
10
avr.
2018

Fish est un shell qui se veut simple. Il est tout à fait utilisable, quoiqu'il souffre encore de quelques bugs. Son mode interactif est particulièrement agréable. Utiliser Bash, le shell par défaut de nombreuses distributions, consiste en partie à éviter les pièges et à se retrouver dans un empilement de syntaxes ajoutées au fil du temps. Fish, lui, essaye d’être cohérent. Il ne cherche pas à respecter POSIX, enfin pas complètement, même si je pense qu’il ne devrait même (…)

Adoption des sinogrammes pour les options courtes des programmes GNU

Posté par  (site web personnel) . Édité par Davy Defaud, ZeroHeure et bubar🦥. Modéré par ZeroHeure. Licence CC By‑SA.
30
1
avr.
2018
Humour

C’est une petite révolution du côté des coreutils, des built‐ins Bash et de tous ces petits programmes du projet GNU qu’on utilise sans même y penser : ceux‐ci voient arriver un changement majeur à leur syntaxe, qui va consister à utiliser des sinogrammes (caractères chinois) pour remplacer les options courtes, c’est‐à‐dire les options qui étaient jusqu’à aujourd’hui composées d’un tiret et d’une seule lettre de l’alphabet latin. Cette évolution est motivée par la pénurie de plus en plus pressante de lettres pour les options de certaines commandes, au développement desquelles elle devrait donner un nouveau souffle.

Interrogé lors d’une récente conférence à Paris, Richard Stallman lui‐même a déclaré : « J’approuve ce changement car ces programmes seront toujours distribués sous la licence publique générale GNU, version 3 ».

Tous les détails dans la suite de la dépêche.

Journal JSON en ligne de commande : jq/pjy

Posté par  . Licence CC By‑SA.
Étiquettes :
22
20
fév.
2018

Salut à toi, Nal,

Connais tu jq ?

C'est un outil en ligne de commande bien pratique quand on a des données en JSON et qu'on veut en extraire quelques infos. On lui passe un fichier JSON, une expression bien sentie dans un langage spécifique et concis, et le tour est joué.

Alors, je sais pas pour toi, Nal, mais je galère quand même pas mal chaque fois pour réussir à écrire l'expression qui va bien, car jq a son (…)

Journal vmux: un plugin pour utiliser neovim en tant que multiplexer de terminal

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
22
2
fév.
2018

TL;DR j'ai écrit un plugin, vmux, pour faciliter l'utilisation de neovim comme multiplexeur de terminaux.

Depuis un certain temps, il est possible d'ouvrir un terminal dans neovim (et c'est maintenant aussi le cas dans vim).
Je me suis donc demandé s'il était possible d'utiliser neovim à la place de mon multiplexeur de terminaux préféré (tmux).
J'ai donc essayé d'utiliser neovim à la place de tmux durant une semaine.
Voyant ce qu'il manquait pour mieux intégrer (…)

Journal Gufo: un langage de shell moderne!

Posté par  . Licence CC By‑SA.
27
7
déc.
2017

Gufo est un prototype de langage de script moderne qui peut embarquer des commandes unix et servir de shell.

Pourquoi

Bash est, pour les utilisateurs techniques, l'interface texte majeure sous les systèmes GNU-linux.

La raison principale est la facilité à appeler des programmes externes et la possibilité de combiner des flux d'entrées/sorties dans l'environnement orienté fichier de GNU-linux.

En gardant conscience de la qualité et de la quantité de travail qui a été mise dans Bash, un système d'exploitation moderne (…)

Journal Migration de / d'un disque dur à l'autre avec btrfs

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
24
27
nov.
2017

Bonjour,

Suite aux bons journaux trouvés sur linuxfr à propos de btrfs,
j'ai transformé mes systèmes de fichier principaux en btrfs pour pouvoir
bénéficier de ses avantages et de snapperd.

Aujourd'hui, j'ai fait une mise à jour de mon nas pour passer du ssd au nvme.

Le nouveau disque est plus petit que l'ancien, je ne peux pas faire une bête
copie bit à bit de l'ancien disque vers le nouveau comme je fais à mon habitude.

Au vu des (…)

Forum Linux.général --== GUIDE DE L'ADMINISTRATEUR LINUX ==--

Posté par  (site web personnel) . Licence CC By‑SA.
13
23
juin
2017

Bonjour à toutes et à tous,

Je mets à disposition un guide sur l'installation et l'administration des systèmes Linux (et Unix).

Ce document de plus de 100 pages est le fruit de quelques années d’expériences professionnelles, et continue à me servir régulièrement. Effectivement j'ai eu des responsabilités en tant qu'ingénieur systèmes, mais aussi en tant que consultant-formateur. Il ne s'agit pas simplement de théories ou de méthodes bidouillées dans mon coin, mais il s'agit bien d'un document de référence utilisé (…)

Forum Programmation.shell execution d'un script local sur des machines distantes

Posté par  . Licence CC By‑SA.
Étiquettes :
3
29
juin
2017

Bonjour,

Je viens vers vous pour un peu d'aide, j'ai développé un script pour une société qui permet d'avoir une météo du parc serveurs (états fs, verif des process principaux…)mon problème est que je ne trouve pas la solution pour l'executer depuis mon serveur de test sur les autres environnements, j'ai mis des clés ssh depuis mon serveur vers les serveurs clients mais à moins de déposer le script sur les serveurs et de les executer depuis mon serveur, je (…)

Forum Programmation.shell Remplacer des cellules

Posté par  . Licence CC By‑SA.
Étiquettes :
3
8
mar.
2017

Bonjour,

Ce forum m'a bien aidé jusque là dans ma découverte du shell mais là je bloque.
Je suis nouvellement admin réseau et j'ai 2 fichiers .csv que je veux fusionner.

identifiants2015.csv

$cat identifiants2015.csv
CLASSE,NOM,PRENOM,IDENTIFIANT,M.de P.
c601,A,antoine,antoine.a,4f56yg
c504,B,micheline,micheline.b,654pgh

identifiants2016.csv

$cat identifiants2016.csv
CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
c601,Z,bob,bob.z,t954fd
c502,A,antoine,antoine.a,(déjà attribué)
c404,B,micheline,micheline.b,(déjà attribué)

Et je voudrais obtenir ceci en remplaçant "(déjà attribué)" par le mot de passe 2015.
logins2016_maj2016.csv

$cat logins_maj2016.csv
CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
c601,Z,bob,bob.z,t954fd
c502,A,antoine,antoine.a,4f56yg
c404,B,micheline,micheline.b,654pgh

Je me doute qu'il y a quelque (…)

Forum Programmation.shell Conseil GUI

Posté par  . Licence CC By‑SA.
3
7
mar.
2017

Bonjour,

J'ai besoin de vos idées, lumières, conseils.

J'aimerais faire une interface pour du code bash afin de piloter des VM tournant sous Virtualbox.
Le code n'est pas très compliqué car il reprend des commandes fournies par Virtualbox et d'autres éléments de l'hôte en lui même.
Donc pour cette partie pas de soucis je gère.

Par contre là où je coince c'est pour la partie interface. Car je voudrais créer une interface afin de rendre la gestion de la chose (…)

Forum Programmation.shell Copier n fois un paramètre dans une commande en bash (shell?)

Posté par  . Licence CC By‑SA.
Étiquettes :
3
7
fév.
2017

Bonjour,

Pour une raison inavouable j'avais besoin de dupliquer n fois un paramètre sur une ligne de commande :

commande foo foo foo foo foo foo ... (n fois)

La solution que j'ai trouvé c'est : par exemple pour n = 30

commande foo{,,}{,,,,,}{,,,} 
# (2*5*3)

Est-ce qu'il y a plus simple ? Plus joli ? En bash ? En shell ?

Bien à vous

AJOUT : Je faisais le malin avec ma solution, je (…)

Journal Alterner les répertoires avec zsh

Posté par  . Licence CC By‑SA.
Étiquettes :
6
16
jan.
2017

Vous utilisez souvent C-^ pour alterner les deux derniers fichiers ouverts dans vim ?
Sachez qu’il est possible de réaliser une fonctionnalité analogue avec le shell zsh !

Première étape, créer un fichier alter-dirs contenant :

emulate -R zsh

setopt local_options

setopt warn_create_global

LBUFFER="cd -"

zle accept-line

Ensuite, insérer ces lignes dans votre zshrc :

# Inutile si vous placez le fichier dans un répertoire
# déjà existant dans $fpath
fpath+=(/répertoire/de/votre/fichier/alter/dirs)

# Chargement à la
(…)

Forum Programmation.shell find, sort & nul char

Posté par  . Licence CC By‑SA.
Étiquettes :
2
30
nov.
2016

Bonjour,

J’ai un script qui stock l’état des permissions d’un répertoire dans un fichier. Pour comparer l’état courant avec l’état sauvegardé je procède ainsi :

function check() {

    diff -aBy <(cat $1) <(store $2) | tr "\000" " " |egrep '\s\||>|<\s'
}

$1 est mon fichier dans lequel sont stockés les permissions
$2 est le répertoire concerné

Le fichier est généré ainsi (c’est la fonction 'store' utilisée ci-dessus) :

function store()
(…)

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 (…)