Conceptos fundamentales de los archivos y directorios

Los archivos y directorios son la base sobre la que se organiza toda la información en un sistema operativo. Entender bien estos conceptos es imprescindible para cualquier estudiante de informática, ya que son el punto de partida para trabajar con cualquier sistema de forma eficaz y ordenada.


1. Conceptos fundamentales de los archivos

Un archivo es la unidad básica de almacenamiento en un sistema operativo. Todo lo que guardamos, abrimos o ejecutamos acaba siendo un archivo. Para poder gestionarlos correctamente, cada archivo tiene una serie de características que definen su identidad y su uso.


1.1. Nombre y extensión: la identidad de un archivo

El nombre y la extensión permiten identificar un archivo dentro de una carpeta. Normalmente, el nombre puede tener hasta 255 caracteres, aunque este límite depende del sistema de archivos utilizado.

Conceptos fundamentales de los archivos y directorios

No todos los sistemas operativos tratan los nombres de archivo de la misma forma. La diferencia más clara la encontramos entre Windows y GNU/Linux.

Diferencias principales:

  • Sensibilidad a mayúsculas
    • Windows: no distingue entre mayúsculas y minúsculas.
      apuntes.txt y APUNTES.txt son el mismo archivo.
    • GNU/Linux: sí distingue mayúsculas y minúsculas.
      apuntes.txt y APUNTES.txt son archivos distintos.
  • Caracteres permitidos
    • En Windows se pueden usar muchos caracteres, pero están prohibidos algunos símbolos reservados como:
      < > : " / \ | ? *
Conceptos fundamentales de los archivos y directorios

La extensión es la parte del nombre que aparece después del último punto y sirve para indicar el tipo de archivo.
En Windows, la extensión se usa para asociar el archivo con el programa que lo abre. En GNU/Linux, esa asociación depende principalmente de los metadatos, no del nombre.

Conceptos fundamentales de los archivos y directorios

1.2. Caracteres comodín (wildcards): búsquedas flexibles

Los caracteres comodín permiten hacer referencia a varios archivos a la vez, incluso aunque no recordemos el nombre completo.

Conceptos fundamentales de los archivos y directorios

Los más utilizados son:

  • Asterisco (*)
    Representa cualquier combinación de caracteres, incluso ninguno.
    Ejemplo:
    *imagen*.png puede referirse a imagen.png, Mi_imagen.png, imagen21.png, etc.
  • Interrogante (?)
    Representa un único carácter.
    Ejemplo:
    imagen??.png coincide con imagen21.png, pero no con imagen1.png.
Conceptos fundamentales de los archivos y directorios

Estos comodines son muy útiles en búsquedas y comandos del sistema.


1.3. Atributos y permisos: quién puede hacer qué

Los atributos y permisos controlan cómo se puede usar un archivo y quién puede acceder a él. Esta gestión se realiza mediante las listas de control de acceso (ACL).

Los permisos básicos son:

  • Lectura: permite ver el contenido del archivo.
  • Escritura: permite modificarlo.
  • Ejecución: permite que el sistema trate el archivo como un programa.

Por ejemplo, en GNU/Linux, un script correctamente escrito no se puede ejecutar si no tiene permiso de ejecución, aunque su contenido sea correcto.

Además, un archivo puede tener otros atributos como:

  • oculto
  • solo lectura
  • de sistema
  • cifrado
  • directorio
Conceptos fundamentales de los archivos y directorios

Una vez claros los archivos, el siguiente paso lógico es ver cómo se organizan.


2. Organización con directorios

Los sistemas operativos organizan los archivos en una estructura jerárquica conocida como árbol de directorios. Esta forma de organización facilita la clasificación y localización de la información.

Conceptos fundamentales de los archivos y directorios

Una norma básica para mantener el orden es clara:

No pueden existir dos archivos o directorios con el mismo nombre dentro del mismo directorio.


2.1. Nombres de directorios y uso de comodines

Las reglas para nombrar directorios son las mismas que para los archivos: mismos caracteres permitidos y mismo comportamiento respecto a mayúsculas y minúsculas.

Los comodines * y ? también se pueden usar para referirse a directorios.

Es posible añadir extensiones a los nombres de los directorios, por ejemplo Proyecto.docs, pero estas no tienen ningún significado especial para el sistema operativo. Solo sirven como ayuda organizativa para el usuario.


2.2. Atributos y permisos en directorios

Los permisos en directorios funcionan de forma similar a los de los archivos, con una diferencia importante:

  • En sistemas GNU/Linux, el permiso de ejecución en un directorio permite entrar en él y acceder a su contenido.

Sin este permiso, aunque el usuario tenga permiso de lectura, no podrá trabajar con los archivos que contiene.

Para poder localizar cualquier archivo o directorio dentro de esta estructura, es necesario conocer las rutas.


3. Navegando por el sistema: rutas de acceso

Una ruta (path) es la dirección que indica dónde se encuentra un archivo o directorio dentro del sistema de archivos. Describe el recorrido que hay que seguir desde un punto de partida hasta el recurso deseado.


3.1. Rutas absolutas y rutas relativas

Conceptos fundamentales de los archivos y directorios

Existen dos formas de indicar una ruta:

Conceptos fundamentales de los archivos y directorios

Ruta absoluta

Parte siempre del directorio raíz del sistema. Es una dirección completa y no depende de la ubicación actual.

Ejemplos:

  • GNU/Linux:
    /home/Alicia/Documentos/informe.odt
  • Windows:
    C:\Usuarios\Alicia\Documentos\informe.odt

Ruta relativa

Parte del directorio actual en el que nos encontramos. Su significado depende de nuestra posición en el sistema.

Ejemplo:
../../Jacinto/Documentos/memoria.odt

Conviene recordar que:

  • Windows usa la barra invertida \
  • GNU/Linux y sistemas Unix usan la barra /
Conceptos fundamentales de los archivos y directorios

3.2. Caracteres especiales en las rutas

Para facilitar la navegación existen algunos atajos muy utilizados:

  • . hace referencia al directorio actual
  • .. hace referencia al directorio padre
  • ~ en GNU/Linux representa el directorio personal del usuario
Conceptos fundamentales de los archivos y directorios

Estos símbolos permiten moverse rápidamente por la estructura de directorios.

Ejercicios prácticos: archivos, directorios y rutas

Estos ejercicios sirven para afianzar los conceptos vistos en clase. Léelos con calma y razona cada respuesta. No es memorizar, es entender cómo funciona el sistema.

Ejercicio 1. Archivos y nombres válidos

Indica cuáles de los siguientes nombres de archivo son válidos en Windows, en GNU/Linux o en ambos sistemas.

  1. apuntes.txt
  2. APUNTES.txt
  3. práctica final.odt
  4. datos?.csv
  5. informe:final.docx
  6. foto_vacaciones_2024.jpg

Justifica brevemente tu respuesta en cada caso.


Ejercicio 2. Mayúsculas y minúsculas

En un sistema GNU/Linux existe un directorio llamado Documentos.
Responde razonadamente:

a) ¿Es lo mismo acceder a Documentos que a documentos?
b) ¿Y en Windows?
c) ¿Qué problemas puede provocar no tener en cuenta esta diferencia al copiar archivos entre sistemas?


Ejercicio 3. Uso de caracteres comodín

En una carpeta existen los siguientes archivos:

  • foto1.jpg
  • foto2.jpg
  • foto10.jpg
  • fotografia.png
  • imagen1.jpg

Indica qué archivos seleccionaría cada patrón:

a) foto*.jpg
b) foto?.jpg
c) *foto*
d) imagen?.jpg


Ejercicio 4. Permisos de archivos

Indica qué acciones se pueden realizar en cada caso:

  1. Un archivo tiene permisos lectura y escritura, pero no ejecución.
  2. Un script en GNU/Linux tiene permisos lectura y escritura, pero no ejecución.
  3. Un archivo tiene solo permiso de lectura.

Explica qué ocurre si se intenta ejecutar o modificar el archivo en cada situación.


Ejercicio 5. Directorios y permisos

En un sistema GNU/Linux, un usuario tiene los siguientes permisos sobre un directorio:

  • Lectura: sí
  • Escritura: no
  • Ejecución: no

Responde:

a) ¿Puede entrar en el directorio?
b) ¿Puede ver qué archivos contiene?
c) ¿Puede abrir un archivo que esté dentro?


Ejercicio 6. Rutas absolutas y relativas

Observa la siguiente estructura de directorios en GNU/Linux:

/home/alicia/
 ├── Documentos/
 │    ├── UT5/
 │    │    └── ejercicios.txt
 └── Descargas/

a) Escribe la ruta absoluta hasta ejercicios.txt.
b) Escribe la ruta relativa desde Documentos hasta Descargas.
c) Escribe la ruta relativa desde UT5 hasta Descargas.


Ejercicio 7. Identifica el tipo de ruta

Indica si las siguientes rutas son absolutas o relativas y por qué:

  1. /etc/network/interfaces
  2. ../imagenes/logo.png
  3. C:\Windows\System32
  4. ./datos/alumnos.csv

Ejercicio 8. Atajos en rutas

Completa las siguientes frases:

a) El símbolo . hace referencia a __________________________
b) El símbolo .. hace referencia a __________________________
c) En GNU/Linux, el símbolo ~ representa ____________________


Ejercicio 9. Caso práctico real

Un alumno guarda un archivo llamado trabajo.docx dentro de la carpeta:

C:\Usuarios\Alumno\Escritorio\FP\Sistemas\

a) Escribe la ruta completa del archivo.
b) Si el alumno se encuentra en FP, ¿cuál sería la ruta relativa hasta el archivo?
c) ¿Podría existir otro archivo llamado trabajo.docx dentro de Escritorio? Razona la respuesta.


Ejercicio 10. Para pensar (sin ordenador)

Explica con tus palabras:

  • Por qué el sistema de archivos es imprescindible en un sistema operativo.
  • Qué problemas habría si no existieran las rutas.

No más de 5 líneas por apartado. Si necesitas más, es que no lo tienes claro.