Comandos Linux¶
Qué es la consola y cómo se escribe una orden¶
La terminal es la ventana; la shell (en LliureX, Bash) es el programa que interpreta lo que escribes. Un administrador trabaja aquí porque es más rápido, funciona en servidores sin escritorio y se puede automatizar.
Toda orden sigue la misma estructura:
orden opciones argumentos
ls -l -a /etc
El prompt te dice quién eres: usuario@equipo:~$. Si termina en #, eres root: cuidado.
Si no sabes algo, pregúntale al sistema:
| Orden | Para qué |
|---|---|
man ls |
Manual completo (q para salir, / para buscar) |
ls --help |
Resumen rápido |
Atajos que ahorran horas
Tabautocompleta↑repite órdenes anterioresCtrl+CcancelaCtrl+Llimpia la pantalla.
El árbol de directorios¶
En Linux no hay C:. Todo cuelga de una raíz, /:
| Directorio | Qué hay |
|---|---|
/home |
Las carpetas de los usuarios |
/etc |
La configuración del sistema |
/var/log |
Los registros (logs) |
/tmp |
Temporales |
/usr/bin |
Los programas |
Rutas:
- Absoluta: empieza en
/→/home/ana/documentos - Relativa: desde donde estás →
documentos - Atajos:
~tu carpeta personal .aquí..la carpeta de arriba
| Orden | Hace |
|---|---|
pwd |
Dónde estoy |
cd ruta |
Ir a una carpeta |
ls -la |
Listar todo, con detalles y ocultos |
Ficheros y directorios¶
| Orden | Hace |
|---|---|
mkdir -p a/b |
Crear carpetas |
touch f.txt |
Crear un fichero vacío |
cp origen destino |
Copiar (-r para carpetas) |
mv origen destino |
Mover o renombrar |
rm fichero |
Borrar (-r para carpetas) |
cat, less, head, tail |
Ver contenido |
find / -name "*.conf" |
Buscar ficheros |
grep texto fichero |
Buscar dentro de ficheros |
Comodines:
*cualquier cosa?un carácter{1..5}genera 1 2 3 4 5.
Cuidado
rm -rf borra sin preguntar y para siempre.
Usuarios y permisos¶
Cada fichero tiene un propietario, un grupo y unos permisos:
-rwxr-x--- ana clase script.sh
└┬┘└┬┘└┬┘
│ │ └ otros
│ └─── grupo
└────── propietario
¿Qué quiere decir?
rleer (4)wescribir (2)xejecutar o entrar (1)
Se suman por grupo: rwx = 7, r-x = 5, --- = 0 → 750.
| Orden | Hace |
|---|---|
chmod 750 f |
Cambiar permisos |
chown ana:clase f |
Cambiar propietario y grupo |
sudo orden |
Ejecutar como administrador |
adduser nombre |
Crear usuario |
usermod -aG grupo usuario |
Añadir a un grupo (¡sin la a le quitas los demás!) |
Redirecciones y tuberías¶
La salida de una orden puede ir a un fichero o a otra orden:
| Símbolo | Hace |
|---|---|
> |
Guarda en un fichero (lo sobrescribe) |
>> |
Añade al final del fichero |
2> |
Guarda solo los errores |
\| |
Pasa la salida a la siguiente orden |
Con la tubería se construyen órdenes potentes juntando piezas simples:
cat acceso.log | grep FAIL | wc -l # ¿cuántos accesos fallidos?
!!! tip "Piezas habituales":
- `grep` (filtrar)
- `sort` (ordenar)
- `uniq -c` (contar repetidos)
- `cut` (sacar columnas)
- `wc -l` (contar líneas)
- `head`/`tail` (quedarse con el principio o el final).
Procesos, servicios y programas¶
| Orden | Hace |
|---|---|
ps aux, htop |
Ver procesos |
kill PID |
Terminar un proceso |
systemctl status ssh |
Estado de un servicio |
systemctl start/stop/restart ssh |
Controlar un servicio |
sudo apt update |
Actualizar la lista de programas |
sudo apt install tree |
Instalar un programa |
tar -czf copia.tar.gz carpeta |
Comprimir |
No hay que saberlo de memoria
No hace falta memorizar todo esto. Hace falta saber que existe y cómo preguntar (man, --help). El resto se aprende usándolo.
Actividades¶
Leer antes de empezar
Preparación (una sola vez)
Copia y pega este bloque en la terminal de la VM cliente. Crea la carpeta de trabajo y dos ficheros de datos.
mkdir -p ~/practica && cd ~/practica
cat > empleados.csv << 'EOF'
nombre;departamento;ciudad;edad
ana;informatica;valencia;34
luis;ventas;alicante;41
marta;informatica;castellon;29
pedro;rrhh;valencia;52
lucia;ventas;valencia;38
jorge;informatica;alicante;45
sara;direccion;valencia;50
diego;ventas;castellon;27
elena;rrhh;alicante;33
raul;informatica;valencia;31
carmen;ventas;valencia;46
ivan;informatica;castellon;24
EOF
cat > acceso.log << 'EOF'
2026-10-05 08:01:12 OK ana 192.168.1.20
2026-10-05 08:03:45 FAIL root 10.0.0.66
2026-10-05 08:03:47 FAIL root 10.0.0.66
2026-10-05 08:03:49 FAIL admin 10.0.0.66
2026-10-05 08:10:02 OK luis 192.168.1.21
2026-10-05 08:15:30 FAIL marta 192.168.1.22
2026-10-05 08:15:41 OK marta 192.168.1.22
2026-10-05 09:00:00 FAIL root 10.0.0.66
2026-10-05 09:00:02 FAIL root 10.0.0.66
2026-10-05 09:12:13 OK jorge 192.168.1.25
2026-10-05 10:22:05 FAIL test 172.16.5.9
2026-10-05 10:22:07 FAIL test 172.16.5.9
2026-10-05 11:45:59 OK ana 192.168.1.20
2026-10-05 12:30:10 FAIL admin 10.0.0.66
2026-10-05 13:05:44 OK sara 192.168.1.30
EOF
ls -l
acceso.log simula el registro de accesos de un servidor. Cada línea tiene 5 campos separados por espacios: fecha, hora, resultado (OK/FAIL), usuario, IP.
- AC 0111. Averigua con qué usuario estás trabajando, cómo se llama el equipo y en qué carpeta estás.
- AC 0112. Muestra la fecha y hora del sistema.
- AC 0113. Averigua qué versión de LliureX y qué versión del núcleo tiene tu VM.
- AC 0114. Lista el contenido de
/etc. Después, lístalo con detalles (permisos, tamaño, fecha). - AC 0115. Lista todo el contenido de tu carpeta personal, incluidos los ficheros ocultos. ¿Cómo se reconoce un fichero oculto?
- AC 0116. Ve a
/var/logusando una ruta absoluta. Después vuelve a tu carpeta personal con la orden más corta posible. - AC 0117. Estando en tu carpeta personal, ve a
/tmpusando solo una ruta relativa. - AC 0118. Usando
man ls, averigua qué opción delsordena por tamaño. Pruébala en/etc. - AC 0119. Muestra el historial de órdenes que has escrito. Busca una orden anterior con
Ctrl+R.
Esta tanda...
Trabaja dentro de ~/practica.
- AC 0120. Crea con una sola orden las carpetas
documentos,imagenes,copiasytemp. - AC 0121. Crea con una sola orden los ficheros
informe1.txtainforme5.txtdentro dedocumentos. - AC 0122. Crea en
imageneslos ficherosfoto1.jpg,foto2.jpg,foto3.jpg,foto1.pngyfoto2.png. - AC 0123. Copia todos los
.txtdedocumentosacopias, con una sola orden. - AC 0124. Renombra
documentos/informe5.txtadocumentos/final.txt. - AC 0125. Mueve los ficheros
.pngdeimagenesatemp. - AC 0126. Lista solo los informes 1, 2 y 3 usando un comodín entre corchetes.
- AC 0127. Escribe la frase
Primera líneadentro dedocumentos/nota.txtsin abrir ningún editor. Después añadeSegunda líneasin borrar la primera. Comprueba el contenido. - AC 0128. Haz una copia completa de la carpeta
documentosllamadadocumentos_backup. - AC 0129. Borra la carpeta
tempcon todo su contenido. - AC 0130. Crea en tu carpeta personal un enlace simbólico llamado
logsque apunte a/var/log. Entra por él y comprueba conls -l ~que es un enlace. - AC 0131. Instala
tree(sudo apt install tree) y muestra la estructura de~/practica.
Para esta tanda
Usa los ficheros empleados.csv y acceso.log.
- AC 0132. Muestra el contenido completo de
empleados.csv. Después muestra solo las 3 primeras líneas y luego solo las 2 últimas. - AC 0133. ¿Cuántas líneas tiene cada fichero? Hazlo con una sola orden para los dos.
- AC 0134. Abre
acceso.logconlessy busca dentro la palabraFAIL. ¿Cómo pasas a la siguiente coincidencia? - AC 0135. Muestra todas las líneas de
acceso.logen las que apareceana. - AC 0136. ¿Cuántas líneas de
acceso.logcontienenOK? Usa una opción degrepque cuente. - AC 0137. Muestra los empleados de
informatica. Después, solo los deinformaticaque viven en valencia. - AC 0138. Busca todos los ficheros
.txtque hay dentro de~/practica, incluidas las subcarpetas. - AC 0139. ¿Cuántos ficheros
.confhay dentro de/etc? (Si salen errores de permisos, ignóralos por ahora.) - AC 0140. ¿En qué carpeta está instalado el programa
ls? ¿Ypython3? - AC 0141. Busca en
/var/loglos ficheros de más de 1 MB. - AC 0142. Muestra tu identificador de usuario y los grupos a los que perteneces.
- AC 0143. Muestra las 5 últimas líneas de
/etc/passwd. Elige una y explica qué significa cada campo separado por:. - AC 0144. Crea dos usuarios:
alumno1yalumno2. - AC 0145. Crea el grupo
clasey añade a los dos usuarios. Comprueba que están. - AC 0146. Cámbiate a
alumno1, comprueba quién eres y vuelve a tu usuario. - AC 0147. Mira los permisos de
documentos/nota.txt. Explica quién puede hacer qué con ese fichero. -
AC 0148. Traduce:
Octal rwx 755 644 700 640 rwxr-x---rw------- -
AC 0149. Crea
secreto.txty ponle permisos para que solo tú puedas leerlo y modificarlo. Comprueba conls -l. - AC 0150. Crea
hola.shcon el contenidoecho "Hola desde un script". Intenta ejecutarlo con./hola.sh. ¿Qué pasa? Dale el permiso necesario y vuelve a probar. - AC 0151. Carpeta compartida. Crea
/srv/clase, haz que su grupo seaclasey ponle permisos para que el propietario y el grupo puedan hacerlo todo y el resto nada. -
AC 0152. Comprueba que funciona:
- Como
alumno1, crea un fichero dentro de/srv/clase. Debe funcionar. - Como tu usuario (sin
sudo), intenta entrar en/srv/clase. No debe dejarte. ¿Por qué?
- Como
-
AC 0153. Ahora, como
alumno2, borra el fichero dealumno1. ¿Te ha dejado? ¿Te parece correcto? - AC 0154. Añade a la carpeta el sticky bit (
chmod +t) y repite el ejercicio 43. ¿Qué ha cambiado? ¿Qué carpeta del sistema funciona así y por qué? - AC 0155. Borra el usuario
alumno2junto con su carpeta personal. - AC 0156. Guarda el listado de
/etcenlista.txt. ¿Cuántas líneas tiene? - AC 0157. Ejecuta
ls /etc /noexiste. Consigue que los errores vayan aerrores.txty en pantalla veas solo lo correcto. - AC 0158. Añade la fecha actual al final de
registro.txt. Hazlo tres veces y comprueba que hay tres líneas. - AC 0159. Muestra solo la columna de nombres de
empleados.csv, sin la cabecera y ordenados alfabéticamente. - AC 0160. ¿Cuántos empleados hay en cada ciudad?
- AC 0161. ¿Quién es el empleado de más edad? ¿Y el más joven?
- AC 0162. ¿Cuántos accesos fallidos hay en
acceso.log? - AC 0163. Lista las IP desde las que ha habido fallos, con el número de fallos de cada una, de más a menos.
- AC 0164. ¿Qué usuarios han entrado correctamente al menos una vez? Cada nombre una sola vez.
- AC 0165. ¿Con qué nombres de usuario se ha intentado entrar sin éxito, y cuántas veces cada uno?
-
AC 0166. Prueba esta orden dos veces seguidas y explica por qué el resultado cambia:
mkdir prueba && echo "Carpeta creada" || echo "No se pudo crear" -
AC 0167. Mirando el resultado del ejercicio 53: ¿qué crees que está pasando con la IP
10.0.0.66? ¿Qué harías si fueras el administrador? - AC 0168. ¿Cuántos procesos hay ahora mismo en tu VM?
- AC 0169. Lanza
sleep 300en segundo plano. Localiza su número de proceso (PID) de dos formas distintas y termínalo. - AC 0170. Abre
htop. Ordena los procesos por uso de memoria y apunta cuál consume más. Sal sin cerrar la terminal. - AC 0171. Actualiza la lista de programas disponibles. Busca un programa llamado
cowsay, instálalo y pruébalo:cowsay "Hola 2º BACH". - AC 0172. Averigua qué ficheros ha instalado el paquete
tree. Después desinstalacowsay. - AC 0173. Comprime la carpeta
~/practicaenpractica.tar.gz. Lista su contenido sin descomprimir y después extráelo dentro de/tmp. - AC 0174. Compara el tamaño de la carpeta original y del fichero comprimido.
De aquí en adelante opcionales, pero tienes que saber que...
Un script es un fichero con órdenes que se ejecutan una detrás de otra. Siempre empieza con #!/bin/bash y necesita permiso de ejecución.
- AC 0175.
info.sh: un script que muestre tu usuario, el nombre del equipo, la fecha, cuánto tiempo lleva encendido y el espacio libre del disco. Hazlo ejecutable y pruébalo. - AC 0176.
copia.sh: un script que cree en~/copiasun comprimido de~/practicacuyo nombre incluya la fecha de hoy (por ejemplopractica-2026-10-05.tar.gz). - AC 0177.
saluda.sh: un script que reciba un nombre al ejecutarlo (./saluda.sh Ana) y salude. Si no se le pasa ningún nombre, debe explicar cómo se usa. -
AC 0178.
seguridad.sh: un script que, a partir deacceso.log, muestre este informe:Accesos correctos: 6 Accesos fallidos: 9 IP con más fallos: 10.0.0.66 (6 intentos) -
AC 0179. Programa
copia.shpara que se ejecute todos los días a las 22:00 concrontab -e.