Macsim's Mind

La commande history

tuxJe profite de mon dernier billet pour faire un petit rappel sur la commande history

La commande history est une commande shell qui permet d’avoir l’historique des dernières commandes tapées dans le terminal.

C’est de cette liste de commande dont dépend les touches HAUT et BAS lorsque vous appuyez dessus.

Lorsque l’on tape history on obtiens la liste des 500 dernières commandes tapées.

Ces commandes sont précédées d’un nombre, plus le nombre est grand plus la commande est récente.

Si on tape dans un terminal !X on exécutera la commande qui porte le numéro X dans l’historique.

Exemple:

Si on tape !! on exécutera la dernière commande de l’historique.

Exemple:

 /> <p> On peut aussi taper juste le debut d'une commande après le <strong>!</strong></p> <p>Exemple</p> <img src=

On peut aussi faire suivre le ! par le début de la commande

Exemple:

Dans cet exemple en tapant !echo je fait exécuter la dernière commande de l’historique qui commence par echo

Pour vider l’historique il faut faire:

history -c

Par defaut les 500 dernières commandes sont mémorisées, la variable qui gère ça est $HISTSIZE

si on met cette variable a 0 on empêche le mécanisme d’historique des commandes.

$HISTSIZE=0

pour le rendre permanent il faut mettre la commande dans ~/.bash_profile

$echo HISTSIZE=0 >> ~/.bash_profile

Il suffit de se reconnecter ou de taper

. ~/.bash_profile

pour que la modification prennent effet.

VN:F [1.9.2_1090]
Rating: 0.0/10 (0 votes cast)

18 commentaires

  • At 2009.02.05 22:50, NicoA380 said:

    On peut directement chercher dans l’historique avec Ctrl+r dans une terminal, les lettres que l’on écrit ensuite servent de filtre de recherche dans l’historique, de la commande la plus récente à la plus ancienne.

    On passe à la proposition suivante avec Ctrl+r.

    Quand on a la bonne commande, appuyer sur entrer l’exécute, appuyer sur une touche de direction (ou end ou home) passe la commande en mode édition.

    • At 2009.02.05 22:53, macsim said:

      @NicoA380 : Merci pour l’astuce, on en apprend tous les jours :)

      • At 2009.02.06 00:01, nico said:

        Merci beaucoup c’est vraiment très pratique

        Pour le Crtl + r : comment faire défiler les diférentes possibilités ??

        • At 2009.02.06 00:04, nknico said:

          Ha j’oublier un truc avec history

          la commande :

          history|awk ‘{print $2}’|awk ‘BEGIN {FS= »| »} {print $1}’|sort|uniq -c|sort -r

          Donne la liste des commandes les plus utilisées ainssi que leur fréquence d’utilisation

          • At 2009.02.06 00:19, macsim said:

            @nknico : J’avais déjà posté la-dessus
            http://macsim.labolinux.net/index.p... Mais merci de le rappeler ;)

            • At 2009.02.06 01:10, Zigarn said:

              la variable $HISTCONTROL peut aussi être pratique pour minimiser l’historique en en supprimant automatiquement les doublons :

              - ignoredups : lorsque l'on tape 2 fois de suite la même commande, une seule est historisée - erasedups : supprime de l'historique toutes les anciennes occurences de la dernière commande historisée --> seule la dernière utilisation d'une commande est historisée

              Cf le man de bash pour plus de détails.

              • At 2009.02.06 11:13, manuker said:

                Merci pour le rappel, j’avais oublié la commande!
                très pratique!

                • At 2009.02.06 11:49, gadjou said:

                  @nico:
                  « Pour le Crtl + r : comment faire défiler les diférentes possibilités ?? »

                  Tu fais Crtl + r en boucle après qu’il a trouvé le 1er élement.

                  • At 2009.02.06 11:52, Nerach said:

                    Pour le Crtl + r : comment faire défiler les diférentes possibilités ??

                    Tu refait CTRL + R jusqu’à tomber sur la commande que tu cherche ;)

                    • At 2009.02.06 12:56, vinc-mai said:

                      Pour rappeler l’avant-dernière commande:
                      !-2

                      • At 2009.02.06 19:13, Fugitif said:

                        J’ai aucun fichier .bash_profile dans mon home mais un .bashrc

                        • At 2009.02.06 20:05, utodeb said:

                          Salut,

                          Il y a une erreur dans le flux du PL sur liferea

                          XML Parsing Error: not well-formed
                          Location: file:///
                          Line Number 62, Column 128:<img style= »border: 1px solid black; » src= »http://macsim.labolinux.net/public/... » http:= »" macsim= »" public= »" ubuntu= »" commande_history= »" repete= »" alt= » /&gt;&#10;&lt;p&gt;&#10;On peut aussi taper juste le debut d’une commande apr&#xE8;s le &lt;strong&gt;!&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Exemple&lt;/p&gt;&#10;&lt;img src= »/><br/><br/>On peut aussi faire suivre le <strong>!</strong> par le début de la commande<br/><br/>Exemple:<br/><br/><img style= »border: 1px solid black; » src= »http://macsim.labolinux.net/public/... » alt= »"/><p>Dans cet exemple en tapant <em>!echo</em> je fait exécuter la dernière commande de l’historique qui commence par <strong>echo</strong></p>

                          —^

                          Sinon avec un alias pour history, c’est encore mieux ;-)

                          À rajouter dans .bashrc :

                          alias h=’history’

                          • At 2009.02.06 22:29, macsim said:

                            @Fugitif : Si il n’existe pas tu peux le créer

                            @utodeb : Exact j’ai aussi cette erreur je n’ai aucune idée d’où celà peut venir.

                            • At 2009.02.07 08:45, Denis said:

                              On peut aussi mettre la variable HISTSIZE dans /etc/bashrc pour tous les utilisateurs.

                              Idem pour HISTCONTROL :
                              HISTCONTROL=ignoreboth remplace les deux options ignoredups et erasedups.

                              • At 2009.02.15 16:42, Jérémy Verda's blog! said:

                                Liens en vrac – 8

                                Après plus de 2 semaines sans rien écrire (mais la rédaction va reprendre :P ) je me décide à faire un petit “Liens en vrac”. Le dernier date de début décembre mais pas d’inquiétude, je ne vais pas vous pondre une liste de lien……

                                • At 2009.02.15 16:45, Jérémy Verda's blog! said:

                                  Liens en vrac – 8

                                  Après plus de 2 semaines sans rien écrire (mais la rédaction va reprendre :P ) je me décide à faire un petit “Liens en vrac”. Le dernier date de début décembre mais pas d’inquiétude, je ne vais pas vous pondre une liste de lien……

                                  • At 2009.02.16 10:31, Jonas Luthi said:

                                    Merci pour l’article. Je ne connaissais pas du tout cette commande. C’est vrai que c’est bien plus pratique que les flèche directionnelles.

                                    • At 2009.02.19 14:59, wildmary said:

                                      tiens je connaissais ctrl-r mais pas history ! pour moi qui gère des machines sur lesquelles plusieurs personnes peuvent se connecter avec le même compte c’est bien utile pour voir ce qu’on fait les autres, merci beaucoup pour cet article :)

                                      (Required)
                                      (Required, will not be published)
                                      Uses wordpress plugins developed by www.wpdevelop.com