Sunteți pe pagina 1din 2

Capítulo 3.

Terminal o SHELL
Veamos primero lo que es una TERMINAL (o un SHELL, o un INTÉRPRETE DE
COMANDOS, ambos casi sinónimos de TERMINAL). Probablemente muchos estéis
acostumbrados a usar ENTORNOS GRÁFICOS (de ventanas) como los interfaces de
Windows o de MacOS, y si habéis empezado a investigar el escritorio de Linux después de
instalar vuestra distribución, habréis visto que hay varios escritorios para usar en Linux. Los
entornos gráficos nos permiten ver colores, e interactuar con los botones de los programas
para elegir opciones.

No obstante, la manera más habitual de administrar una máquina Linux (instalar paquetes,
ver los registros de actividad, crear o modificar usuarios...) suele hacerse desde un terminal o
intérprete de comandos, que es en modo texto, y generalmente nos muestra un PROMPT
como ahora veremos. Un prompt es lo que el intérprete de comandos escribe
automáticamente en cada lína antes de que nosotros podamos darle instrucciones mediante
COMANDOS. Cada comando, generalmente , termina presionando la tecla INTRO para que
éste sea recibido por la máquina y ejecutado.

Aparte de dar instrucciones a nuestra máquina, desde una terminal podremos editar textos,
archivos de configuración, apagar y reiniciar el sistema, instalar nuevos programas, leer el
correo, conectar al IRC, usar un navegador... y muchas cosas más. Aprenderemos que los
sistemas gráficos no son imprescindibles, y lo que es mejor, al final te terminará gustando
todo esto de los comandos (por mucho que ahora pienses que no). Para que te vayas haciendo
una idea de cómo funciona todo esto y lo comprendas, vamos a pasar a explicar cómo
funciona la terminal que usan por dfecto actualmente casi todos los sistemas Linux. En un
capítulo posterior veremos detenidamente los sistemas gráficos en Linux.

Conceptos básicos de la terminal BASH

Cuando arranquemos nuestra máquina con Linux y termine de cargar todos los procesos
iniciales, o bien veremos una pantalla gráfica de login o una de texto. Vamos a aprovechar
este hecho para saber cómo podemos cambiar de terminal (podemos usar varias a la vez e ir
cambiando entre ellas). Pulsando las teclas Ctrl+Alt+F1 accedemos a la primera terminal,
pulsando Ctrl+Alt+F2 accedemos a la segunda, y así sucesivamente hasta Ctrl+Alt+F6
(Podremos volver al escritorio gráfico con Ctrl+Alt+F7 o a veces Ctrl+Alt+F5). Es posible
que no podamos acceder a la primera terminal porque quizás esté siendo utilizada por los
procesos de login gráfico si es que ya hemos ingresado desde allí. Las terminales se suelen
nombrar tty0 para la primera, tty1 para la segunda, y así sucesivamente. También es posible,
como descrubriremos luego, abrir una terminal en otra máquina desde la nuestra, esto es,
manejarla remotamente.

Siempre que estemos ante una nueva terminal, veremos que aparece ante nosotros algo como
NOMBREDEMIMÁQUINA login:. En cada terminal se ejecuta el programa que produce esta
salida para que nos AUTENTIFIQUEMOS en el sistema (esto es, para que demostremos que
somos usuarios registrados en el sistema y que podemos usarlo). El programa se llama login,
y es de momento sólo importante que recuerdes que hay un programa que se ejecuta en cada
terminal y que se encarga de autentificarnos en el sistema. Como vamos a practicar, NO
entraremos al sistema como root . Bien, entremos al sistema en una de las terminales para
practicar:

NOMBREDEMIMÁQUINA login: minombredeusuario


Password: mipassword

Supongamos que minombredeusuario es nuestro nombre de usuario (recuerda que Linux


distingue mayúsculas y minúsculas para los usuarios y las contraseñas). Después de
introducirlo presionaremos INTRO, y después introduciremos nuestra contraseña. Observa
que no aparecen asteriscos mientras introduces tu contraseña (esto es por seguridad, para que
nadie vea cuántos caracteres tiene tu password), pero puedes borrar y escribir normalmente.
Cuando hayas terminado, presiona INTRO de nuevo.

Se comprobará si nuestro usuario y contraseña son correctos. De no ser así aparecerá algo
como Login incorrect. Please try again. Esto significa que nuestro nombre de usuario
o/y contraseña son incorrectos, así que lo intentaremos de nuevo. Cuando hagamos un login
satisfactorio en el sistema, se nos mostrará algo como:

User [miusuario] logged in. Last login was in [FECHA] from


[hostremoto_o_terminallocal]

Donde [miusuario] es mi nombre de usuario en la máquina, [FECHA] es la fecha del último


ingreso al sistema y [nombre_de_host_remoto_o_terminal_local] es el nombre de la
máquina desde donde ingresamos la última vez en la nuestra, o el nombre de la terminal local
si el último login; por ejemplo tty0. En algunos casos se nos indicará las veces que se ha
fallado antes de conseguir entrar con nuestro nombre de usuario. Como veremos después,
podremos saber si alguien intenta hacerse pasar por nosotros con esta información.

Además (como después veremos en detalle), la máquina nos informará de si tenemos correo o
correo nuevo en nuestro buzón local. Puede ser algo como New mail for [misusuario] o
Mail for [miusuario], dependiendo de si hay correo no leído o leído respectivamente. Si
no lo hay o bien no se muestra nada o se muestra algo como No mail for [miusuario].

Una vez dentro de nuestro sistema Linux, usando BASH (justo después de hacer login, pues
es BASH la terminal por defecto), se nos mostrará lo siguiente en cada línea antes de que
podamos introducir ningún comando:

[miusuario@nombredemimáquina directorioactual]$
miusuario@nombredemimáquina /directorio/actual$

A esto que se muestra antes de que podamos introducir un comando le llamamos PROMPT.
Aparecerá cada vez que pulsemos INTRO. También puedes apreciar que hemos puesto dos
líneas de prompt. La primera de ellas es la que verás si usas una distribución RedHat o basada
en RedHat (Mandrake, SuSE...). La segunda es la línea que verás si usas una distribución
Debian o basada en Debian. Analicemos las distintas partes del prompt más detenidamente:

 miusuario es el nombre de usuario con el que hemos entrado a la máquina.


 nombredemimáquina es el nombre de nuestra máquina sin el dominio (porejemplo, una
máquina llamada maquina23.midominio.com, aparecería aquí como maquina23).

 directorioactual es el nombre del directorio actual en el que estamos sin la ruta


completa, sólo el directorio. Como nada más entrar al sistema, estaremos en
/home/miusuario, lo más probable es que muestre solamente miusuario.