{"id":622,"date":"2023-10-18T10:04:16","date_gmt":"2023-10-18T08:04:16","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=622"},"modified":"2025-04-23T20:46:58","modified_gmt":"2025-04-23T18:46:58","slug":"1-7-5-recuperacio-dordres-mitjancant-lhistorial-dordres","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/1-7-5-recuperacio-dordres-mitjancant-lhistorial-dordres\/","title":{"rendered":"1.7.5. Recuperaci\u00f3 d\u2019ordres mitjan\u00e7ant l\u2019historial d\u2019ordres"},"content":{"rendered":"<p>Pot ser convenient tenir l&#8217;opci\u00f3 de repetir una ordre que executada anteriorment en una sessi\u00f3 de <em>shell<\/em> . Recordar una l\u00ednia d\u2019ordres llarga i complexa que v\u00e0reu escriure de manera incorrecta us pot estalviar problemes. Afortunadament, algunes caracter\u00edstiques del <em>shell<\/em> us permeten recordar l\u00ednies d\u2019ordres anteriors, editar aquestes l\u00ednies o completar una l\u00ednia d\u2019ordres parcialment escrita.<\/p>\n<p>L\u2019historial del <em>shell<\/em> \u00e9s una llista de les ordres que heu ingressat abans. Fent servir l\u2019ordre <code>history<\/code> en un <em>shell bash<\/em>, podeu veure els vostres ordres anteriors. Despr\u00e9s, utilitzant diverses caracter\u00edstiques del <em>shell<\/em>, podeu recuperar l\u00ednies d\u2019ordres individuals d\u2019aquesta llista i canviar-les com desitgeu.<\/p>\n<p>Per provar una mica d\u2019edici\u00f3 de l\u00ednia d\u2019ordres, escriviu el seg\u00fcent:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ ls \/usr\/bin | sort -f | less<\/pre>\n<p>Aquesta ordre mostra el contingut del directori <code>\/usr\/bin<\/code>, ordena el contingut en ordre alfab\u00e8tic (sense importar maj\u00fascules o min\u00fascules) i passa la sortida a <code>less<\/code>. L\u2019ordre <code>less<\/code> mostra la primera p\u00e0gina de sortida, despr\u00e9s de la qual pots navegar per la resta de la sortida d\u2019una l\u00ednia (pressiona <em>e<\/em><em>nter<\/em>) o a p\u00e0gines (pressiona la barra espaiadora) alhora. Simplement pressioneu la tecla <em>q<\/em> quan h\u00e0giu acabat. Ara, suposem que voleu canviar la vostra l\u00ednia d\u2019ordres al terminal d\u2019<code>usr\/bin a \/bin<\/code> i no voleu escriure massa. Si us col\u00b7loqueu en la l\u00ednia d\u2019ordres, i seguiu els seg\u00fcents passos, podreu canviar part de la l\u00ednia d\u2019ordres:<\/p>\n<ul>\n<li>Pressioneu la fletxa cap amunt (<code>\u2191<\/code>). Aix\u00f2 mostra l\u2019ordre m\u00e9s recent del teu historial de <em>shell<\/em>. Prova de pressionar-la m\u00e9s d\u2019una vegada.<\/li>\n<li>Pressioneu Ctrl + A. Aix\u00f2 mou el cursor al principi de la l\u00ednia d\u2019ordres.<\/li>\n<li>Pressioneu Ctrl + E. Aix\u00f2 mou el cursor al final de la l\u00ednia d\u2019ordres.<\/li>\n<li>Pressioneu Ctrl+F o la fletxa dreta (<code>\u2192<\/code>). Repeteix aquesta ordre diverses vegades per col\u00b7locar el cursor sota la primera barra (<code>\/<\/code>).<\/li>\n<li>Pressioneu Ctrl+D. Escriu aquesta ordre quatre vegades per eliminar <code>\/usr<\/code> de la l\u00ednia.<\/li>\n<li>Pressioneu Enter. Executa la l\u00ednia d\u2019ordres un cop has decidit qu\u00e8 executar.<\/li>\n<\/ul>\n<p>Mentre s\u2019edita una l\u00ednia d\u2019ordres, en qualsevol moment podeu escriure car\u00e0cters normals per afegir-los a la l\u00ednia d\u2019ordres. Els car\u00e0cters apareixen en la posici\u00f3 del cursor de text. Podeu utilitzar la fletxa dreta \u2192, esquerra \u2190 per moure el cursor d\u2019un extrem a un altre de la l\u00ednia d\u2019ordres. Tamb\u00e9 podeu pr\u00e9mer les tecles de fletxa amunt \u2191 i avall \u2193 per rec\u00f3rrer les anteriors ordres a la llista de l\u2019historial per seleccionar una l\u00ednia d\u2019ordres per editar.<\/p>\n<p>Despr\u00e9s d\u2019escriure una l\u00ednia d\u2019ordres, tota la l\u00ednia es guarda a la llista d\u2019historial del teu <em>shell<\/em>. La llista s\u2019emmagatzema en el <em>shell<\/em> actual fins que sortiu del terminal. A m\u00e9s, cada ordre que s\u2019escriu en la l\u00ednia d\u2019ordres i s\u2019executa, tingui sentit o no, s\u2019escriu en un arxiu d\u2019historial, on qualsevol ordre pot ser recordada per ser executada novament en una altra sessi\u00f3. Un cop es recupera una ordre, es pot modificar la l\u00ednia d\u2019ordres, com s\u2019ha descrit anteriorment.<\/p>\n<p>Per veure la vostra llista d\u2019historial, utilitzeu l\u2019ordre <code>history<\/code>. Escriviu l\u2019ordre sense opcions o seguida d\u2019un n\u00famero per llistar aquesta quantitat de les ordres m\u00e9s recents. Per exemple,<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ history 9<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">2012 date\r\n2013 date +'%d\/%m\/%y'\r\n2014 date +'%A, %B %d, %Y'\r\n2015 ls\r\n2016 ls Scripts\/\r\n2017 ls\r\n2018 echo $PATH\r\n2019 ls \/usr\/bin | sort -f | less\r\n2020 history 9<\/pre>\n<p>En lloc de simplement executar una l\u00ednia d\u2019ordre de l\u2019historial de manera immediata, es pot recuperar una l\u00ednia en particular i editar-la. Se\u2019n mostren diversos exemples.<\/p>\n<div class=\"featured featured-grey\"><\/p>\n<p><strong>Exemples<\/strong><\/p>\n<p><code>$ !n<\/code>: Executar el n\u00famero d\u2019ordre. Reemplaceu la <em>n<\/em> amb el n\u00famero de la l\u00ednia d\u2019ordre i aquesta l\u00ednia s\u2019executar\u00e0. Per exemple, aix\u00ed \u00e9s com podeu repetir l\u2019ordre de data que es mostra com el n\u00famero d\u2019ordre <em>2012<\/em> en la llista d\u2019historial anterior:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ !2012<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">date Wed 19 Apr 16:26:58 CEST 2023<\/pre>\n<p><code>$ !!<\/code>: Executar ordre anterior. Executa la l\u00ednia d\u2019ordre anterior. Aqu\u00ed us mostrem com executar immediatament aquesta mateixa comanda <code>date<\/code>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ !!<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">date Wed 19 Apr 16:29:06 CEST 2023<\/pre>\n<p><code>$ !?string?<\/code>: Executeu l\u2019ordre que cont\u00e9 un <code>string<\/code> (cadena). Aix\u00f2 executa l\u2019ordre m\u00e9s recent que cont\u00e9 una cadena de car\u00e0cters espec\u00edfica. Per exemple, podeu executar novament l\u2019ordre <code>date<\/code> buscant nom\u00e9s una part d\u2019aquesta l\u00ednia d\u2019ordre de la seg\u00fcent manera:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ !?at?<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">date Wed 19 Apr 16:32:04 CEST 2023<\/pre>\n<p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pot ser convenient tenir l&#8217;opci\u00f3 de repetir una ordre que executada anteriorment en una sessi\u00f3 de shell . Recordar una l\u00ednia d\u2019ordres llarga i complexa que v\u00e0reu escriure de manera incorrecta us pot estalviar problemes. Afortunadament, algunes caracter\u00edstiques del shell us permeten recordar l\u00ednies d\u2019ordres anteriors, editar aquestes l\u00ednies o completar una l\u00ednia d\u2019ordres parcialment [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/622"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/comments?post=622"}],"version-history":[{"count":18,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/622\/revisions"}],"predecessor-version":[{"id":1345,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/622\/revisions\/1345"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/media?parent=622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}