Ruta (informática)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Una ruta (en inglés path) es la forma de referenciar un archivo informático o directorio en un sistema de archivos de un sistema operativo determinado. Una ruta señala la localización exacta de un archivo o directorio mediante una cadena de caracteres concreta. Ésta puede ser de diversas formas dependiendo del sistema operativo y del sistema de archivos en cuestión. En líneas generales se compondrá de los nombres de los directorios que conforman el camino hasta nuestro archivo o directorio a lo largo del árbol de directorios, y finalmente estará el nombre del archivo o directorio que se quiere referenciar. Estos nombres estarán separados por un carácter delimitador que usualmente será "\" en sistemas MS-DOS/Windows (Microsoft) o "/" en sistemas UNIX/Linux.

Modos de expresar una ruta[editar]

En la mayoría de los sistemas operativos y sistemas de archivos una ruta se puede expresar en forma relativa o en forma absoluta:

  • Las rutas absolutas señalan la ubicación de un archivo o directorio desde el directorio raíz del sistema de archivos. Por ejemplo es una ruta absoluta /home/dir1/arc1.fil que señala la ubicación de arc1.fil desde la raíz del sistema de archivos.
  • 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. Por ejemplo es una ruta relativa dir1/arc1.fil que señala al archivo arc1.fil dentro del directorio dir1 en la ubicación actual. En sistemas tipo UNIX, la ruta ~/ es una ruta relativa que lleva al directorio personal del usuario que ha insertado la ruta relativa; por ejemplo, si el usuario Juan tiene una imagen en su directorio personal, esta imagen podría tener dos rutas de acceso, una relativa y una absoluta:
  • La absoluta:
/home/juan/imagen.jpg
  • La relativa:
~/imagen.jpg

En este caso, la ruta relativa sólo puede ser verdaderamente valida si el sistema está ubicado en el usuario de Juan. En este mismo caso, ~/ seria el sinónimo relativo de la ruta /home/juan/.

También se puede crear, borrar, copiar, etc. directorios y archivos con este tipo de ruta desde una interfaz de línea de comandos. Algunos ejemplos:

mkdir ~/Fotos
chmod 777 ~/
rm ~/foto.jpg

Representaciones de rutas por Sistema Operativo y shell[editar]

Sistema Operativo Shell Directorio Raíz Separador Directorio padre Ejemplos
Unix shell Unix / / .. /home/user/docs/Letter.txt
DOS COMMAND.COM [letra unidad:]\ / or \ (nota: command.com no trata / como un separador de directorios) .. C:\USER\DOCS\LETTER.TXT
A:PICTURE.JPG
OS/2 cmd.exe [letra unidad:]\ / or \ .. C:\user\docs\Letter.txt

A:Picture.jpg

Microsoft Windows cmd.exe [letra unidad:]/ o [letra unidad:]\ nota: para el comando CD, / es interpretado como ruta relativa (igual que [letra unidad:].\) / o \ (nota: para el comando CD, / es interpretado como ruta relativa (igual que .\)) .. C:\user\docs\Letter.txt

A:Picture.jpg

Microsoft Windows Windows PowerShell [nombre unidad:]/ o [nombre unidad:]\ o

[PSSnapIn name]\[PSProvider name:][:PSDrive root]

/ or \ .. C:\user\docs\Letter.txt

UserDocs:/Letter.txt Variable:PSVersionTable Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft.PowerShell.Security\Certificate::CurrentUser\

TOPS-20 DCL [nombre dispositivo:] . PS:<USER.DOCS>LETTER.TXT,4
RSX-11 DCL [nombre dispositivo:] DR0:[30,12]LETTER.TXT;4
OpenVMS DCL [nombre dispositivo:] o

[NODO["password del usuario"]]::[nombre dispositivo]:

. [-] SYS$SYSDEVICE:[USER.DOCS]PHOTO.JPG

GEIN::[.DRAFTS]LETTER.TXT;4

Mac OS Clásico [nombre unidad o volumen]: : :: Macintosh HD:Documents:Letter
AmigaOS Amiga CLI / AmigaShell [nombre de unidad, volumen o nombre asignado:] / /
RISC OS Ventana de tareas [tipo_fs[#opción]:][:número de unidad o nombre de disco.]$

nota: &, % y @ pueden usarse como referencia al directorio raiz del usuario actual, ubicación de las librerías y el directorio actual respectivamente.

. ^ ADFS::MyDrive.$.Documents.Letter

Net#MainServer::DataDrive.$.Main.sy10823
LanMan::WindowsC.$.Pictures.Japan/gif
NFS:&.!Choices
ADFS:%.IfThere

Cuando se montan sistemas de ficheros con extensiones de nombres, se cambian los caracteres '.' por '/'

Symbian OS Administrador de ficheros \ \ \user\docs\Letter.txt
Domain/OS Shell // /
MenuetOS CMD / /
Stratus VOS Intérprete de comandos VOS %[nombre_sistema]#[nombre_módulo]> > <
NonStop Kernel TACL Tandem Advanced Command Language No hay directorio raíz . No hay directorio padre \NODE.$DISK.SUBVOL.FILE

\NODE.$DEVICE

\NODE.$DEVICE.#SUBDEV.QUALIFIER

CP/M CCP [letra unidad:] No hay subdirectorios No hay directorio padre A:LETTER.TXT

Uniform Naming Convention[editar]

Microsoft Windows definió UNC, siglas de Universal Naming Convention or Uniform Naming Convention (convención universal de nombres), para crear una sintaxis común de cómo especificar la localización de un recurso de red, tal como un fichero compartido, un directorio o una impresora. El sintaxis de UNC para los sistemas Windows tiene la forma genérica:

\\NombreHost\CarpetaCompartida\Recurso

Nota: La sinstaxis de UNC aparece escrita a veces con barras normales (/). Microsoft Windows trata ambas barras (\ y /) como equivalentes, pero muchos programas aceptan únicamente barras invertidas (\), y otros aceptan sólo dobles barras invertidas (por ejemplo \\\\ComputerName\\SharedFolder), especialmente en constantes de texto, debido al uso estándar de la barra invertida como carácter de escape.

La "CarpetaCompartida" no tiene que tener obligatoriamente el mismo nombre cuando es visto remotamente que cuando lo ve un programa en el propio servidor. En su lugar, el nombre CarpetaCompartida consiste en un nombre arbitrario asignado a la carpeta, cuando se define su "compartición".

Algunos interfaces Microsoft Windows también aceptan el "Long UNC":

\\?\UNC\NombreHost\CarpetaCompartida\Recurso

Microsoft Windows usa los siguientes tipos de rutas:

  • Sistema de ficheros local. Por ejemplo: C:\Fichero,
  • uniform naming convention (UNC). Por ejemplo: \\Servidor\Volumen\Fichero,
  • Long UNC o UNCW. Por ejemplo: \\?\C:\Fichero o \\?\UNC\Servidor\Volumen\Fichero.

En versiones de Windows anteriores a Windows XP, sólo las APIs que aceptan "Long UNC" pueden aceptar más de 260 caracteres.

La shell en Windows XP y Windows Vista, explorer.exe, permite nombres de ruta de hasta 248 caracters.

Ejemplos[editar]

Estilo Unix[editar]

El siguiente ejemplo muestra el comportamiento de un sistema de ficheros tipo Unix, tal y como se podría ejecutar desde un terminal:

Situado en este directorio de trabajo:

/users/mark/

Quieres cambiar tu directorio de trabajo a:

/users/mark/bobapples

En este momento, podemos representar la ruta relativa del directorio al que quieres ir como:

./bobapples

o más corto:

bobapples

y la ruta absoluta como:

/users/mark/bobapples

Tomando bobapples como la ruta relativa para el directorio elegido, para cambiar el directorio actual a bobapples puedes teclear en la línea de comandos :

cd bobapples

Dos puntos ("..") te llevan un nivel atrás en la jerarquía de directorios, para indicar el directorio padre; un punto (".") representa el directorio actual. Ambos pueden ser componentes de una compleja ruta relativa (por ejemplo, "../mark/./bobapples"), donde "." sólo o al principio de la ruta relativa represental el directorio de trabajo. (Usar "./foo" para referirse al fichero "foo" del directorio actual puede a veces diferenciarlo del recurso "foo" encontrado en un directorio por defecto; o con otro ejemplo, para ver una página de manual Unix específica en lugar de la instalada en el sistema).

MS-DOS/Microsoft Windows style[editar]

  • Rutas a archivos
D:\command.com
/home/miusuario/documento.doc
  • Rutas a directorios:
C:\windows\
/home/nombre-usuario/