Estructura del árbol de directorios.
Comenzaremos viendo como define la wikipedia de directorio:
En informática, un directorio es un contenedor virtual en el que se almacenan una agrupación de archivos informáticos y otros subdirectorios, atendiendo a su contenido, a su propósito o a cualquier criterio que decida el usuario. Técnicamente, el directorio almacena información acerca de los archivos que contiene: como los atributos de los archivos o dónde se encuentran físicamente en el dispositivo de almacenamiento.
El término carpeta se utiliza como sinónimo de directorio.
Los directorios crean una estructura de árbol que difiere ligeramente en función del tipo de sistema operativo con el que estemos trabajando. A continución veremos sus diferencias en SSOO windows y SSOO Linux.
Para poder movernos a través de estas estructuras de directorios haremos uso de rutas relativas o rutas absolutas.
Árbol de directorios en Windows
De nuevo recurrimos a la wikipedia:
En DOS y sus sucesores Windows y OS/2, la sintaxis de una ruta (o path en inglés), indica una jerarquía de directorios, donde el primer elemento puede ser bien la letra indicativa de cualquier Unidad Lógica (disco) en el sistema, o la barra invertida o backslash (), designando al "directorio raíz" de la unidad lógica actual. Si la ruta comienza directamente en el nombre de un directorio es una ruta relativa desde el directorio de trabajo actual Por ejemplo, en la ruta "C:\AB\AGENDA", "C:" es la unidad lógica (el disco), "AB" un directorio y "AGENDA" un subdirectorio o un archivo. "AB\AGENDA" podría designar el mismo elemento si el directorio actual es "C:\".
Windows no es case sensitive, es decir, cuando hacemos referencia al directorio Hola
es igual que cuando hacemos referencia al directorio hola
.
(Imagen con varias unidades)
Árbol de directorios en Linux
Otra vez mas la wikipedia nos ayuda en esta cuestión:
En los sistemas operativos de tipo UNIX, el directorio se organiza a partir del directorio raíz "/", el cual contiene archivos y otros directorios. Esos directorios pueden contener archivos y directorios y así sucesivamente. Esto puede organizarse por el sistema en una estructura llamada árbol,(...)
Linux es case sensitive, es decir, si queremos hacer referencia a un directorio llamado Hola
debemos escribir Hola
, si escribimos hola
estamos haciendo referencia a un directorio distinto.
Trayectorias absolutas
En la wikipedia:
Las rutas absolutas señalan la ubicación de un archivo o directorio desde el directorio raíz del sistema de archivos.
Ejemplo windows:
c:\fotos\verano
En el ejemplo anterior hacemos referencia absoluta a un directorio llamado verano que está dentro de un directorio llamado fotos que está dentro de la unidad c.
d:\trabajo\empresa\factura1.pdf
En el ejemplo anterior hacemos referencia absoluta a un fichero llamado factura1.pdf que está dentro de un directorio llamado empresa que está dentro de un directorio llamado trabajo que está dentro de la unidad d.
Ejemplos Linux:
/home/alumno/Desktop
En el ejemplo anterior hacemos referencia al directorio Desktop que está dentro del directorio alumno que está dentro del directorio home que está dentro de la raíz (/).
/var/log/tomcat7/catalina.out
En el ejemplo anterior hacemos referencia al fichero catalina.out que está dentro del directorio tomcat7 que a su vez está dentro del directorio log que a su vez está dentro del directorio var que a su vez "cuelga" de root (/).
Trayectorias relativas
Según la wikipedia:
Las rutas relativas señalan la ubicación de un archivo o directorio a partir de la posición actual del sistema operativo en el sistema de archivos.
En las rutas relativas el uso de ..
hace referencia al nivel anterior del árbol mientras que el uso de .
hace referencia al nivel actual
Ejemplos Windows:
xxx
Ejemplos Linux:
Si volvemos a utilizar la imagen anterior del árbol de directorios en Linux:
Si nos encontramos dentro de la carpeta jono y queremos ir a usr la ruta relativa sería:
../../usr
La primera vez que hemos escrito ..
hemos descendido a la carpeta home
, la segunda vez que hemos escrito ..
hemos descendido a la raíz (/)
y al escribir usr
hemos accedido a la carpeta usr ubicada dentro de /.
Si desde la carpeta usr queremos acceder a la carpeta lib la ruta relativa sería:
./lib
o bien
lib
Si desde la carpeta lib queremos acceder a la carpeta work la ruta relativa sería:
../../home/jono/work