El Sistema de Archivos en RHEL

El Sistema de Archivos Linux: Un Árbol Invertido

¡Hola a todos! En mi última entrada les conté sobre mi inicio en Linux. Hoy quiero compartirles algo que me pareció fascinante: cómo Linux organiza todos sus archivos. Al principio puede parecer complejo, pero una vez que lo entiendes, ¡tiene mucho sentido!

El Sistema de Archivos: La Ciudad Linux

Imaginen Linux como una gran ciudad bien organizada. El directorio raíz (/) es como el centro de la ciudad, y desde ahí se ramifican todas las “calles” y “barrios”. Me gusta pensar en cada directorio principal como un distrito especializado:

  • /bin: El distrito industrial, donde están las herramientas básicas
  • /boot: La central eléctrica de la ciudad - sin ella, nada arranca
  • /etc: El ayuntamiento, donde se guardan todas las configuraciones
  • /home: Los barrios residenciales, cada usuario tiene su casa aquí
  • /root: La mansión del alcalde (el superusuario)
  • /tmp: Un área de construcción temporal
  • /usr: El centro comercial, lleno de programas y recursos
  • /var: El distrito de almacenes, donde las cosas cambian constantemente

Hay dos formas de indicar ubicaciones en nuestra ciudad Linux:

Rutas Absolutas

Son como las coordenadas GPS exactas. Siempre empiezan desde el centro de la ciudad (/):

/home/nameuser/Documents/file.txt

Es como decir: “Desde el centro, ve al barrio residencial, busca la casa del nameuser, entra en Documents y ahí está file.txt”

Rutas Relativas

Son como dar indicaciones desde donde estás:

./Documents/file.txt   # "Desde aquí, entra a Documents"
../photo/vacation.jpg # "Regresa un nivel y busca en fotos"

Los Directorios Especiales: Atajos Útiles

  • . : “Aquí mismo” (directorio actual)
  • .. : “Un nivel arriba” (directorio padre)
  • ~ : “Mi casa” (tu directorio home)

Trabajando con Archivos: Comandos Básicos

Explorando el Terreno

pwd    # ¿Dónde estoy?
ls     # ¿Qué hay aquí?
ls -l  # Muéstrame los detalles
ls -a  # Muéstrame TODO, incluso lo oculto

Creando y Organizando

mkdir Projects           # Crear un nuevo directorio
touch document.txt     # Crear un archivo vacío
mkdir -p Photos/2024    # Crear directorios anidados

Copiando y Moviendo

cp original.txt copy.txt           # Hacer una copia
mv document.txt ~/Documents/       # Mover a Documents
mv file.txt new_name.txt     # Renombrar archivo

Eliminando (¡Con Cuidado!)

rm file.txt          # Eliminar un archivo
rmdir directory_empty  # Eliminar directorio vacío
rm -r directory_content  # Eliminar directorio y contenido

Tips que he Aprendido

  1. Los nombres de archivos con espacios necesitan comillas o escape:

    touch "my document.txt"
    # o
    touch my\ document.txt
    
  2. Linux distingue entre mayúsculas y minúsculas:

    # Estos son tres archivos diferentes:
    touch document.txt
    touch Document.txt
    touch DOCUMENT.txt
    
  3. Los archivos ocultos comienzan con punto:

    ls -a   # Para verlos
    .bashrc
    .config
    

Enlaces: Los Portales de Linux

Ahora viene algo realmente interesante: los enlaces. Piensen en ellos como diferentes formas de acceder al mismo contenido.

ln file.txt hard_link

Es como tener dos llaves idénticas para la misma puerta:

  • Apuntan directamente al mismo contenido en el disco
  • Si borras el archivo original, el enlace duro sigue funcionando
  • Solo funcionan en el mismo sistema de archivos
  • No pueden enlazar directorios
ln -s file.txt sym_link

Son como señales de tráfico que apuntan a un destino:

  • Son como “accesos directos” en Windows
  • Si el archivo original se borra, el enlace se rompe
  • Pueden apuntar a archivos en diferentes sistemas de archivos
  • Pueden enlazar directorios

Diferencias Clave

  1. Datos en disco:

    • Enlaces duros: mismo contenido, diferentes nombres
    • Enlaces simbólicos: pequeño archivo que contiene la ruta al original
  2. Borrado del original:

    • Enlaces duros: siguen funcionando
    • Enlaces simbólicos: se rompen (“enlace colgante”)
  3. Uso común:

    • Enlaces duros: backups, versiones de archivos
    • Enlaces simbólicos: accesos rápidos, organización flexible

Ejercicio Práctico: Enlaces

Probemos a crear algunos enlaces:

# Crear un archivo original
echo "Content" > original.txt

# Crear un enlace duro
ln original.txt hard_link.txt

# Crear un enlace simbólico
ln -s original.txt sym_link.txt

# Ver la diferencia
ls -l
# Observa que el enlace simbólico muestra una flecha -> al original
# El enlace duro muestra el mismo número de inodo que el original

Tips Finales

  1. Para identificar enlaces simbólicos:

    ls -l | grep ^l    # Muestra solo enlaces simbólicos
    
  2. Para ver a dónde apunta un enlace:

    readlink sym_link
    
  3. Para crear enlaces simbólicos a directorios:

    ln -s /path/to/directory ~/quick_access
    

PD: Recuerden que los enlaces simbólicos rotos pueden causar problemas, ¡así que mantengan un registro de dónde crean sus enlaces!