Saltar al contenido principal

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​

  1. ¿Cuál es la diferencia entre ruta absoluta y relativa?

    • Absoluta: comienza con / (desde la raíz)
    • Relativa: desde el directorio actual
  2. ¿Por qué usar mkdir -p?

    • Crea los directorios padres si es necesario
    • Evita errores si el directorio ya existe
  3. ¿Cuál es la diferencia entre rm y rmdir?

    • 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​


Lab creado el: diciembre 2024 - Probado en Ubuntu 24.04