1.7. El terminal como herramienta de trabajo
1.7.1. El terminal
El entorno de trabajo de Ubuntu (https://ubuntu.com/), al igual que cualquier sistema de la familia Gnu/Linux, cuenta con un gestor gráfico de X-Windows (en castellano, ventanas) que proporciona una interfaz amigable al usuario para acceder a los recursos de su máquina. Sin embargo, en los primeros sistemas operativos de las computadoras, no existían entornos interactivos controlados por el ratón ni pantallas con la resolución gráfica que conocemos hoy en día.
Uno de los típicos iconos asociados a la aplicación del terminal. En Gnu/Linux también recibe el nombre de intérprete de comandos (en inglés, shell). En la figura 2 se muestra el símbolo que representa el intérprete de comandos.
El trabajo desde terminales de líneas de comando (en inglés, CLI, command line interface) desde una shell, por ejemplo, tipo bash es importante en un entorno de bioinformática por varias razones:
- Flexibilidad. El uso del terminal permite al usuario una mayor flexibilidad y control sobre el procesamiento y análisis de los datos de bioinformática, ya que se puede utilizar una amplia variedad de herramientas de línea de comandos y se puede combinarlas de manera efectiva.
- Automatización. La automatización de tareas es mucho más fácil en un terminal tipo bash, puesto que se pueden crear scripts y programas para procesar grandes cantidades de datos sin la necesidad de realizar cada tarea manualmente.
- Reproductibilidad. El terminal tipo bash permite al usuario reproducir fácilmente un análisis o procesamiento de datos en cualquier momento, ya que todos los comandos y operaciones efectuados quedan registrados en el historial de comandos.
- Eficiencia. Trabajar desde un terminal tipo bash es a menudo más eficiente que trabajar en una interfaz gráfica de usuario, porque se pueden realizar muchas operaciones en una sola línea de comando.
En resumen, trabajar desde una shell tipo bash en un entorno de bioinformática es importante para permitir una mayor flexibilidad, automatización, reproducibilidad y eficiencia en el procesamiento y análisis de los datos de bioinformática.
En el entorno de investigación en bioinformática, el trabajo desde un terminal constituye el núcleo de las actividades habituales. Por esta razón, la mayoría de los sistemas actuales siguen manteniendo el terminal como una aplicación esencial. Como veremos en esta asignatura, esta herramienta resulta ideal para diseñar protocolos de trabajo que requieren el acceso repetido a determinados conjuntos de datos para efectuar cálculos intensivos.
La shell funciona mediante la ejecución del intérprete de comandos, la cual permanece en espera hasta que el usuario ingresa una nueva orden. Cuando se ejecuta un comando, el intérprete crea un nuevo proceso para llevar a cabo la tarea. Existen dos modos de ejecución de un comando: el modo en primer plano o síncrono, que bloquea el terminal durante la ejecución del proceso (en inglés, foreground), y el modo en segundo plano o asíncrono (en inglés, background), que no interrumpe la actividad ordinaria del terminal y permite lanzar nuevas órdenes 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íncrono finaliza, el intérprete informa al usuario apropiadamente. En el subapartado 1.11 («Gestión básica de procesos») se amplían los conocimientos sobre los comandos para gestionar el estado de los procesos en ejecución.
En la mayoría de los sistemas Gnu/Linux, la shell predeterminada es la shell bash. Para saber cuál es la shell de inicio de sesión predeterminada, escribid en el terminal los comandos que os detallaremos a continuación. Desde este momento, es muy recomendable que pongáis en práctica los ejemplos incluidos a lo largo de esta asignatura para mostrar el funcionamiento del terminal. Por otra parte, el carácter $
denota la entrada de comandos desde el terminal; tenéis que escribir a continuación de este símbolo lo siguiente:
$ whoami
student pts/1 2023-04-19 15:12 (:0)
$ grep student /etc/passwd
student:x:1000:1000:student,,,:/home/student:/bin/bash
El comando who am i
muestra vuestro nombre de usuario, y el comando grep
muestra la definición de vuestra cuenta de usuario en el archivo /etc/passwd. El último campo en esa entrada muestra que la shell bash (/bin/bash) es tu shell predeterminada (la que se inicia cuando iniciáis sesión o abrís una ventana del terminal).
Vale la pena conocer el intérprete de comandos bash, no solo porque es el predeterminado en la mayoría de las instalaciones, sino porque es el más utilizado en las certificaciones profesionales de Gnu/Linux.