{"id":604,"date":"2023-10-10T13:51:53","date_gmt":"2023-10-10T11:51:53","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=604"},"modified":"2025-04-23T20:11:05","modified_gmt":"2025-04-23T18:11:05","slug":"1-7-1-el-terminal","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/1-7-1-el-terminal\/","title":{"rendered":"1.7.1. El terminal"},"content":{"rendered":"<p class=\"p1\"><div class=\"featured featured-blue\"><\/p>\n<p>L\u2019entorn de treball d\u2019Ubuntu (<a href=\"https:\/\/ubuntu.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/ubuntu.com\/<\/a>), igual que qualsevol sistema de la fam\u00edlia Gnu\/Linux, compta amb un gestor gr\u00e0fic de X-Windows (en catal\u00e0, <em>finestres<\/em>) que proporciona a l\u2019usuari una amigable interf\u00edcie per accedir als recursos de la seva m\u00e0quina. No obstant aix\u00f2, en els primers sistemes operatius de les computadores no hi havia entorns interactius controlats pel ratol\u00ed ni pantalles amb la resoluci\u00f3 gr\u00e0fica que coneixem avui dia.<\/p>\n<p class=\"p1\">\n<\/div><\/p>\n<p>Una de les t\u00edpiques icones associades a l\u2019aplicaci\u00f3 del terminal. A Gnu\/Linux tamb\u00e9 rep el nom d\u2019<em>int\u00e8rpret d\u2019ordres<\/em> (en angl\u00e8s, <em>shell<\/em>). En la figura 2 es mostra el s\u00edmbol que representa l\u2019int\u00e8rpret d\u2019ordres.<\/p>\n<figure id=\"attachment_98\" aria-describedby=\"caption-attachment-98\" style=\"width: 273px\" class=\"wp-caption alignnone\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-98 size-full\" src=\"\/wp-content\/uploads\/sites\/5\/2023\/08\/image002.png\" alt=\"\" width=\"273\" height=\"156\" \/><figcaption id=\"caption-attachment-98\" class=\"wp-caption-text\">Figura 2. S\u00edmbol d&#8217;int\u00e8rpret d&#8217;ordres.<\/figcaption><\/figure>\n<p>El treball des de terminals de l\u00ednies d\u2019ordres (en angl\u00e8s, <em>CLI<\/em>, <em>command line interface<\/em>) des d\u2019una <em>shell<\/em>, per exemple, tipus <em>bash<\/em> \u00e9s important en un entorn de bioinform\u00e0tica per diverses raons:<\/p>\n<ul>\n<li>Flexibilitat. L\u2019\u00fas del terminal permet a l\u2019usuari una major flexibilitat i control sobre el processament i an\u00e0lisi de les dades de bioinform\u00e0tica, ja que es pot utilitzar una \u00e0mplia varietat d\u2019eines de l\u00ednia d\u2019ordres i es poden combinar de manera efectiva.<\/li>\n<li>Automatitzaci\u00f3. L\u2019automatitzaci\u00f3 de tasques \u00e9s molt m\u00e9s f\u00e0cil en un terminal tipus <em>bash<\/em>, perqu\u00e8 es poden crear <em>scripts <\/em>i programes per processar grans quantitats de dades sense la necessitat d&#8217;executar cada tasca manualment.<\/li>\n<li>Reproductibilitat. El terminal tipus <em>bash <\/em>permet a l\u2019usuari reproduir f\u00e0cilment una an\u00e0lisi o processament de dades en qualsevol moment, ja que totes les ordres i operacions realitzades queden registrats en l\u2019historial d\u2019ordres.<\/li>\n<li>Efici\u00e8ncia. Treballar des d\u2019un terminal tipus <em>bash <\/em>\u00e9s sovint m\u00e9s eficient que treballar en una interf\u00edcie gr\u00e0fica d\u2019usuari, perqu\u00e8 es poden fer moltes operacions en una sola l\u00ednia d\u2019ordres.<\/li>\n<\/ul>\n<p>En resum, treballar des d\u2019una <em>shell<\/em> tipus <em>bash<\/em> en un entorn de bioinform\u00e0tica \u00e9s important per permetre una major flexibilitat, automatitzaci\u00f3, reproductibilitat i efici\u00e8ncia en el processament i an\u00e0lisi de les dades de bioinform\u00e0tica.<\/p>\n<p>En l\u2019entorn de recerca en bioinform\u00e0tica, la feina des d\u2019un terminal constitueix el nucli de les activitats habituals. Per aquesta ra\u00f3, la majoria dels sistemes actuals mentenen encara el terminal com una aplicaci\u00f3 essencial. Com veurem durant l&#8217;assignatura, aquesta eina resulta ideal per dissenyar protocols de treball que requereixen l\u2019acc\u00e9s repetit a determinats conjunts de dades per dur a terme c\u00e0lculs intensius.<\/p>\n<p>La <em>shell<\/em> funciona mitjan\u00e7ant l\u2019execuci\u00f3 de l\u2019int\u00e8rpret d\u2019ordres, que roman en espera fins que l\u2019usuari hi agrega una nova ordre. Quan s\u2019executa una ordre, l\u2019int\u00e8rpret crea un nou proc\u00e9s per dur a terme la tasca. Existeixen dos modes d\u2019execuci\u00f3 d\u2019una ordre: el mode en primer pla o s\u00edncron, que bloqueja el terminal durant l\u2019execuci\u00f3 del proc\u00e9s (en angl\u00e8s, <em>foreground<\/em>), i el mode en segon pla o as\u00edncron (en angl\u00e8s, <em>background<\/em>), que no interromp l\u2019activitat ordin\u00e0ria del terminal i permet llan\u00e7ar noves ordres mentre el proc\u00e9s s\u2019executa en segon pla. Per exemple, \u00e9s possible editar un arxiu de text en una finestra a part mentre s\u2019executen altres ordres al terminal. Un cop una ordre as\u00edncrona finalitza, l\u2019int\u00e8rpret informa l\u2019usuari apropiadament. En el subapartat 1.11 (\u00abGesti\u00f3 b\u00e0sica de processos\u00bb) s\u2019amplien els coneixements sobre les ordes per gestionar l\u2019estat dels processos en execuci\u00f3.<\/p>\n<p>En la majoria dels sistemes Gnu\/Linux, la <em>Shell <\/em>\u00e9s la <em>shell bash<\/em>. Per saber quina \u00e9s la <em>shell<\/em> d\u2019inici de sessi\u00f3 predeterminada, escriviu les ordres al terminal que us traslladem a continuaci\u00f3. Des d\u2019aquest moment, \u00e9s molt recomanable que poseu en pr\u00e0ctica els exemples inclosos en aquesta assignatura per mostrar el funcionament del terminal. D\u2019altra banda, el car\u00e0cter $ denota l\u2019entrada d\u2019ordres des del terminal; haureu d\u2019escriure el seg\u00fcent a continuaci\u00f3 d\u2019aquest s\u00edmbol:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ whoami<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">student\u00a0 pts\/1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2023-04-19 15:12 (:0)<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ grep student \/etc\/passwd<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">student:x:1000:1000:student,,,:\/home\/student:\/bin\/bash<\/pre>\n<p>L&#8217;ordre <code>who am i<\/code> mostra el vostre nom d\u2019usuari, i l\u2019ordre <code>grep<\/code> mostra la definici\u00f3 del vostre compte d\u2019usuari a l\u2019arxiu \/etc\/passwd. L\u2019\u00faltim camp en aquesta entrada mostra que la <em>shell bash<\/em> (\/bin\/bash) \u00e9s el vostre <em>shell<\/em> (la que s\u2019inicia quan obrim sessi\u00f3 o una finestra del terminal).<\/p>\n<div class=\"featured featured-blue\"><p>Val la pena con\u00e8ixer l\u2019int\u00e8rpret d\u2019ordres <em>bash<\/em>, no nom\u00e9s perqu\u00e8 \u00e9s el predeterminat en la majoria de les instal\u00b7lacions, sin\u00f3 perqu\u00e8 \u00e9s el m\u00e9s utilitzat en les certificacions professionals de Gnu\/Linux.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Una de les t\u00edpiques icones associades a l\u2019aplicaci\u00f3 del terminal. A Gnu\/Linux tamb\u00e9 rep el nom d\u2019int\u00e8rpret d\u2019ordres (en angl\u00e8s, shell). En la figura 2 es mostra el s\u00edmbol que representa l\u2019int\u00e8rpret d\u2019ordres. El treball des de terminals de l\u00ednies d\u2019ordres (en angl\u00e8s, CLI, command line interface) des d\u2019una shell, per exemple, tipus bash \u00e9s [&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\/604"}],"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=604"}],"version-history":[{"count":14,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/604\/revisions"}],"predecessor-version":[{"id":1337,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/604\/revisions\/1337"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/media?parent=604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}