{"id":171,"date":"2018-02-15T00:00:16","date_gmt":"2018-02-15T00:00:16","guid":{"rendered":"http:\/\/www.technologue.net\/?p=171"},"modified":"2018-02-15T00:13:39","modified_gmt":"2018-02-15T00:13:39","slug":"historique-des-commandes","status":"publish","type":"post","link":"http:\/\/www.technologue.net\/?p=171","title":{"rendered":"Historique des commandes"},"content":{"rendered":"<p>bash enregistre toutes vos commandes dans le fichier <em>.bash_history<\/em> de votre r\u00e9pertoire personnel. Plusieurs options et outils vous permettent d&rsquo;en tirer le maximum.<\/p>\n<p>Voyons d&rsquo;abord comment le configurer. Quatre variables l&rsquo;affectent:<\/p>\n<p>HISTFILE: nom du fichier d&rsquo;historique. Si la variable est vide, alors c&rsquo;est <em>~\/.bash_history.<\/em> Si la variable n&rsquo;est pas d\u00e9finie, alors il n&rsquo;y aura pas d&rsquo;historique.<\/p>\n<p>HISTSIZE (ou HISTFILESIZE): d\u00e9finit le nombre de commandes que le fichier peut enregistrer. S&rsquo;il y en a trop, les plus vieilles sont \u00e9limin\u00e9es.<\/p>\n<p>HISTCONTROL: d\u00e9finit les options:<\/p>\n<ul>\n<li><em>ignoredups<\/em>: ne pas enregistrer les duplicatas successifs.<\/li>\n<li><em>ignorespace<\/em>: ne pas enregistrer les commandes qui sont pr\u00e9c\u00e9d\u00e9es d&rsquo;une espace.<\/li>\n<li><em>ignoreboth<\/em>: activer <em>ignoredups<\/em> et <em>ignorespace<\/em><\/li>\n<\/ul>\n<p>HISTTIMEFORMAT: sp\u00e9cifie le format d&rsquo;affichage de l&rsquo;horodatage de la commande. Si le format n&rsquo;est pas sp\u00e9cifi\u00e9, l&rsquo;horodatage n&rsquo;est pas affich\u00e9. La syntaxe de sp\u00e9cification du format est identique \u00e0 celle de la commande <em>date. <\/em>Exemple: <em>HISTTIMEFORMAT=&rsquo;%y\/%m\/%d %T &lsquo;<br \/>\n<\/em><\/p>\n<h3><strong>Comment sp\u00e9cifier<\/strong><\/h3>\n<p>Il y a au moins 3 fa\u00e7ons:<\/p>\n<ul>\n<li>interactivement: n&rsquo;affecte que la fen\u00eatre o\u00f9 la commande sera donn\u00e9e.<br \/>\nExemple: <em>HISTCONTROL=ignoredups<\/em><br \/>\nNon-persistant (perdu apr\u00e8s un red\u00e9marrage).<\/li>\n<li>dans ~\/.bashrc: n&rsquo;affecte qu&rsquo;un usager<br \/>\nOn peut \u00e9diter .bashrc ou faire <em>echo HISTCONTROL=ignoredups &gt;&gt; ~\/.bashrc<\/em><\/li>\n<li>dans \/etc\/bashrc: affecte tous les usagers<br \/>\nOn peut \u00e9diter \/etc\/bashrc ou faire:<br \/>\n<em>echo HISTCONTROL=ignoredups &gt;&gt; \/etc\/bashrc<\/em><\/li>\n<\/ul>\n<h3><strong>Comment afficher l&rsquo;historique<\/strong><\/h3>\n<p>La commande <em>history<\/em> permet d&rsquo;afficher l&rsquo;historique. Chaque ligne contiendra le num\u00e9ro s\u00e9quenciel, l&rsquo;horodatage (si d\u00e9fini) et la commande. La commande <em>history<\/em> a plusieurs options dont une pour vider l&rsquo;historique (voir <em>man history<\/em>).<\/p>\n<p>On peut aussi afficher le contenu du fichier .bash_history mais, \u00e0 ce moment, il n&rsquo;y aura pas de num\u00e9ro s\u00e9quenciel ou d&rsquo;horodatage. Il faut aussi noter que les commandes courantes seront ajout\u00e9es au fichier seulement lorsque la fen\u00eatre sera ferm\u00e9e.<\/p>\n<h3><strong>Comment utiliser l&rsquo;historique<\/strong><\/h3>\n<p>Il y a plusieurs fa\u00e7ons:<\/p>\n<ul>\n<li>Les fl\u00e8ches \u2b06 et \u2b07 permettent d&rsquo;acc\u00e9der s\u00e9quentiellement aux commandes r\u00e9centes.<\/li>\n<li><em>ctrl-r cmd<\/em> permet de chercher la plus r\u00e9cente <em>cmd<\/em> dans l&rsquo;historique. Un ctrl-r suppl\u00e9mentaire acc\u00e8de \u00e0 la <em>cmd<\/em> pr\u00e9c\u00e9dente. Les fl\u00e8ches \u2b06 et \u2b07 permettent d&rsquo;obtenir la commande pr\u00e9c\u00e9dente ou suivante. Les fl\u00e9ches \u2b05 ou \u27a1 permettent de sortir de la recherche.<\/li>\n<li>La commande <em>fc<\/em> permet d&rsquo;afficher ou d&rsquo;\u00e9diter les derni\u00e8res commandes:\n<ul>\n<li><em>fc<\/em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 permet d&rsquo;\u00e9diter la derni\u00e8re commande puis de l&rsquo;ex\u00e9cuter<\/li>\n<li><em>fc -3 -1<\/em>\u00a0\u00a0\u00a0\u00a0 permet d&rsquo;\u00e9diter les 3 derni\u00e8res commandes puis de les ex\u00e9cuter.<\/li>\n<li><em>fc -l<\/em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 affiche les 16 derni\u00e8res commandes<\/li>\n<li><em>fc -l -3 -1<\/em> affiche les 3 derni\u00e8res commandes<\/li>\n<li><em>fc -s\u00a0 [abc=def] cmd<\/em> localise la derni\u00e8re <em>cmd<\/em>, remplace <em>abc<\/em> par <em>def<\/em> partout dans la ligne puis l&rsquo;ex\u00e9cute.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Cette derni\u00e8re commande (fc -s) est tr\u00e8s utile et plusieurs ont pris l&rsquo;habitude de lui assigner un alias <em>alias r=&rsquo;fc -s&rsquo;<\/em> dans <em>.bashrc<\/em>. Cela permet, par exemple:<\/p>\n<pre><em>cp ab25.txt ab25.org<\/em>\r\n<em>r ab2=yz6 cp<\/em><\/pre>\n<p>La deuxi\u00e8me commande effectuera:\u00a0\u00a0\u00a0\u00a0 <em>cp yz65.txt yz65.org<\/em><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>bash enregistre toutes vos commandes dans le fichier .bash_history de votre r\u00e9pertoire personnel. Plusieurs options et outils vous permettent d&rsquo;en tirer le maximum. Voyons d&rsquo;abord comment le configurer. Quatre variables l&rsquo;affectent: HISTFILE: nom du fichier d&rsquo;historique. Si la variable est vide, alors c&rsquo;est ~\/.bash_history. Si la variable n&rsquo;est pas d\u00e9finie, alors il n&rsquo;y aura pas &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.technologue.net\/?p=171\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Historique des commandes&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/posts\/171"}],"collection":[{"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.technologue.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=171"}],"version-history":[{"count":3,"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/posts\/171\/revisions"}],"predecessor-version":[{"id":175,"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/posts\/171\/revisions\/175"}],"wp:attachment":[{"href":"http:\/\/www.technologue.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.technologue.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=171"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.technologue.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}