Desde la interfaz gráfica iniciada, se puede iniciar la aplicación terminal, para ello pulsamos en Actividad y escribimos terminal.
Además, en la mayoría de las versiones de Linux, aparte de la sesión gráfica, se inician varias terminales de texto. Estas sesiones gráficas o terminales de texto, llamadas tty1, tty2, …, tty6 se muestran en pantalla, pulsado las teclas “Ctrl+Alt+F1”,..., “Ctrl+Alt+F6”
Cada terminal puede estar iniciada por distintos usuarios.
En Ubuntu 18.04 tty1 y tty2 son sesiones gráficas (por defecto se inicia la terminal gráfica tty2). Desde tty3 hasta tty6 son terminales de texto.
Con la sesión gráfica iniciada, podemos cambiar a tty3 con Ctrl+Alt+F3 e iniciar sesión con otro usuario, y volver a la gráfica pulsando Ctrl+Alt+F2.
En otros Linux, las terminales cambian, incluso en las versiones anteriores de Ubuntu, tty1 a tty6 representan terminales de texto, mientras las gráficas son tty7 y tty8.
Recordar que al utilizar VirtualBox, la combianción “Ctrl + Alt” se sustituye por la tecla anfitrión de VirtualBox “Ctrl derecha” (de las 2 teclas de control que hay en el teclado, la que hay a la derecha). De forma, que para iniciar sesión en tty1 en una máquina virtual se utiliza “Ctrl derecha + F1”
Sintaxis de los comandos
La sintaxis general de los comandos es:
comando [opciones][parámetros]
Ejemplo de comando:
Si queremos conocer lo que hay en el directorio home de alumno, con información larga y mostrando archivos ocultos, ejecutaremos el comando siguiente (las 2 formas son válidas):
ls -l -a /home/alumno
ls -la /home/alumno
- Comando:
ls es el comando que muestra lo que tiene un directorio (posteriormente vemos el comando de forma más detallada)
Los comandos siempre se escriben en minúsculas, como se ha comentado antes.
- Opciones del comando:
La opción l sirve para que la información de cada archivo y directorio sea larga o extendida.
La opción a sirve para mostrar los archivos ocultos.
Cada opción se escribe con un guion delante, o con un único guion, en este caso las opciones no se separan con espacio, siendo equivalentes: -l -a y -la
- Parámetros:
Donde vamos a realizar la acción, en este caso en el directorio home de alumno: /home/alumno
Primeros comandos
Comenzamos con unos primeros comandos fáciles de utilizar, antes de entrar a los comandos de ficheros y directorios.
passwd usuario
Comando para cambiar la contraseña del usuario.
El sistema pide la contraseña antigua y después hay que introducir la nueva contraseña 2 veces.
exit
Comando para salir de la sesión.
Ejemplos:
Si tenemos una terminal abierta en la sesión gráfica, exit cierra la terminal.
Si estamos en la terminal de texto tty1, y escribimos exit, el sistema finaliza la sesión y vuelve a mostrar la petición de login para iniciar una nueva sesión.
man y help
La ayuda de un comando se puede solicitar de 2 formas distintas, por ejemplo, para pedir la ayuda del comando passwd, se puede ejecutar de las 2 formas siguientes:
1. passwd --help (atención, antes de help, hay un doble guion)
2. man passwd
El comando help ofrece la ayuda de forma resumida, mientras que man ofrece la ayuda completa del manual de Linux. Para desplazarnos por la ayuda podemos utilizar además de los cursores, las teclas RePg y AvPg. Para salir de nuevo al prompt o Shell del sistema se pulsa la tecla q (q viene de quit).
Usuarios de Linux. Trabajar como administrador. Cambios de usuario.
Trabajar como administrador
Cuando se ha instalado Linux, hemos creado un usuario “tu_nombre”. Este usuario, tiene poderes para convertirse en superusuario o root.
Cualquier usuario posterior que se cree, no tendrá esos poderes, salvo que se configuren.
De momento, es importante tener claro que ese primer usuario creado “tu_nombre” y “root” son 2 usuarios distintos. Esto no es así en Windows, el usuario que se creó al instalar Windows era administrador, aunque debido al UAC Control de usuarios, se le pida identificación.
Además, en nuestro Ubuntu, hemos creado un tercer usuario "alumno", creado en anterior libro y que no tiene poderes para ser root.
sudo comando_a_ejecutar
Si queremos ejecutar un solo comando como root (superusuario o administrador) utilizamos sudo.
La terminal nos pedirá la contraseña de nuestro usuario, y ejecutará el comando con la identidad de root y sus permisos.
sudo su
Si queremos realizar varias comandos como root, es más cómodo cambiarnos temporalmente a root, para ello se ejecuta sudo su. En los siguientes comandos seguimos siendo root hasta que salgamos con el comando exit.
Es muy importante ser root sólo cuando sea necesario. Para entenderlo, los archivos tienen un propietario, que es quien lo ha creado. Si soy el usuario miguel y creo un archivo, tendré permisos para cambiarlo. Pero si creo el archivo siendo root, el usuario miguel no tendrá permisos para cambiar el fichero.
Cambiar a otro usuario. Comando su
Se puede cambiar a cualquier usuario en la terminal, utilizando:
su nombre_usuario
Al introducir el anterior comando, se solicita el password del usuario, y se cambia la sesión de la terminal a ese usuario.
su root
De la misma forma, su root sirve para cambiar la sesión a root.
Por defecto, esta opción no funciona en las distribuciones Ubuntu, pues el usuario root viene deshabilitado porque no tiene contraseña. Por ello, por defecto para ser root hay que utilizar obligatoriamente sudo. Sin embargo, en otras distribuciones Linux, viene deshabilitado sudo, por lo que hay que utilizar su.
Para que el usuario root, pueda tener sesión propia en Ubuntu, solo hay que poner contraseña a root con:
sudo passwd root
Leyenda para los ejemplos que se muestre
Ejemplo:
miguel@SistemasUbuntu:~$ cat /etc/shadow
cat: /etc/shadow: Permiso denegado
#Como usuario miguel se intenta mostrar el archivo /etc/shadow en pantalla. El sistema devuelve permiso denegado
miguel@SistemasUbuntu:~$ sudo cat /etc/shadow
[sudo] contraseña para miguel:
root:!:17848:0:99999:7:::
…………………………………..
#Se ejecuta el mismo comando pero con sudo, de forma que el sistema solicita el password de miguel, (usuario que puede convertirse en root). Se muestra la información del fichero en pantalla (este fichero tiene las contraseñas encriptadas de los usuarios)
miguel@SistemasUbuntu:~$ sudo su
#Con sudo su, se cambia a root, de forma que cuando devuelve el prompt o Shell, aparece la primera palabra root (que significa que está conectado el usuario root).
root@SistemasUbuntu:/home/miguel# cat /etc/shadow
root:!:17848:0:99999:7:::
………………………………
#Como ya somos root, podemos mostrar el archivo sin utilizar sudo
root@SistemasUbuntu:/home/miguel# mkdir carpeta1
#Creamos carpeta1 en directorio actual
root@SistemasUbuntu:/home/miguel# exit
exit
#Salimos de root, y volvemos al usuario miguel con exit (fijarse en shell)
miguel@SistemasUbuntu:~$ mkdir carpeta2
#Creamos carpeta2 en directorio actual
miguel@SistemasUbuntu:~$ ls -l
total 52
drwxr-xr-x 2 root root 4096 nov 22 12:24 carpeta1
drwxr-xr-x 2 miguel miguel 4096 nov 22 12:24 carpeta2
……………………………………………..
#Listamos nuestro directorio actual, al listar se ve carpeta1 y carpeta2, pero se ven sus propietarios, donde el propietario de carpeta1 es root, y el propietario de carpeta2 es miguel
Varios comandos sencillos
poweroff
Apagar el equipo. En la mayoría de las distribuciones, hay que ser root.
reboot
Reiniciar el equipo.
who
Devuelve todos los usuarios conectados al equipo, bien en distintas terminales, bien desde la red.
echo
Igual que en Windows, echo mensaje devuelve en pantalla el mensaje.
pwd
Devuelve el directorio actual en el que nos encontramos.
clear
Limpia la pantalla (equivalente al cls de Windows)
Inicio de sesión del usuario en Linux. Directorio /home
Cuando un usuario inicia sesión en una consola de Linux, accede por defecto a su directorio $HOME. En el directorio $HOME de un usuario, solo tiene acceso a escribir ese usuario y los administradores. Por defecto, en Ubuntu, si se permite la lectura de los archivos de otros usuarios.
Si el usuario se llama alumno, su directorio $HOME es /home/alumno
Cuando un usuario se encuentra en su $HOME, en la mayoría de las shell aparece el símbolo ~ en lugar de /home/usuario
Significado de los parámetros del Prompt o Shell del sistema
root@localhost:/etc#
1 2 3 4
1. Estamos conectados con el usuario root.
2. El nombre del ordenador es localhost
3. El directorio actual es /etc. Si aparece ~ significa que estamos en el directorio HOME del usuario.
4. La # identifica que el usuario conectado es un administrador. Cuando el usuario conectado no es administrador, se visualiza $.
Ejemplo:
miguel@SistemasUbuntu:~/Documentos$ pwd
/home/miguel/Documentos
#El comando pwd devuelve la ruta actual completa, como estamos en ~/Documentos y ~ representa $HOME, la ruta completa en /home/miguel/Documentos
miguel@SistemasUbuntu:~/Documentos$ su alumno
alumno@SistemasUbuntu:/home/miguel/Documentos$
#Al cambiar al usuario alumno, se ve los cambios en los parámetros 1 (usuario) y 3 (directorio actual)