1.7. El terminal com a eina de treball
1.7.1. El terminal
L’entorn de treball d’Ubuntu (https://ubuntu.com/), igual que qualsevol sistema de la família Gnu/Linux, compta amb un gestor gràfic de X-Windows (en català, finestres) que proporciona a l’usuari una amigable interfície per accedir als recursos de la seva màquina. No obstant això, en els primers sistemes operatius de les computadores no hi havia entorns interactius controlats pel ratolí ni pantalles amb la resolució gràfica que coneixem avui dia.
Una de les típiques icones associades a l’aplicació del terminal. A Gnu/Linux també rep el nom d’intèrpret d’ordres (en anglès, shell). En la figura 2 es mostra el símbol que representa l’intèrpret d’ordres.
El treball des de terminals de línies d’ordres (en anglès, CLI, command line interface) des d’una shell, per exemple, tipus bash és important en un entorn de bioinformàtica per diverses raons:
- Flexibilitat. L’ús del terminal permet a l’usuari una major flexibilitat i control sobre el processament i anàlisi de les dades de bioinformàtica, ja que es pot utilitzar una àmplia varietat d’eines de línia d’ordres i es poden combinar de manera efectiva.
- Automatització. L’automatització de tasques és molt més fàcil en un terminal tipus bash, perquè es poden crear scripts i programes per processar grans quantitats de dades sense la necessitat d’executar cada tasca manualment.
- Reproductibilitat. El terminal tipus bash permet a l’usuari reproduir fàcilment una anàlisi o processament de dades en qualsevol moment, ja que totes les ordres i operacions realitzades queden registrats en l’historial d’ordres.
- Eficiència. Treballar des d’un terminal tipus bash és sovint més eficient que treballar en una interfície gràfica d’usuari, perquè es poden fer moltes operacions en una sola línia d’ordres.
En resum, treballar des d’una shell tipus bash en un entorn de bioinformàtica és important per permetre una major flexibilitat, automatització, reproductibilitat i eficiència en el processament i anàlisi de les dades de bioinformàtica.
En l’entorn de recerca en bioinformàtica, la feina des d’un terminal constitueix el nucli de les activitats habituals. Per aquesta raó, la majoria dels sistemes actuals mentenen encara el terminal com una aplicació essencial. Com veurem durant l’assignatura, aquesta eina resulta ideal per dissenyar protocols de treball que requereixen l’accés repetit a determinats conjunts de dades per dur a terme càlculs intensius.
La shell funciona mitjançant l’execució de l’intèrpret d’ordres, que roman en espera fins que l’usuari hi agrega una nova ordre. Quan s’executa una ordre, l’intèrpret crea un nou procés per dur a terme la tasca. Existeixen dos modes d’execució d’una ordre: el mode en primer pla o síncron, que bloqueja el terminal durant l’execució del procés (en anglès, foreground), i el mode en segon pla o asíncron (en anglès, background), que no interromp l’activitat ordinària del terminal i permet llançar noves ordres mentre el procés s’executa en segon pla. Per exemple, és possible editar un arxiu de text en una finestra a part mentre s’executen altres ordres al terminal. Un cop una ordre asíncrona finalitza, l’intèrpret informa l’usuari apropiadament. En el subapartat 1.11 («Gestió bàsica de processos») s’amplien els coneixements sobre les ordes per gestionar l’estat dels processos en execució.
En la majoria dels sistemes Gnu/Linux, la Shell és la shell bash. Per saber quina és la shell d’inici de sessió predeterminada, escriviu les ordres al terminal que us traslladem a continuació. Des d’aquest moment, és molt recomanable que poseu en pràctica els exemples inclosos en aquesta assignatura per mostrar el funcionament del terminal. D’altra banda, el caràcter $ denota l’entrada d’ordres des del terminal; haureu d’escriure el següent a continuació d’aquest símbol:
$ whoami
student pts/1 2023-04-19 15:12 (:0)
$ grep student /etc/passwd
student:x:1000:1000:student,,,:/home/student:/bin/bash
L’ordre who am i
mostra el vostre nom d’usuari, i l’ordre grep
mostra la definició del vostre compte d’usuari a l’arxiu /etc/passwd. L’últim camp en aquesta entrada mostra que la shell bash (/bin/bash) és el vostre shell (la que s’inicia quan obrim sessió o una finestra del terminal).
Val la pena conèixer l’intèrpret d’ordres bash, no només perquè és el predeterminat en la majoria de les instal·lacions, sinó perquè és el més utilitzat en les certificacions professionals de Gnu/Linux.