Objetivos de la practica
- Conocer la estructura de directorios de Linux y gestionar archivos desde la terminal.
- Dominar los comandos basicos de la terminal de Linux.
- Instalar y gestionar software con el gestor de paquetes apt.
- Gestionar usuarios, grupos y permisos en Linux.
- Monitorizar procesos y recursos del sistema.
- Crear un script basico en Bash.
Requisitos previos
Antes de comenzar, comprueba que cumples todos los requisitos:
| Requisito | OK |
|---|---|
| Practica 07 (Instalacion de Ubuntu) completada | |
| Maquina virtual con Ubuntu funcionando correctamente | |
| Guest Additions de VirtualBox instaladas |
Parte 1 - Estructura de directorios de Linux (30 min)
La estructura de directorios de Linux es muy diferente a la de Windows. No existe la unidad C:\, sino que todo parte de un directorio raiz /. Abre la terminal con Ctrl+Alt+T y navega por el sistema.
Procedimiento
- Ejecuta
ls /para ver los directorios principales del sistema. - Navega a cada directorio de la tabla y observa su contenido con
ls. - Documenta la funcion de cada directorio.
Directorios principales del sistema
| Directorio | Que contiene | Equivalente en Windows (si existe) |
|---|---|---|
| / (raiz) | ||
| /home | ||
| /etc | ||
| /var | ||
| /usr | ||
| /tmp | ||
| /bin | ||
| /boot | ||
| /dev | ||
| /media |
Captura 1: Terminal mostrando el resultado de ls / con los directorios principales
Pega una captura (Ctrl+V) o arrastra una imagen aqui
Captura de la terminal mostrando ls / con los directorios principales
Parte 2 - Gestion de archivos desde la terminal (40 min)
En Linux, la terminal es la herramienta fundamental para gestionar archivos. Aunque existe un explorador grafico (Nautilus), un tecnico debe dominar los comandos de terminal.
Comandos basicos de navegacion y archivos
| Comando | Que hace | Resultado (copia la salida) |
|---|---|---|
pwd |
Muestra el directorio actual | |
ls -la ~/ |
Lista archivos del home (incluidos ocultos) | |
cd /etc && pwd |
Cambia a /etc y muestra ruta | |
cd ~ && pwd |
Vuelve al home y muestra ruta | |
cat /etc/hostname |
Muestra el nombre del equipo | |
cat /etc/os-release |
Muestra info de la distribucion | |
df -h |
Muestra espacio en disco | |
free -h |
Muestra uso de memoria RAM |
Creacion de estructura de carpetas y archivos
- Crea la siguiente estructura en tu directorio home:
mkdir -p ~/Curso_IFCT0309/{Practicas,Apuntes,Capturas} - Verifica la estructura:
tree ~/Curso_IFCT0309(si tree no esta instalado:sudo apt install tree) - Crea un archivo de texto:
echo "Esto es una prueba desde la terminal de Ubuntu" > ~/Curso_IFCT0309/Practicas/prueba.txt - Comprueba el contenido:
cat ~/Curso_IFCT0309/Practicas/prueba.txt - Copia el archivo:
cp ~/Curso_IFCT0309/Practicas/prueba.txt ~/Curso_IFCT0309/Apuntes/ - Mueve el archivo original:
mv ~/Curso_IFCT0309/Practicas/prueba.txt ~/Curso_IFCT0309/Capturas/ - Verifica el resultado:
tree ~/Curso_IFCT0309
Equivalencia de comandos Linux - Windows
| Comando | Accion que realiza | Equivalente en Windows |
|---|---|---|
mkdir |
||
cp |
||
mv |
||
rm |
||
cat |
||
ls |
||
cd |
||
tree |
Captura 2: Terminal mostrando el resultado de tree ~/Curso_IFCT0309 con la estructura creada
Pega una captura (Ctrl+V) o arrastra una imagen aqui
Captura de la terminal mostrando tree ~/Curso_IFCT0309
Parte 3 - Gestion de paquetes con apt (30 min)
En Linux, el software se instala mediante un gestor de paquetes. Ubuntu usa apt (Advanced Package Tool), que descarga e instala programas desde repositorios oficiales. Es el equivalente a descargar un .exe de Internet en Windows, pero mas seguro y automatizado.
Procedimiento
- Actualiza la lista de paquetes disponibles:
sudo apt update - Observa cuantos paquetes pueden actualizarse.
Comandos de gestion de paquetes
| Comando | Que hace | Resultado |
|---|---|---|
sudo apt update |
Actualiza la lista de paquetes disponibles | |
apt list --upgradable |
Lista los paquetes que tienen actualizacion | |
sudo apt install htop -y |
Instala el monitor de procesos htop | |
sudo apt install neofetch -y |
Instala una herramienta de info del sistema | |
neofetch |
Muestra informacion del sistema de forma visual | |
dpkg -l | wc -l |
Cuenta los paquetes instalados en el sistema | |
apt search image editor |
Busca paquetes relacionados con edicion de imagen | |
sudo apt remove neofetch -y |
Desinstala neofetch |
sudo apt upgrade o sudo apt install sin saber que estas instalando. El comando sudo te da permisos de administrador (root), y cualquier error puede afectar al sistema.
Captura 3: Terminal mostrando la salida de neofetch con la informacion del sistema
Pega una captura (Ctrl+V) o arrastra una imagen aqui
Captura de la terminal mostrando la salida de neofetch
Parte 4 - Gestion de usuarios y permisos (30 min)
Usuarios y grupos
- Consulta informacion sobre tu usuario actual ejecutando los comandos de la tabla.
| Comando | Que hace | Resultado |
|---|---|---|
whoami |
Muestra tu usuario actual | |
id |
Muestra tu UID, GID y grupos | |
groups |
Muestra los grupos a los que perteneces | |
cat /etc/passwd | grep -v nologin | grep -v false |
Muestra usuarios con acceso al sistema | |
sudo adduser alumno_prueba |
Crea un nuevo usuario | |
sudo usermod -aG sudo alumno_prueba |
Anade el usuario al grupo sudo | |
su - alumno_prueba |
Cambia al nuevo usuario | |
exit |
Vuelve a tu usuario original | - |
Permisos de archivos
En Linux, cada archivo tiene permisos de lectura (r), escritura (w) y ejecucion (x) para tres niveles: propietario, grupo y otros.
- Crea un archivo de prueba:
echo "archivo de prueba de permisos" > ~/permiso_test.txt - Observa sus permisos actuales:
ls -l ~/permiso_test.txt - Documenta los permisos en la tabla siguiente.
| Dato | Valor |
|---|---|
| Permisos mostrados (ej: -rw-r--r--) | |
| Propietario del archivo | |
| Grupo del archivo |
Modificacion de permisos con chmod
| Comando | Que hace | Permisos resultantes (ejecuta ls -l) |
|---|---|---|
chmod 755 ~/permiso_test.txt |
Da permisos rwx al propietario, rx al grupo y otros | |
chmod 644 ~/permiso_test.txt |
Da permisos rw al propietario, r al grupo y otros | |
chmod u+x ~/permiso_test.txt |
Anade permiso de ejecucion al propietario | |
sudo chown alumno_prueba ~/permiso_test.txt |
Cambia el propietario del archivo (usar sudo) |
Captura 4: Terminal mostrando permisos de archivos con ls -l
Pega una captura (Ctrl+V) o arrastra una imagen aqui
Captura de la terminal mostrando permisos de archivos con ls -l
Parte 5 - Monitorizacion de procesos y recursos (30 min)
Comandos de monitorizacion
| Comando | Que hace | Resultado o dato relevante |
|---|---|---|
top (pulsa q para salir) |
Muestra procesos en tiempo real | |
htop (pulsa q para salir) |
Monitor de procesos mejorado (instalado antes) | |
ps aux | head -15 |
Lista los primeros 15 procesos activos | |
ps aux | wc -l |
Cuenta el numero total de procesos | |
uptime |
Muestra tiempo encendido y carga del sistema | |
lscpu |
Muestra informacion del procesador |
Gestion de procesos
- Abre el editor de texto grafico (gedit o la app de texto de Ubuntu):
gedit &(el & lo lanza en segundo plano) - Busca el proceso de gedit:
ps aux | grep gedit - Anota el PID (numero de proceso).
- Cierra el proceso desde la terminal:
kill [PID](sustituye [PID] por el numero real)
| Accion | Comando usado | Resultado |
|---|---|---|
| Abrir gedit en segundo plano | ||
| Encontrar el PID de gedit | ||
| Cerrar gedit con kill | ||
| Comprobar que ya no esta activo |
Monitor del sistema (GUI)
Ubuntu tambien incluye un monitor grafico. Buscalo como Monitor del sistema en el menu de aplicaciones.
| Pestana | Informacion que muestra | Dato relevante |
|---|---|---|
| Procesos | ||
| Recursos | ||
| Sistema de archivos |
Captura 5: htop o Monitor del sistema mostrando los procesos y recursos
Pega una captura (Ctrl+V) o arrastra una imagen aqui
Captura de htop o Monitor del sistema mostrando procesos y recursos
Parte 6 - Mi primer script en Bash (30 min)
Un script es un archivo de texto con una secuencia de comandos que se ejecutan automaticamente. En Linux, los scripts de Bash (.sh) son una herramienta fundamental para automatizar tareas.
Procedimiento
- Crea un archivo de script:
nano ~/mi_primer_script.sh - Escribe el siguiente contenido en nano (copia exactamente):
# Mi primer script - Practica Ubuntu
echo "================================"
echo " INFORME DEL SISTEMA"
echo "================================"
echo ""
echo "Fecha y hora: $(date)"
echo "Usuario: $(whoami)"
echo "Hostname: $(hostname)"
echo "Sistema operativo: $(lsb_release -d | cut -f2)"
echo "Kernel: $(uname -r)"
echo ""
echo "--- USO DE DISCO ---"
df -h / | tail -1
echo ""
echo "--- MEMORIA RAM ---"
free -h | grep Mem
echo ""
echo "--- PROCESOS ACTIVOS ---"
echo "Total de procesos: $(ps aux | wc -l)"
echo ""
echo "================================"
echo " Informe generado correctamente"
echo "================================"
- Guarda con Ctrl+O (Enter para confirmar) y sal con Ctrl+X.
- Dale permisos de ejecucion:
chmod +x ~/mi_primer_script.sh - Ejecuta el script:
./mi_primer_script.sh(alternativa:bash ~/mi_primer_script.sh)
Resultado del script
| Dato | Tu respuesta |
|---|---|
| Resultado del script (pega la salida completa) | |
| Se ejecuto correctamente? | |
| Que comando usaste para darle permisos de ejecucion? |
Explica con tus palabras que hace cada linea del script. Que significa la primera linea #!/bin/bash?
Captura 6: Terminal mostrando la ejecucion del script con su salida
Pega una captura (Ctrl+V) o arrastra una imagen aqui
Captura de la terminal mostrando la ejecucion del script Bash
Parte 7 - Preguntas de reflexion
Responde a cada pregunta con un minimo de 3 lineas. Las respuestas deben reflejar tu experiencia personal durante la practica.
1. Compara la estructura de directorios de Linux (/, /home, /etc, /var...) con la de Windows (C:\, C:\Users, C:\Windows...). Cual te parece mas logica y organizada? Justifica tu respuesta.
2. Que ventajas tiene instalar software con apt install frente a descargar un instalador .exe de Internet como se hace en Windows?
3. Explica con tus palabras el sistema de permisos de Linux (rwx). Por que crees que es mas seguro que el sistema de permisos de Windows?
4. Para que sirve un script de Bash? Piensa en un ejemplo practico de una tarea repetitiva que podrias automatizar con un script en un entorno de trabajo.
Entrega de la practica
Sube tu practica completada al canal #entrega-practicas del Discord del curso en formato PDF.
Capturas requeridas
| # | Descripcion | OK |
|---|---|---|
| 1 | Estructura de directorios (ls /) | |
| 2 | Estructura de carpetas creada (tree) | |
| 3 | Neofetch / informacion del sistema | |
| 4 | Permisos de archivos (ls -l) | |
| 5 | htop o Monitor del sistema | |
| 6 | Ejecucion del script Bash |
Formato del mensaje en Discord
Practica: Explorando Ubuntu en Maquina Virtual
[Adjuntar documento PDF y capturas de pantalla]
Criterios de evaluacion
| Criterio | Puntuacion | Desglose |
|---|---|---|
| Estructura de directorios | 1.0 punto | Directorios documentados con equivalentes en Windows |
| Gestion de archivos desde terminal | 2.0 puntos | Comandos ejecutados + estructura creada + equivalentes documentados |
| Gestion de paquetes con apt | 1.5 puntos | Todos los comandos apt ejecutados con resultados |
| Usuarios y permisos | 1.5 puntos | Usuario creado + permisos documentados + comandos chmod |
| Monitorizacion de procesos | 1.0 punto | Comandos de monitorizacion + gestion de procesos con kill |
| Script en Bash | 1.0 punto | Script ejecutado correctamente + explicacion de cada linea |
| Preguntas de reflexion | 1.0 punto | 4 preguntas respondidas con argumentacion (min 3 lineas) |
| Capturas completas | 1.0 punto | Las 6 capturas incluidas y relevantes |
| Total | 10 puntos |
Penalizaciones
| Motivo | Penalizacion |
|---|---|
| Entrega fuera de plazo (sin justificacion) | -2 puntos |
| Capturas insuficientes (menos de 3) | -1 punto |
| Respuestas copiadas de Internet o de otro companero | -3 puntos |
| Respuestas de una sola linea en preguntas que piden minimo 3 lineas | -0.5 puntos por pregunta |
Lista de verificacion de entrega (firma del alumno)
Antes de subir tu practica, confirma que has incluido todo:
| Dato | Tu respuesta |
|---|---|
| Nombre del alumno | |
| Firma | |
| Fecha de entrega |