{"id":94,"date":"2023-08-10T11:27:52","date_gmt":"2023-08-10T09:27:52","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=94"},"modified":"2025-04-23T20:13:50","modified_gmt":"2025-04-23T18:13:50","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\/es\/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>El entorno de trabajo de Ubuntu (<a href=\"https:\/\/ubuntu.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/ubuntu.com\/<\/a>), al igual que cualquier sistema de la familia Gnu\/Linux, cuenta con un gestor gr\u00e1fico de X-Windows (en castellano, <em>ventanas<\/em>) que proporciona una interfaz amigable al usuario para acceder a los recursos de su m\u00e1quina. Sin embargo, en los primeros sistemas operativos de las computadoras, no exist\u00edan entornos interactivos controlados por el rat\u00f3n ni pantallas con la resoluci\u00f3n gr\u00e1fica que conocemos hoy en d\u00eda.<\/p>\n<p class=\"p1\">\n<\/div><\/p>\n<p>Uno de los t\u00edpicos iconos asociados a la aplicaci\u00f3n del terminal. En Gnu\/Linux tambi\u00e9n recibe el nombre de <em>int\u00e9rprete de comandos<\/em> (en ingl\u00e9s, <em>shell<\/em>). En la figura 2 se muestra el s\u00edmbolo que representa el int\u00e9rprete de comandos.<\/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\u00edmbolo de int\u00e9rprete de comandos.<\/figcaption><\/figure>\n<p>El trabajo desde terminales de l\u00edneas de comando (en ingl\u00e9s, <em>CLI<\/em>, <em>command line interface<\/em>) desde una <em>shell<\/em>, por ejemplo, tipo <em>bash<\/em> es importante en un entorno de bioinform\u00e1tica por varias razones:<\/p>\n<ul>\n<li>Flexibilidad. El uso del terminal permite al usuario una mayor flexibilidad y control sobre el procesamiento y an\u00e1lisis de los datos de bioinform\u00e1tica, ya que se puede utilizar una amplia variedad de herramientas de l\u00ednea de comandos y se puede combinarlas de manera efectiva.<\/li>\n<li>Automatizaci\u00f3n. La automatizaci\u00f3n de tareas es mucho m\u00e1s f\u00e1cil en un terminal tipo <em>bash<\/em>, puesto que se pueden crear <em>scripts <\/em>y programas para procesar grandes cantidades de datos sin la necesidad de realizar cada tarea manualmente.<\/li>\n<li>Reproductibilidad. El terminal tipo <em>bash <\/em>permite al usuario reproducir f\u00e1cilmente un an\u00e1lisis o procesamiento de datos en cualquier momento, ya que todos los comandos y operaciones efectuados quedan registrados en el historial de comandos.<\/li>\n<li>Eficiencia. Trabajar desde un terminal tipo <em>bash <\/em>es a menudo m\u00e1s eficiente que trabajar en una interfaz gr\u00e1fica de usuario, porque se pueden realizar muchas operaciones en una sola l\u00ednea de comando.<\/li>\n<\/ul>\n<p>En resumen, trabajar desde una <em>shell<\/em> tipo <em>bash<\/em> en un entorno de bioinform\u00e1tica es importante para permitir una mayor flexibilidad, automatizaci\u00f3n, reproducibilidad y eficiencia en el procesamiento y an\u00e1lisis de los datos de bioinform\u00e1tica.<\/p>\n<p>En el entorno de investigaci\u00f3n en bioinform\u00e1tica, el trabajo desde un terminal constituye el n\u00facleo de las actividades habituales. Por esta raz\u00f3n, la mayor\u00eda de los sistemas actuales siguen manteniendo el terminal como una aplicaci\u00f3n esencial. Como veremos en esta asignatura, esta herramienta resulta ideal para dise\u00f1ar protocolos de trabajo que requieren el acceso repetido a determinados conjuntos de datos para efectuar c\u00e1lculos intensivos.<\/p>\n<p>La <em>shell<\/em> funciona mediante la ejecuci\u00f3n del int\u00e9rprete de comandos, la cual permanece en espera hasta que el usuario ingresa una nueva orden. Cuando se ejecuta un comando, el int\u00e9rprete crea un nuevo proceso para llevar a cabo la tarea. Existen dos modos de ejecuci\u00f3n de un comando: el modo en primer plano o s\u00edncrono, que bloquea el terminal durante la ejecuci\u00f3n del proceso (en ingl\u00e9s, <em>foreground<\/em>), y el modo en segundo plano o as\u00edncrono (en ingl\u00e9s, <em>background<\/em>), que no interrumpe la actividad ordinaria del terminal y permite lanzar nuevas \u00f3rdenes mientras el proceso se ejecuta en segundo plano. Por ejemplo, es posible editar un archivo de texto en una ventana aparte mientras se ejecutan otros comandos en el terminal. Una vez que un comando as\u00edncrono finaliza, el int\u00e9rprete informa al usuario apropiadamente. En el subapartado 1.11 (\u00abGesti\u00f3n b\u00e1sica de procesos\u00bb) se ampl\u00edan los conocimientos sobre los comandos para gestionar el estado de los procesos en ejecuci\u00f3n.<\/p>\n<p>En la mayor\u00eda de los sistemas Gnu\/Linux, la <em>shell <\/em>predeterminada es la <em>shell<\/em> <em>bash<\/em>. Para saber cu\u00e1l es la <em>shell<\/em> de inicio de sesi\u00f3n predeterminada, escribid en el terminal los comandos que os detallaremos a continuaci\u00f3n. Desde este momento, es muy recomendable que pong\u00e1is en pr\u00e1ctica los ejemplos incluidos a lo largo de esta asignatura para mostrar el funcionamiento del terminal. Por otra parte, el car\u00e1cter <code>$<\/code> denota la entrada de comandos desde el terminal; ten\u00e9is que escribir a continuaci\u00f3n de este s\u00edmbolo lo siguiente:<\/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>El comando <code>who am i<\/code> muestra vuestro nombre de usuario, y el comando <code>grep<\/code> muestra la definici\u00f3n de vuestra cuenta de usuario en el archivo \/etc\/passwd. El \u00faltimo campo en esa entrada muestra que la <em>shell bash<\/em> (\/bin\/bash) es tu <em>shell<\/em> predeterminada (la que se inicia cuando inici\u00e1is sesi\u00f3n o abr\u00eds una ventana del terminal).<\/p>\n<div class=\"featured featured-blue\"><p>Vale la pena conocer el int\u00e9rprete de comandos <em>bash<\/em>, no solo porque es el predeterminado en la mayor\u00eda de las instalaciones, sino porque es el m\u00e1s utilizado en las certificaciones profesionales de Gnu\/Linux.<\/p>\n<\/div>\n<div id=\"gtx-trans\" style=\"position: absolute; left: 786px; top: 1635.8px;\">\n<div class=\"gtx-trans-icon\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Uno de los t\u00edpicos iconos asociados a la aplicaci\u00f3n del terminal. En Gnu\/Linux tambi\u00e9n recibe el nombre de int\u00e9rprete de comandos (en ingl\u00e9s, shell). En la figura 2 se muestra el s\u00edmbolo que representa el int\u00e9rprete de comandos. El trabajo desde terminales de l\u00edneas de comando (en ingl\u00e9s, CLI, command line interface) desde una shell, [&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\/es\/wp-json\/wp\/v2\/pages\/94"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/comments?post=94"}],"version-history":[{"count":16,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages\/94\/revisions"}],"predecessor-version":[{"id":1338,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages\/94\/revisions\/1338"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/media?parent=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}