Simulador de terminal Linux
Una terminal de Ubuntu en tu navegador: carpetas con permisos y propietarios, usuarios y grupos, procesos, servicios, tuberías, redirecciones y scripts. Entras como alumno, que puede usar sudo. Los mensajes son los de bash en español, y en azul te explica lo que ha pasado. Nada sale de tu navegador, así que puedes romper lo que quieras.
Misiones (0 de 21 completadas)
1. Muévete y crea un archivo
Entra en la carpeta web que está dentro de proyectos y crea allí un archivo vacío llamado contacto.html. Termina dentro de esa carpeta.
Pista
cd entra en una carpeta (puedes darle la ruta entera de una vez: carpeta/subcarpeta) y touch crea un archivo vacío. pwd te dice dónde estás y ls lo que hay.
Ver solución
ls cd proyectos/web touch contacto.html ls
Terminal
Escribe una orden y pulsa Intro. Prueba con ls, pwd o help.
Carpeta actual
/home/alumno · usuario alumno · grupos alumno, adm, sudo
| Permisos | Dueño | Grupo | Nombre |
|---|---|---|---|
| -rw-r--r-- | alumno | alumno | |
| drwxr-xr-x | alumno | alumno | |
| drwxr-xr-x | alumno | alumno | |
| -rw-r--r-- | alumno | alumno | |
| drwxr-xr-x | alumno | alumno |
Pulsa un nombre para escribirlo en la terminal. Los ocultos (empiezan por punto) también salen aquí; en la terminal, con ls -a.
Órdenes que entiende el simulador
Las mismas que en Ubuntu, con sus opciones más usadas. En la terminal, man orden enseña las opciones y ejemplos de cada una. También funcionan las tuberías (|), las redirecciones (>, >>, <, 2>, 2>&1), && y ||, los comodines (* ? [ ]), las llaves ({a,b} y {1..5}), las variables ($HOME, $?, $(orden), $((2+3))) y los scripts.
Moverse y mirar
- pwd
- muestra la carpeta en la que estás
- cd
- cambia de carpeta
- ls
- lista el contenido de carpetas
- tree
- dibuja el árbol de carpetas
- cat
- muestra (o concatena) archivos
- less
- muestra un archivo largo página a página
- head
- primeras líneas
- tail
- últimas líneas
- file
- dice qué tipo de archivo es por su contenido
- stat
- datos de un archivo: tamaño, permisos, dueño, fechas
Archivos y carpetas
- mkdir
- crea carpetas
- touch
- crea archivos vacíos o actualiza su fecha
- cp
- copia archivos y carpetas
- mv
- mueve o renombra
- rm
- borra archivos (y carpetas con -r). No hay papelera
- rmdir
- borra carpetas vacías
- find
- busca archivos por nombre, tipo, tamaño, dueño…
- du
- espacio que ocupan carpetas y archivos
- df
- espacio libre de los discos
- tar
- empaqueta (y comprime) carpetas
- basename
- el nombre final de una ruta
- dirname
- la carpeta de una ruta
Texto y tuberías
- echo
- escribe texto
- printf
- escribe texto con formato
- grep
- busca líneas que cumplen un patrón (expresión regular)
- sort
- ordena líneas
- uniq
- quita líneas repetidas consecutivas (ordena antes)
- cut
- corta columnas
- tr
- cambia o borra caracteres de la entrada
- wc
- cuenta líneas, palabras y bytes
- tee
- copia la entrada a la pantalla y a archivos
- xargs
- convierte la entrada en argumentos de otra orden
- seq
- escribe una secuencia de números
Permisos
- chmod
- cambia los permisos
- chown
- cambia el propietario (y el grupo). Solo root
- chgrp
- cambia el grupo
- umask
- muestra o cambia los permisos que se quitan al crear archivos
Usuarios y grupos
- whoami
- tu usuario
- id
- uid, gid y grupos de un usuario
- groups
- grupos de un usuario
- sudo
- ejecuta una orden como root (si estás en el grupo sudo)
- su
- cambia de usuario (pide su contraseña; desde root no)
- exit
- cierra la sesión abierta con sudo -i, su o bash, o termina un script
- useradd
- crea un usuario (orden de bajo nivel)
- adduser
- crea un usuario completo (Debian y Ubuntu) o lo añade a un grupo
- usermod
- modifica un usuario
- userdel
- borra un usuario
- groupadd
- crea un grupo
- groupdel
- borra un grupo
- gpasswd
- añade o quita usuarios de un grupo
- passwd
- cambia la contraseña
Procesos y servicios
- ps
- lista los procesos
- top
- procesos ordenados por CPU (en un sistema real se actualiza; sal con q)
- kill
- envía una señal a un proceso (por defecto SIGTERM, terminar)
- killall
- señal a todos los procesos con ese nombre
- pkill
- señal a los procesos cuyo nombre cumple un patrón
- pgrep
- PID de los procesos cuyo nombre cumple un patrón
- systemctl
- gestiona servicios (nginx, ssh, cron, mariadb)
Shell y sistema
- env
- variables de entorno
- printenv
- valor de variables de entorno
- export
- define una variable de entorno
- unset
- borra una variable
- alias
- define atajos de órdenes
- which
- ruta del programa que ejecuta una orden
- type
- qué es una orden: interna, alias o programa
- history
- órdenes que has escrito
- clear
- limpia la pantalla
- source
- ejecuta un script en la shell actual (sus variables y cd se quedan)
- bash
- ejecuta un script (o abre otra shell)
- test
- comprueba condiciones; se usa con && y ||
- date
- fecha y hora
- uname
- datos del sistema
- hostname
- nombre del equipo (-I: sus IP)
- uptime
- cuánto lleva encendido y la carga
- free
- memoria libre
- ip
- direcciones y rutas de red
- apt
- instala programas (en el simulador no descarga nada)
- man
- manual de una orden
- help
- lista las órdenes del simulador
La teoría está en Administración de sistemas operativos y Sistemas de ficheros (Sistemas Informáticos), y los servicios web en Servidores web (Despliegue). El simulador no tiene red, editores, enlaces ni estructuras de control (if, for) en los scripts; para scripts de verdad tienes los ejercicios de Bash.