Capítulo 6: Operación de sistemas de archivos

Publicado por P. Ruiz en

Conceptos relacionados con los directorios

A día de hoy, prácticamente todos los sistemas de archivos que podemos encontrar organizan los archivos de forma jerárquica, permitiendo la creación de un árbol de directorios que facilitan la organización y clasificación de su contenido.

Además, para evitar ambigüedades, los sistemas operativos no permiten que, dentro del mismo directorio, existan dos archivos con el mismo nombre.

jerarquía de archivos

Para expresar la ubicación exacta de un archivo o un directorio se utiliza su ruta (en inglés, path). Aunque la forma de expresar una ruta puede cambiar según el sistema operativo que estemos usando. En general se forman indicando la lista jerárquica de directorios que representa el camino que debemos recorrer para llegar hasta un archivo o directorio. En esa relación, el último elemento será el propio archivo o directorio referenciado.

Pero, antes de nada, debemos establecer dos conceptos:

  • Unidad actual (o unidad activa): Es la unidad de almacenamiento a la que se hará referencia de forma predeterminada (cuando no se indique una unidad de forma expresa).

    Este concepto se aplica en aquellos sistemas operativos que relacionan cada volumen (normalmente cada partición) con una letra del alfabeto. El ejemplo más emblemático es Windows.

    La unidad actual puede ir cambiando a lo largo del tiempo.

  • Directorio actual (o directorio activo): es el punto del árbol de directorios al que se hace referencia de forma predeterminada (cuando no se indica una ruta de forma expresa).

    Cuando trabajamos con sistemas operativos que representan el contenido de cada unidad de almacenamiento con árboles de directorio independientes (como es el caso de Windows), podemos tener un directorio actual en cada uno de ellos.

    El directorio actual también puede ir cambiando a lo largo del tiempo.

Otro aspecto que debemos tener en cuenta es que, cuando escribimos una ruta, deberemos utilizar un carácter que separe cada elemento del siguiente. Este carácter separador suele ser una barra invertida (\) en los sistemas Microsoft y una barra inclinada (/) en la familia de sistemas Unix, como es el caso de GNU/Linux.

Otros caracteres especiales que podemos utilizar en una ruta son los siguientes:

  • . (un punto): Hace referencia al directorio en el que nos encontramos (también llamado directorio actual)

  • .. (dos puntos): Hace referencia al directorio que se encuentra, jerárquicamente, justo encima del directorio en el que nos encontramos (también llamado directorio padre)

  • ~ (una virgulilla): En sistemas de la familia Unix, como GNU/Linux, hace referencia al directorio personal del usuario que escribe la ruta.

Además de todo lo dicho hasta ahora, también existen dos modos diferentes de escribir rutas:

  • De forma absoluta: Una ruta de este tipo hará referencia a un archivo o directorio a partir del directorio raíz.

    • En los sistemas de la familia Unix, una ruta absoluta comienza por una barra inclinada. Por ejemplo, /home/Alicia/Documentos/informe.odt

    • En los sistemas Microsoft, es necesario comenzar la ruta absoluta con la letra de unidad a la que hace referencia, seguida de dos puntos y una barra invertida. Por ejemplo, c:\Usuarios\Alicia\Documentos\informe.odt

  • De forma relativa: Una ruta de este tipo hará referencia a un archivo o directorio tomando como punto de partida el directorio actual. Por ejemplo: ../../Jacinto/Documentos/memoria.odt (como puede apreciarse, el ejemplo es válido en sistemas de la familia Unix, pero bastaría con cambiar el sentido de las barras para que fuese válido en sistemas Microsoft).

    Las rutas que identifican recursos compartidos en una red suelen hacer uso de la nomenclatura UNC (en inglés, Universal Naming Convention), que fue definida por Microsoft y que tiene la siguiente sintaxis general: \\Servidor\RecursoCompartido\ruta\archivo

Nombres de directorios y caracteres comodín

Por lo general, los nombres de los directorios suelen seguir las mismas reglas que los nombres de los archivos, salvo que no es común que utilicen extensiones.

En cualquier caso, tampoco será relevante para el sistema si, al poner nombre a un directorio, decidimos usar una extensión. Lo único que ocurrirá es que para el sistema no tendrá un significado especial, solo para nosotros.

Lo mismo ocurre con los caracteres comodín. Podremos usarlos con los nombres de los directorios, siguiendo las mismas normas que aplicábamos para los nombres de los archivos.

Atributos y permisos

En este caso, los atributos y permisos sobre directorios funcionan de un modo similar que con los archivos.

Quizás la diferencia más destacable sea el ejemplo que pusimos con los archivos. En este caso, cuando usamos GNU/Linux, el permiso de ejecución sobre un directorio significa que podremos entrar en él para examinar su contenido.