Cerramos del 10/08 al 18/08. Los pedidos cursados a partir del 09/08 a las 12.00 hora de España peninsular se tramitarán el 19/08/2024.
Cerramos del 10/08 al 18/08. Los pedidos cursados a partir del 09/08 a las 12.00 hora de España peninsular se tramitarán el 19/08/2024.
  1. Libros
  2. Linux
  3. Inicio de sesión y primeros comandos
Extrait - Linux Principios básicos de uso del sistema (8ª edición)
Extractos del libro
Linux Principios básicos de uso del sistema (8ª edición)
2 opiniones
Volver a la página de compra del libro

Inicio de sesión y primeros comandos

Introducción

Tras la lectura de este capítulo, el lector estará capacitado para conectarse a un sistema GNU/Linux e introducir sus primeros comandos.

Para ello, se verán en detalle las consolas disponibles en Linux, el proceso de autenticación y el uso de la línea de comandos.

Consolas y terminales Linux

Los términos "consola" y "terminal" se usan para definir el conjunto de dispositivos que permiten al usuario interactuar con el sistema; este conjunto generalmente se compone de una pantalla, un teclado y un ratón.

1. Consolas virtuales

Para ofrecer varios terminales al usuario desde un mismo conjunto de pantalla/teclado/ratón, Linux proporciona un cierto número de consolas virtuales.

La ventaja de esta administración es que se dispone tanto de varias terminales de "texto" para las tareas que deben efectuarse desde una línea comandos, como de una consola "gráfica" que permite lanzar herramientas con una interfaz más evolucionada, como un programa de retoque de imágenes o un reproductor multimedia.

Estas consolas virtuales, que generalmente son seis o siete en las distribuciones como Fedora, Ubuntu o SUSE, se componen de cinco a seis terminales de texto y una consola gráfica. Se representan por las teclas de función [F1] a [F7] del teclado (siendo [F1] o [F7] la consola gráfica); para pasar de una a otra, hay que pulsar simultáneamente las teclas [Ctrl]+[Alt]+[Fn] donde n es el número de la consola virtual.

No es obligatorio pulsar la tecla [Ctrl] para pasar de un terminal de texto a otro.

Una consola virtual de texto, o simplemente un terminal de texto, se parece a esto:

images/1.png

La consola virtual gráfica puede...

Inicio de sesión y autenticación

El sistema Linux es multiusuario, por lo cual hay que empezar por autenticarse en el equipo.

La autenticación sirve para comprobar que el usuario situado delante de la consola es quien pretende ser. Tiene que facilitar su identidad (nombre de inicio de sesión o login) y una prueba de esta (contraseña) para conectarse.

Tanto si se trata del modo texto como del modo gráfico, la contraseña escrita por el usuario no se muestra en pantalla.

Al introducir el nombre de inicio de sesión y la contraseña se deben respetar escrupulosamente mayúsculas y minúsculas. De modo general, ya se trate de un nombre de archivo, de un login, de un nombre de variable o de un comando, la letra a no es igual que la letra A.

Ejemplo de inicio de sesión en un terminal de texto

Fedora 36 (Workstation Edition) 
Kernel 5.17.5-300.fc36.x86_64 on an x86_64 (tty3)
 
localhost login: nicolas 
Password: 
Last login: Fri Jul 29 12:33:38 on tty3 
[nicolas@localhost ~]$ 

Ejemplo de inicio de sesión en un terminal gráfico

images/8RI02-06.png

Símbolo del sistema del shell (prompt)

Una vez conectado a un terminal de texto, se inicia automáticamente un programa llamado shell. Este permite escribir los comandos que indicaremos más adelante.

El shell indica que está en espera de una instrucción presentando un símbolo del sistema (o prompt) al principio de la línea.

Según la configuración predefinida por el editor de la distribución de Linux, este prompt puede tener varios aspectos; por ejemplo, en Red Hat, Fedora o CentOS:

[javier@doe tmp]$ 

En Debian o Ubuntu:

javier@doe:~$ 

O incluso:

[root@doe bin]# 

El elemento más importante en los prompt que acabamos de presentar es el último carácter de cada uno: un $ o un # en la mayoría de los casos. Este carácter indica que el usuario actual conectado es o bien un usuario cualquiera sin derechos especiales ($), o bien el administrador que cuenta con todos los derechos necesarios para la configuración y el mantenimiento del sistema (#).

Los demás datos del prompt del shell son el nombre del usuario (delante de @), el nombre del equipo (doe) y el nombre de la carpeta actual (tmp, ~ y bin).

Para simplificar los ejemplos siguientes, el prompt del shell se reducirá a este último carácter ($ o #), precedido eventualmente del nombre del usuario entre corchetes:

$ 

o:

[javier]$ 

Sintaxis de los comandos

Es importante conocer la sintaxis de los comandos para evitar un gran número de errores de escritura.

En su expresión más simple, sin opciones ni argumentos, un comando se lanza escribiendo su nombre en la línea de comandos:

$ comando 

En los ejemplos siguientes, el $ situado al principio de línea corresponde al prompt del shell y no debe ser escrito por el usuario.

Si hay que especificar argumentos se añaden a continuación del comando en la misma línea, separados por un espacio:

$ comando arg1 arg2 

En la mayoría de los casos, los argumentos son los nombres de los archivos sobre los que actuará el comando.

Los tratamientos o la salida (visualización) de un comando GNU/Linux a menudo se pueden modificar mediante una opción. Estas opciones, específicas para cada comando, provienen habitualmente de las implementaciones originales y de las aportaciones de los diferentes UNIX anteriores a Linux. Por esta razón, para un mismo comando, puede haber varias decenas de opciones con diferentes sintaxis.

Existen principalmente dos tipos de opciones: las opciones monocarácter y las opciones largas. Ambas deben escribirse separadas por un carácter de espacio a continuación del comando y antes de los eventuales argumentos.

El carácter de espacio es un espacio o una tabulación y puede repetirse varias veces, tanto entre...

Uso del ratón

Además del uso intuitivo que se hace del ratón en un entorno gráfico, este se utiliza en la línea de comandos.

Existe una función de copiar y pegar con el ratón. Cualquier selección de texto efectuada mediante el botón primario del ratón se copia automáticamente en una memoria intermedia. Para pegar, bajo el cursor, la cadena de caracteres copiada en memoria, basta con pulsar el botón central del ratón.

Los ratones que sólo tienen dos botones están configurados normalmente para emular el botón central. En la consola gráfica, este botón se simula pulsando simultáneamente los botones primario y secundario del ratón. En una consola de texto, la emulación se hace simplemente con un clic en el botón secundario.

Atajos de teclado

1. En modo texto

Los atajos presentados aquí son los propios del shell Bash que se usa de modo predeterminado en Linux; funcionan tanto en una consola virtual de texto como en un emulador de terminal.

Control de visualización

[Ctrl]+[l]

Borra la pantalla y coloca el prompt del shell en la primera línea del terminal.

[Mayús]+[RePág]

Sube media página en la pantalla del terminal (igual que un deslizador); muy práctico para ver el resultado de un comando un poco largo. Es posible subir entre cinco y seis páginas en función de la configuración del sistema.

[Mayús]+[AvPág]

Al contrario del atajo anterior, baja media página en la pantalla del terminal.

Edición de la línea de comando

[Inicio]

Mueve el cursor al principio de la línea.

[Fin]

Mueve el cursor al final de la línea.

[Izquierda]

Mueve el cursor un carácter hacia la izquierda.

[Derecha]

Mueve el cursor un carácter hacia la derecha.

[Supr]

Suprime el carácter a la derecha del cursor.

[Retroceso]

Suprime el carácter a la izquierda del cursor.

[Ctrl]+[w]

Borra la última palabra.

[Ctrl]+[u]

Borra toda la línea.

Historial de comandos

[Arriba]

Sube por el historial de comandos. Cada pulsación de esta tecla permite mostrar el comando anterior de los que se han ejecutado anteriormente en el shell; a continuación se puede modificar el comando...

Primeros comandos

Estas primeras aplicaciones proporcionan un buen ejemplo de uso de la línea de comando de Linux y permiten efectuar operaciones esenciales del sistema; algunas de ellas se utilizarán de nuevo posteriormente en este libro.

1. Identidad de los usuarios: who, whoami, finger

El comando who enumera todos los usuarios conectados actualmente al sistema:

[javier@localhost ~]$ who 
javier   pts/1        2022-07-26 22:12 (192.168.118.1) 
root     tty3         2022-07-26 22:28 

En este ejemplo, el usuario javier está conectado desde un emulador de terminal (pts/1) remoto (192.168.118.1) desde el 26 de julio a las 22:12, y el administrador (root) en la tercera consola virtual de texto (tty3) desde el 26 de julio a las 22:28.

Con la opción -q, el propio comando who enumera únicamente los nombres de conexión y da el total del número de usuarios conectados actualmente:

[javier]$ who -q 
javier root 
número de usuarios=2 

Por el contrario, el comando who am i que posee una sintaxis muy particular -la cual recuerda las preferencias de los productores cinematográficos por los sistemas informáticos que comprenden el lenguaje natural-, muestra únicamente la línea que corresponde al usuario conectado:

[javier]$ who am i 
javier pts/1        2022-07-26 22:12 (192.168.118.1) 

El comando whoami, por su parte, indica la identidad bajo la que se encuentra actualmente el usuario:

[javier]$ whoami 
javier 

Siempre respecto a los usuarios del sistema...

Cierre de sesión

Una vez que el usuario ha terminado el trabajo para el que se ha conectado al sistema Linux, debe cerrar sesión (o desconectarse) para liberar la consola que utiliza.

Cerrar una sesión en un terminal de texto puede efectuarse de tres maneras:

  • con el comando exit;

  • con el comando logout (sólo funciona a partir del shell ejecutado automáticamente en la conexión);

  • pulsando simultáneamente las teclas [Ctrl]+[d].

La secuencia de teclas [Ctrl]+[d] corresponde al carácter de fin de archivo. Cuando el terminal recibe este carácter, considera que su "archivo" de entrada (el teclado) ha terminado y, por tanto, termina su ejecución. Esta noción de archivo de entrada se detalla en la sección "Redirecciones" del capítulo que trata del shell Bash.

Por su parte, las interfaces gráficas de Linux permiten cerrar la sesión mediante un menú:

images/7.png

Ejercicios

Ejercicio 1

Conéctese a un terminal virtual de texto, una consola gráfica o un terminal remoto y ejecute un shell si este no está ya corriendo.

Solución

Si cuenta con un acceso local al equipo, conéctese a un terminal virtual en modo texto o a la consola gráfica; a partir de esta última, habrá que ejecutar un emulador de terminal para ver una línea de comando shell.

Si solo se tiene acceso al equipo empleando la red, utilice un terminal remoto como PuTTY para acceder al sistema.

Utilice la información de conexión que ha introducido durante la instalación del sistema, o la proporcionada por el administrador.

Ejercicio 2

Modificar su contraseña.

Solución

Utilice el comando passwd teniendo en cuenta las reglas definidas por el administrador: número mínimo de caracteres, mayúsculas, minúsculas y números y caracteres especiales.

Ejercicio 3

Liste los usuarios conectados al sistema.

Solución

Emplee el comando who y finger si se está instalado.

Ejercicio 4

Muestre el calendario del año en curso y luego borre la pantalla.

Solución

Ejecute el comando cal con el año deseado como argumento, luego ejecute el comando clear.

Ejercicio 5

Desconéctese.

Solución

Salga del shell con el comando exit o la secuencia de teclas [Ctrl]+[d]. En un entorno gráfico, deberemos además cerrar...