{"id":619,"date":"2023-10-18T09:59:23","date_gmt":"2023-10-18T07:59:23","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=619"},"modified":"2025-04-23T20:37:51","modified_gmt":"2025-04-23T18:37:51","slug":"1-7-4-localitzant-ordres","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/1-7-4-localitzant-ordres\/","title":{"rendered":"1.7.4. Localitzant ordres"},"content":{"rendered":"<p>Ara que heu escrit algunes ordres, pot ser que us pregunteu on estan ubicades aquestes ordres i com el <em>shell<\/em> troba les ordres que escriviu. Per trobar les ordres, el <em>shell<\/em> busca en el que es coneix com <em>a path<\/em> (en castell\u00e0, ruta). Per a les ordres que no estan en el vostre <em>path<\/em>, podeu escriure la identitat completa de la ubicaci\u00f3 de l\u2019ordre.<\/p>\n<p>Si coneixeu el directori que cont\u00e9 l\u2019ordre que desitgeu executar, podeu escriure la ruta completa, o absoluta, d\u2019aquesta ordre. Per exemple, podeu executar l\u2019ordre <code>date<\/code> que es troba dins del directori \/bin escrivint:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ \/bin\/date<\/pre>\n<p>Per descomptat, aix\u00f2 pot ser inconvenient, especialment si la comanda resideix en un directori amb una ruta llarga. La millor manera \u00e9s tenir les ordres emmagatzemades en directoris coneguts i despr\u00e9s afegir aquests directoris a la variable d&#8217;entorn PATH del vostre <em>shell<\/em>. El <em>path<\/em> consisteix en una llista de directoris que es verifiquen seq\u00fcencialment per a les ordres que escriviu. Per veure el vostre <em>path<\/em> actual, escriviu el seg\u00fcent:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ echo $PATH<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">\/home\/student\/bin:\/home\/student\/.local\/bin:\/usr\/local\/sbin:\r\n\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin:<\/pre>\n<p>Els resultats mostren un <em>path <\/em>predeterminat com\u00fa per a un usuari regular de Gnu\/Linux. Els directoris a la llista del <em>path<\/em> estan separats per dos punts. La majoria de les ordres d\u2019usuari que venen amb Gnu\/Linux s\u2019emmagatzemen en els directoris \/bin, \/usr\/bin o \/usr\/local\/bin. Els directoris \/sbin i \/usr\/sbin contenen ordres administratives (alguns sistemes Gnu\/Linux no col\u00b7loquen aquests directoris en els <em>paths<\/em> dels usuaris regulars). El primer directori mostrat \u00e9s el directori <em>bin<\/em> en el directori d\u2019inici de l\u2019usuari (\/home\/student\/bin). Si desitges agregar les teves pr\u00f2pies ordres o <em>scripts<\/em> de <em>shell<\/em>, col\u00b7loques el directori <em>bin<\/em> al teu directori d\u2019inici (ie. \/home\/student\/bin per a un usuari anomenat <em>student<\/em>). Aquest directori s\u2019afegeix autom\u00e0ticament al teu <em>path<\/em> en alguns sistemes Gnu\/Linux, tot i que \u00e9s possible que necessitis crear aquest directori o agregar-lo al teu PATH en altres sistemes Gnu\/Linux. Llavors, sempre que agregues l\u2019ordre al teu <em>bin<\/em> amb perm\u00eds d\u2019execuci\u00f3, pots comen\u00e7ar a usar-lo simplement escrivint el nom de l\u2019ordre en l\u2019indicador del teu <em>shell<\/em>. Si es considera que la nova ordre estigui disponible per a tots els usuaris, amb l\u2019usuari <em>root <\/em>agrega\u2019l al directori \/usr\/local\/bin o \/opt\/nom_paquet\/bin.<\/p>\n<p>A difer\u00e8ncia d\u2019alguns altres sistemes operatius, Gnu\/Linux no verifica el directori actual de l\u2019executable. Immediatament, comen\u00e7a a buscar en el<em> path<\/em>, i els executables en el directori actual nom\u00e9s s\u2019executen si estan en la variable PATH o si doneu la seva direcci\u00f3 absoluta (com \/home\/student\/scriptx.sh) o relativa (per exemple, i fixeu-vos en el punt abans de la contrabarra, .\/scriptx.sh). Els directoris que pertanyen al <em>path <\/em>d\u2019executables es poden esbrinar escrivint $PATH en el <em>prompt<\/em> del terminal:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ echo $PATH<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">\/home\/student\/.sdkman\/candidates\/java\/current\/bin:\r\n\/home\/student\/miniconda3\/bin:\r\n\/home\/student\/miniconda3\/condabin:\r\n\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\r\n\/bin:\/usr\/games:\/usr\/local\/games:\/snap\/bin<\/pre>\n<p>L\u2019ordre del directori del<em> path<\/em> \u00e9s important. Els directoris es verifiquen d\u2019esquerra a dreta. Llavors, en aquest exemple, si hi ha una ordre anomenada <code>foo<\/code> ubicada en ambd\u00f3s directoris \/bin i \/usr\/bin, s\u2019executa el que est\u00e0 al <code>\/bin<\/code>. Perqu\u00e8 s\u2019executi l\u2019altra ordre <em>foo<\/em>, heu d\u2019escriure el<em> path<\/em> complet de l\u2019ordre o canviar la teva variable PATH (un exemple pr\u00e0ctic de com canviar la variable PATH i agregar directoris es descriu en els apartats 1.15 i 1.17).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ara que heu escrit algunes ordres, pot ser que us pregunteu on estan ubicades aquestes ordres i com el shell troba les ordres que escriviu. Per trobar les ordres, el shell busca en el que es coneix com a path (en castell\u00e0, ruta). Per a les ordres que no estan en el vostre path, podeu [&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\/619"}],"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=619"}],"version-history":[{"count":11,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/619\/revisions"}],"predecessor-version":[{"id":1343,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/619\/revisions\/1343"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/media?parent=619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}