Ruta (informática)

De Wikipedia, la enciclopedia libre

En informática, una ruta (path, en inglés) 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. Esta 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 el 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á la barra inversa (\) en sistemas operativos MS-DOS y Windows (de Microsoft) o la barra diagonal (/) en sistemas UNIX o 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.

Ruta absoluta[editar]

Las rutas absolutas señalan la ubicación de un archivo o directorio desde el directorio raíz del sistema de archivos.

Por ejemplo, en un sistema *nix, /home/dir1/arc1.fil es una ruta absoluta, que señala la ubicación del archivo arc1.fil desde la raíz del sistema de archivos.

En sistemas Windows, una ruta absoluta sería C:\usuarios\juan\arc1.fil.

Una ruta UNC también es considerada como absoluta, por ejemplo \\servidor\carpeta\arc1.fil

Ruta relativa[editar]

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 Fulano tiene una imagen en su directorio personal, esta imagen podría tener dos rutas de acceso, una relativa y una absoluta:

  • La absoluta: /home/fulano/imagen.jpg
  • La relativa: ~/imagen.jpg

En este caso, la ruta relativa sólo puede ser verdaderamente válida si el sistema está ubicado en el usuario de Fulano. En este mismo caso, ~/ sería el sinónimo relativo de la ruta /home/fulano/.

También se puede crear, borrar, copiar, etcétera, 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 de 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 raíz 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 o 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.

La sintaxis de UNC para los sistemas Windows tiene la forma genérica: \\NombreHost\CarpetaCompartida\Recurso

Nota: la sintaxis de UNC aparece escrita a veces con barras diagonales (/). Microsoft Windows trata ambas barras (\ y /) como equivalentes, pero muchos programas aceptan únicamente barras inversas o 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".

Algunas 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 API 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/

Cambiar directorio de trabajo a: /users/mark/bobapples

En ese momento, se puede representar la ruta relativa del directorio al que se quiere 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 se puede teclear en la línea de comandos: cd bobapples

Tecleando dos signos de punto (..) 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 representa 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),

Estilo Microsoft DOS o Windows[editar]

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

Véase también[editar]

Referencias[editar]