Lab 3.1 - Navegación y Creación en el Sistema de Archivos
Objetivos
Al final de este laboratorio, usted será capaz de:
- Navegar en el sistema de archivos Linux
- Crear archivos y directorios
- Comprender la estructura FHS (Filesystem Hierarchy Standard)
- Utilizar los comandos básicos (cd, ls, mkdir, touch, etc.)
- Manipular archivos y directorios
Prerrequisitos
- Ubuntu 24.04 instalado y funcional
- Terminal abierto
- Acceso de usuario normal (no se necesita root para la mayoría de los ejercicios)
Ejercicio 1: Navegación Básica
Paso 1: Directorios Importantes
# Ver el directorio actual
pwd
# Ir al directorio home
cd ~
# o
cd $HOME
# Ver el contenido
ls
# Ver con detalles
ls -l
# Ver también los archivos ocultos
ls -la
Paso 2: Estructura FHS
# Ir a la raíz
cd /
# Ver la estructura
ls -la /
# Explorar los directorios importantes
ls /bin # Binarios esenciales
ls /usr/bin # Binarios de usuario
ls /etc # Archivos de configuración
ls /var # Datos variables
ls /home # Directorios de usuarios
ls /tmp # Archivos temporales
Pregunta: ¿Cuáles son los directorios principales que observa?
Paso 3: Navegación Relativa y Absoluta
# Ruta absoluta (desde la raíz)
cd /home/$USER
# Ruta relativa (desde el directorio actual)
cd Documents # Si Documents existe en el directorio actual
# Volver al directorio anterior
cd -
# Subir un nivel
cd ..
# Subir dos niveles
cd ../..
Ejercicio 2: Creación de Directorios
Paso 1: Crear Directorios
# Crear un directorio
mkdir mi-lab
# Crear varios directorios
mkdir dir1 dir2 dir3
# Crear una estructura de árbol
mkdir -p proyecto/src proyecto/docs proyecto/tests
# Verificar
tree proyecto
# Si tree no está instalado:
# sudo apt install tree
Paso 2: Estructura Organizada
# Crear una estructura para un proyecto
mkdir -p ~/proyectos/linux-lab/{docs,scripts,data,backup}
# Ver la estructura
tree ~/proyectos/linux-lab
# O con ls
ls -R ~/proyectos/linux-lab
Ejercicio 3: Creación de Archivos
Paso 1: Métodos de Creación
# Método 1: touch (archivo vacío)
touch archivo1.txt
# Método 2: echo
echo "Contenido del archivo" > archivo2.txt
# Método 3: cat con heredoc
cat > archivo3.txt << EOF
Línea 1
Línea 2
Línea 3
EOF
# Método 4: Editor
nano archivo4.txt
# Escribir texto, Ctrl+O para guardar, Ctrl+X para salir
Paso 2: Verificar los Archivos
# Ver los archivos creados
ls -lh
# Ver el contenido
cat archivo2.txt
# Contar las líneas
wc -l archivo3.txt
# Ver las primeras líneas
head -2 archivo3.txt
# Ver las últimas líneas
tail -2 archivo3.txt
Ejercicio 4: Manipulación de Archivos
Paso 1: Copiar y Mover
# Crear un directorio de prueba
mkdir test-files
cd test-files
# Crear un archivo
echo "Test" > original.txt
# Copiar
cp original.txt copia.txt
# Copiar a otro directorio
cp original.txt ~/Documents/
# Copiar un directorio
cp -r ~/mi-lab ~/mi-lab-backup
# Mover (renombrar)
mv original.txt renombrado.txt
# Mover a otro directorio
mv renombrado.txt ~/Documents/
Paso 2: Eliminar
# Eliminar un archivo
rm archivo1.txt
# Eliminar varios archivos
rm archivo2.txt archivo3.txt
# Eliminar un directorio vacío
rmdir dir-vacio
# Eliminar un directorio con contenido
rm -r mi-lab
# Eliminar con confirmación
rm -ri proyecto/
Atención: ¡rm -r elimina de forma definitiva! No hay papelera de reciclaje.
Ejercicio 5: Búsqueda de Archivos
Paso 1: find
# Encontrar todos los archivos .txt en el directorio actual
find . -name "*.txt"
# Buscar en todo el sistema (puede tardar)
find / -name "archivo.txt" 2>/dev/null
# Encontrar los archivos modificados recientemente
find ~ -mtime -1 # Últimas 24h
# Encontrar archivos mayores a 1MB
find ~ -size +1M
Paso 2: locate (si está instalado)
# Instalar locate
sudo apt update
sudo apt install mlocate
# Actualizar la base de datos
sudo updatedb
# Buscar
locate archivo.txt
Ejercicio 6: Práctica Completa
Paso 1: Crear una Estructura de Proyecto
# Crear la estructura
mkdir -p ~/proyecto-linux/{src/{scripts,config},docs,logs,backup}
# Crear archivos
touch ~/proyecto-linux/src/scripts/script1.sh
touch ~/proyecto-linux/src/config/config.conf
echo "Log inicial" > ~/proyecto-linux/logs/app.log
# Ver la estructura
tree ~/proyecto-linux
Paso 2: Organizar los Archivos
cd ~/proyecto-linux
# Crear archivos de prueba
touch test1.txt test2.txt test3.txt
# Crear un directorio para las pruebas
mkdir tests
# Mover los archivos de prueba
mv test*.txt tests/
# Verificar
ls -R
Ejercicio 7: Comandos Útiles
Paso 1: Información sobre Archivos
# Tipo de archivo
file archivo.txt
file /bin/ls
# Tamaño del archivo
du -h archivo.txt
# Tamaño de un directorio
du -sh ~/proyecto-linux
# Espacio en disco
df -h
Paso 2: Enlaces Simbólicos
# Crear un enlace simbólico
ln -s ~/proyecto-linux/src/scripts/script1.sh ~/script1-link
# Ver el enlace
ls -l ~/script1-link
# Seguir el enlace
readlink -f ~/script1-link
Verificación
Lista de Verificación
Verifique que puede:
- Navegar en el sistema de archivos (cd, pwd)
- Ver el contenido de los directorios (ls con opciones)
- Crear directorios (mkdir, mkdir -p)
- Crear archivos (touch, echo, cat, nano)
- Copiar y mover archivos (cp, mv)
- Eliminar archivos y directorios (rm, rmdir)
- Buscar archivos (find, locate)
- Comprender la estructura FHS
Preguntas de Reflexión
-
¿Cuál es la diferencia entre ruta absoluta y relativa?
- Absoluta: comienza con
/(desde la raíz) - Relativa: desde el directorio actual
- Absoluta: comienza con
-
¿Por qué usar
mkdir -p?- Crea los directorios padres si es necesario
- Evita errores si el directorio ya existe
-
¿Cuál es la diferencia entre
rmyrmdir?rm: elimina archivos y directorios (con -r)rmdir: elimina solo directorios vacíos
Próximos Pasos
- Lab 3.2: Gestión de Permisos
- Lab 3.3: Búsqueda y Enlaces
- Capítulo 3.2: Estructura de Directorios
Recursos Ubuntu 24.04
- Documentación de Ubuntu
- Filesystem Hierarchy Standard
- Comandos:
man comandopara ayuda
Lab creado el: diciembre 2024 - Probado en Ubuntu 24.04