logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:bash:history [24/05/2010 18:53]
smolski
doc:programmation:bash:history [08/08/2015 18:45]
milou [ASTUCE]
Ligne 1: Ligne 1:
 +====== history ======
 +
 +  * Objet : history
 +  * Niveau requis : {{tag>​débutant avisé}}
 +  * Commentaires : //​Visualiser jusqu'​à l’ensemble des 500 dernières commandes que vous avez saisies. //
 +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
 +  * Suivi : 
 +    * Création par [[user>​MaTTuX_]] //​Mattuxalhem...//​
 +    * Testé par [[user>​smolski]] //pareil// :-P
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=1031 | Lien vers le forum concernant ce tuto]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME
 +
 +
 +===== Introduction =====
 +
 +La commande history permet de visualiser l’ensemble des 500 dernières commandes que vous avez saisies dans votre console.
 +
 +  * History dans le terminal <​user>​ relève les commandes de l'​user.
 +  * History dans le terminal <​root>​ relève les commandes de root.
 +
 +===== Utilisation =====
 +
 +La commande s'​utilise habituellement dans un terminal en tapant sur <​key>​Up</​key>​ pour remonter le cours des commandes précédentes.
 +
 +Nous pouvons également l'​invoquer textuellement en tapant :
 +<code user>​history</​code>​
 +
 +et obtenir la liste numérotée des 500 dernières commandes lancées
 +<file bash résultat de la commande précédente> ​
 +  4 cat base.tex
 +  5 ls -al
 +  6 cd Desktop/
 +  7 cd Work/
 +  8 pwd
 +  9 history
 +</​file>​
 +
 +==== History - Reverse-Search ====
 +
 +Terminal ouvert, en tapant : <​key>​C-r</​key>​ nous passons en :
 +   ​(reverse-i-search)`reco': ​
 +
 +Et en tapant maintenant les premières lettres de la commande recherchée,​ celle-ci s'​autocomplète intégralement. \\
 +Pour remonter davantage dans l'​historique sur le thème des premières lettres, il suffit de taper de nouveau sur <​key>​C-r</​key> ​ pour lister la suite des commandes similaires.
 +
 +Astuce également valable dans un shell zsh. (//dixit le// **captnfab**...) ;-)
 +
 +==== ! + Numero ====
 +
 +La commande !numéro permet d’atteindre la commande à droite du numéro.
 +
 +Essayez en tapant ​ ''​!8'',​ j’obtiens ici ''​pwd''​ qui est la huitième ligne de commande en mémoire dans l'​**history**.
 +
 +<code user> !8</​code>​
 +<file bash résultat de la commande précédente> ​
 +  pwd
 +  /home/user
 +</​file>​
 +
 +==== ! + lettres ====
 +
 +La commande **!lettres**//​_début_commande_recherchées//​ permet d’atteindre la commande à droite du numéro Essayez ! en tapant :
 +  !ca
 +j’obtiens ici **cat base.tex** :
 +
 +<code user>​!ca</​code>​
 +<file bash résultat de la commande précédente> ​
 +  cat base.tex
 +  /​home/​cobex4
 +</​file>​
 +
 +===== Effacer history =====
 +
 +Pour effacer l’historique,​ on utilise l’option -c.
 +
 +<code user>​history -c</​code>​
 +<code user>​history</​code>​
 +<file bash résultat de la commande précédente> ​
 +  4  history
 +  cobex4@pc:​~>​
 +</​file>​
 +
 +===== Sauvegarder history =====
 +
 +Pour sauvegarder votre historique dans un fichier .txt, faites simplement :
 +
 +<code user>​history > history.txt</​code>​
 +
 +Pour [[doc:​systeme:​more|lire en console]] le fichier obtenu :
 +
 +<code user>​more history.txt</​code>​
 +<file bash résultat de la commande précédente>​
 +   ​1 ​ ssh mattux@chubaka
 +   ​2 ​ ssh mattux@r2d2
 +   ​3 ​ su
 +   ​4 ​ cd backup/
 +   ​5 ​ mv .mozilla-thunderbird/​ /​home/​mattux/​
 +   ​6 ​ mv .ssh/ /​home/​mattux/​
 +   ​7 ​ ls -la /​home/​mattux/​
 +   ​8 ​ cd ../.ssh/
 +   ​9 ​ ls -l
 +   ​10 ​ cp -r ../​backup/​.ssh/​ /​home/​mattux/​
 +   ​11 ​ ls -l
 +</​file>​
 +
 +Voilà votre fichier peut être trés long tout dépend du nombre de commandes que vous avez fait. ;-)
 +
 +//​[[matt_chile@yahoo.fr|MaTTuX_]] 2009/01/14 16:30//
 +
 +===== ASTUCE =====
 +
 +==== Affichage ​ alphabétique de l'​historique des commandes ====
 +
 +//Astuce un peu sérieuse... Pour debianeux averti donc !//
 +
 +Offert par **phlinux** dans le forum, là :
 +  * http://​debian-facile.org/​forum/​viewtopic.php?​pid=10709#​p10709
 +
 +//​Qu'​il est mignon de nous donner cela... Merci //​**phlinux**//​ !//
 +
 +Habituellement,​ nous pouvons **remonter l'​historique** de nos commandes dans le terminal avec le "​flèche-haut"​ du clavier... Simple. \\ 
 +Pourquoi ne pas remonter en utilisant les lettres alphatétiques débutant ces commandes ? Yop !
 +
 +=== Exemple ===
 +
 +Par exemple tu écris :
 +<code user>​g</​code>​
 +puis tu utilises la touche <​key>​Up</​key>​
 +et s'​affichent à la suite toutes les commandes qui commencent par "​g" ​ et qui se trouvent dans ton ~/​.bash_history..
 +
 +Pareil, bien sur, si tu tapes "​ge",​ s'​affiche > gedit /​tra/​la/​la...touche...>​ .geany /​super/​coptère
 +
 +Pour ce faire, éditer avec nano :
 +
 +1- à la fin de ~/.bashrc
 +   # appel alphabétique commandes
 +   shopt -s histappend
 +   ​PROMPT_COMMAND='​history -a'
 +
 +2 - dans ~/.inputrc (à créer au lieu d'​utiliser /​etc/​inputrc)
 +   "​\e[A":​ history-search-backward
 +   "​\e[B":​ history-search-forward
 +
 +Bien sûr, utilisable pour root (à condition de lui cloquer la même chose)
 +
 +=== Recherche par thème ===
 +
 +Pour rechercher une commande par thème avec la flèche haut, vous écrivez dans ~/.inputrc (à créer au lieu d'​utiliser /​etc/​inputrc) ceci :
 +<​code>​
 +"​\e[A":​ history-search-backward
 +"​\e[B":​ history-search-forward
 +set show-all-if-ambiguous on
 +set completion-ignore-case on</​code>​
 +
 +Il vous suffit alors d'​autocompléter par la touche flèche-haut du clavier les 3 premières lettres de la commande recherchée et il ne sera proposé par history que toutes les commandes commençant __uniquement par ces lettres__ à chaque appui. \\
 +Exemple :
 +<code user>
 +cp dijon_130419/​dijon...
 +cp site....
 +cp vignettes/
 +...</​code>​
 +
 +Redémarrer le terminal pour que //​l'​effet se passe//... ;)
 +
 +===== Remerciements =====
 +
 +Source proposée conjointement par DosXX et phreg :
 +  * [[http://​korben.info/​ | L'ami korben !]]
 +  * [[http://​www.crowd42.info/​une-astuce-pour-retrouver-facilement-une-ligne-de-commande-deja-executee | Une astuce avec history.]]
 +
 +Voir aussi la commande **Reverse-Search** en haut du tuto pour faire la même chose au clavier sans fichier à ajouter !
 +
 +===== Lister history =====
 +
 +Pour obtenir la liste historique du thème recherché, tapez :
 +<code user>
 +history | grep themerecherche</​code>​
 +
 +//Oui c'est du pur geek façon l'​patron //​**MaTTuX_**//​ !// :-D
 +
 +
 +
 +
  
doc/programmation/bash/history.txt · Dernière modification: 24/10/2022 22:28 par Jean-Pierre Pinson

Pied de page des forums

Propulsé par FluxBB