Page 1 sur 1

.bash_history - nettoyage

Posté : dim. 3 sept. 2017 12:48
par BrigZ
Bonjour

Étant débutant avec mon petit Raspberry pi 2, je fais encore beaucoup d'essais, tests, voir.. des d'erreurs,
l'historique des commandes Bash très pratique, cependant à force... il est comme qui dirait un peu pollué
j'aimerais un peu l'alléger car à la longue, il y aurait un gros ménage à y faire :oops:

Quelle est la meilleur solution pour garder son historique un peu plus clean dans le temps ? (Mis à part le vider complètement..)

Avec une ligne de commande ou un petit script, par exemple pour supprimer les doublons, commandes redondante,
mais tout en gardant au moins un exemplaire (garder la dernière commande exécutée de préférence serait idéale)
en option, éventuellement supprimer complètement les choses inutile comme : dir, ls, ...

- Je pense que cela serait faisable avec "sed" mais je ne suis pas trop à l'aise pour la partie du script

- Il y aurait aussi la possibilité en insérant plusieurs lignes de commande directement dans .bashrc
mais je n'ai pas réussi, probablement parce que ce n'était pas adapté pour Debian !? ou bien parce que j'utilise une ancienne distrib Raspbian

PS : Au sujet de la distrib Raspbian "servant ici de test", c'est toujours Wheezy (c'est pour dire..)
je préfère garder le tout récent Stretch propre et à l’abri d'erreurs éventuel de ma part ;)

Merci d'avance pour votre aide

Cordialement

Re: .bash_history - nettoyage

Posté : dim. 3 sept. 2017 15:17
par Flachy Joe
Salut,
déjà un peu de doc sur le bash_history, la commande history et les commandes Bang! :
http://www.symkat.com/understanding-bash-history
https://www.digitalocean.com/community/ ... -linux-vps

Si tu maîtrises ça et que ça ne te suffit pas, tu peux effectivement songer à bidouiller avec le fichier .bash_history, par exemple utiliser l'astuce du PROMPT_COMMAND du second lien pour filtrer le contenu de l'historique au fur et a mesure (en lisant la dernière ligne avec !!:p )

Re: .bash_history - nettoyage

Posté : dim. 3 sept. 2017 16:31
par BrigZ
Tout d'abord, je te remercie pour tes infos.

Je vais tenter d'en savoir plus à ce sujet, par contre j'ai oublié de préciser un petit détail
"malheureusement" j'ai de Grosses Lacunes en anglais (..)
Google translation pourra m'aider un peu, mais je ne suis pas certain du résultat final

Re: .bash_history - nettoyage

Posté : dim. 3 sept. 2017 17:28
par dyox
Bonjour,

Il existe pas mal de plugin pour navigateur pour traduire mot / phrase ou page.

j'utilise :
pour Firefox :https://addons.mozilla.org/en-US/firefo ... ox/?src=ss
pour Vivaldi (Chromium) : https://chrome.google.com/webstore/sear ... late?hl=fr

Re: .bash_history - nettoyage

Posté : dim. 3 sept. 2017 18:25
par BrigZ
Merci dyox,
j'utilise déjà ce genre de plugins, cela m'a déjà beaucoup dépanné,
mais parfois il y a de grosses coquilles dans la trad :)
bien qu'il y ai eu énormément de progrès dans ce domaine et heureusement,
mais n'empêche, il y a encore un peu de chemin à faire ..

Re: .bash_history - nettoyage

Posté : lun. 4 sept. 2017 13:26
par BrigZ
Bonjour,

Finalement j'ai opté pour l'édition du fichier ".bashrc"
dans lequel j'ai ajouté quelques lignes à la fin (que j'ai recopié / collé honteusement depuis un tuto)

## REGLAGES DE L'HISTORIQUE ##
export HISTCONTROL=ignoredups # Ne pas stocker les commandes dupliquées.
export HISTIGNORE="mc:dir:cd:ls:[bf]g:clear" # Eviter de logger des infos inutiles.
export HISTSIZE=5000 # Nb de lignes par session bash.
export HISTFILESIZE=20000 # Nb de lignes global.


Bonne nouvelle, cela fonctionne plutôt bien,

Ligne 1 : Plus aucunes nouvelles commandes déjà existante ne sera (re)écrite.
Ligne 2 : Fini les commandes redondantes inutile (selon votre choix) ne seront enregistré, ici ; mc, dir, cd, ls, ... (ou, ce que vous voulez)
Ligne 3 et 4 : Permet d’enregistrer un maximum de lignes (5000) dans une session bash, et l'autre avec un maximum (20000) globalement,
ces dernières ligne sont évidement optionnel mais j'ai voulu essayé, à vous de voir selon votre propre utilisation.

Cela me convient très bien pour un début, et pour les commandes déjà dupliquée et bien en attendant de trouver un script "sed" ou autre,
je ferai le ménage à la main, comme il ne devrait plus y avoir de commandes supplémentaire dupliquée et inutile (parasite) enregistrée par la suite, donc cela restera je pense bien plus propre

l'idéale serait d'avoir un mixte, par exemple avec un autre ".bash_history_log", mais celui-là garderait vraiment toutes les commandes numérotée, et horodatée
ce qui permettrait réellement un meilleur suivi dans le temps, ce serait le top ...


- D'autres petites astuces pour customiser votre bash -> AdminWiki.fr : Bash

Cordialement


EDIT : PS : vérifier dans votre ".bashrc" si il n'y pas déjà des lignes semblable pour ne pas avoir de conflit, en les modifiant ou commentant ;

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
# HISTSIZE=1000
# HISTFILESIZE=2000

Quelle différence y a t'il entre "HISTSIZE" et "export HISTSIZE" , ... ??