Typiquement quand on tape dans un shell la commandehistory,
vous avez un aperçu des dernières commandes passées.Le nombre de commandes historisées peut varier en fonction de la valeur affectée à la variable HISTSIZE de l’utilisateur avec lequel vous êtes connecté.
Et bien souvent c’est à coup de « grep » que l’on cherche parmi ce fatras d’informations.
Voici quelques astuces qui vous permettront d’y voir un peu plus clair et d’y gagner en efficacité de recherche.
1/ Raccourci clavier à retenir
- CTRL + R => puis vous tapez le mot ou l’occurrence que vous cherchez.
Il vous affichera directement la ou les lignes de commandes qui « matchent » le mot recherché.
Pour passer à l’occurrence suivante , tapez à nouveau les touches [ctrl+r].
Parfois , je suis étonné de voir des linuxiens aguérris ne pas utiliser ce raccourci . Question d’habitude mais pourtant il facilite grandement la vie !
- Exécuter la dernière commande qui contient le mot « ssh » par exemple:
!ssh
2/ Afficher la date et l’heure d’exécution des commandes:
export HISTTIMEFORMAT='%d/%m/%y %T'
De manière permanente:
echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
3/ Supprimer les « commandes indésirables »
- Supprimer les « doublons »
export HISTCONTROL=ignoredups
- Ignorer les commandes « foirées »
export HISTCONTROL=ignorespace
ça vire toutes les commandes qui commencent par un « espace »
- Combiner les 2 critères précédents
export HISTCONTROL=ignoreboth
Toutes ses modifs sont à enregistrer dans le /home/user/bashrc pour qu’elles soient pérennes.
puis recharger le fichier bash_profile:
source ~/.bashrc
4/ Bonus
Effacer tout l’historique
history -c
Empêcher les commandes de votre session en cours d’être logguées dans l’historique:
unset HISTFILE
Conclusion
Il existe bien d’autres commandes liées à la gestion de l’historique sous linux. N’hésitez pas à les partager dans les commentaires si vous pensez qu’elles pourraient être utiles à votre prochain 😉
Bonsoir !
pas linuxien aguerri ici — plutôt adepte du libre et léger, quelques affinités avec la ligne de commande – genre plus apt que synaptic, plus xfce que gnome, plus openrc (ou s6, découvert aujourd’hui (cf. Obarun) que systemd — et pas impossible que j’aille fouiner du côté de BSD dans un avenir proche.
Bref : merci beaucoup pour ce tip bienvenu… si seulement j’avais eu l’idée pourtant logique de taper
man history
plus tôt -_- »
Bonne continuation !
PS : dans le cas de
echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
une ptite typo qui rend la chose pas très lisible (l’espace doit être après le guillemet et avant l’apostrophe pour que la chose soit lisible 😉 corrigée ci-dessous :
echo 'export HISTTIMEFORMAT="%d/%m/%y %T" ' >> ~/.bashrc
voire
echo 'export HISTTIMEFORMAT="%d/%m/%y %T" : ' >> ~/.bashrc
(en espérant que les balises soient activées dans les commentaires :$)
#oops
(après, promis j’arrête de spammer)
echo 'export HISTTIMEFORMAT="%d/%m/%y %T"\ ' >> ~/.bashrc
voire
echo 'export HISTTIMEFORMAT="%d/%m/%y %T"\ \: \ ' >> ~/.bashrc
en fait,
history
est une commande fascinante (et une bonne introduction aux shells pour moi) ^^un complément d’info sur « ignoredups » et « erasedups » pour les curieux
https://unix.stackexchange.com/questions/18212/bash-history-ignoredups-and-erasedups-setting-conflict-with-common-history/18443#18443
Depuis que j’ai ajouté ces fonctionnalités inspirées de FiSH à mon historique, je ne peux plus m’en passer:
https://github.com/zsh-users/zsh-syntax-highlighting
https://github.com/zsh-users/zsh-history-substring-search
https://github.com/zsh-users/zsh-autosuggestions
Super tutoriel merci, je vais pouvoir mieux exploiter mon historique 🙂
J’adore tout ce qui peut personnaliser son « shell » alors j’apporte ma touche perso, ce que je fais:
Dans ~/.inputrc j’ajoute (créer .inputrc s’il n’existe pas):
« \e[A »: history-search-backward
« \e[B »: history-search-forward
Dans ~/.bashrc vérifier que » shopt -s histappend » est bien dé-commenté et j’ajoute en dessous:
PROMPT_COMMAND=’history -a’
On redémarre la session et il n’y a plus qu’à taper un début de commande déjà utilisée et de se servir des flèches [haut] ↑ et [bas] ↓ pour naviguer dans l’historique.
Une astuce qui m’est très utile.
Merci Sima, bien pratique effectivement.
Mais perso je suis trop habitué au « CTRL+r » , ce qui ne m’empêchera de tester qd même ton astuce😊