File URL en Windows vs Unix
Hola.
En esta ocasión voy a escribir acerca de las diferencias para especificar la ubicación de un directorio o archivo en Windows vs Unix.
Este es un problema común para aquellos que trabajamos entre ambos sistemas indistintamente. La diferencia en rutas entre uno y otro sistema varía un poco por lo que es necesario hacer modificaciones para apuntar a la ubicación correcta.
Generalmente la duda de siempre es cuántos slashes se deben poner en el file URL.
El // (doble slash) después de file: indica que sigue un hostname o la palabra localhost. Aunque esta parte puede ser omitida o indicar un hostname vacío.
Así que lo correcto, en teoría, es poner la ruta después del tercer slash.
Digo en teoría porque yo he visto el uso de incluso 5 slashes que seguramente podrían reescribirse en alguna forma correcta usando menos. Leyendo un poco sobre esto veo que hay formas no correctas que son usadas y funcionan.
Cuando se está trabajando en múltiples sistemas, lo mas común es no usar un nombre de host o rutas absolutas porque esto permite mover tus configuraciones fácilmente entre servidores sin necesidad de estar cambiándolas cada que las mueves.
Abajo los ejemplos, noten los 3 slashes que indican un hostname vació y enseguida la ruta.
Unix
Con hostname
file://localhost/tmp/archivo.txt
Sin hostname
file:///tmp/archivo.txt
Windows
Con hostname
file://localhost/c$/WINDOWS/archivo.txt
Sin hostname
file:///c:/WINDOWS/archivo.txt
Referencia:
https://en.wikipedia.org/wiki/File_URI_scheme
Espero les sirva.
Excelente información. ¿Cuándo se llega a dañar alguno de los múltiples slashes se pierde el acceso definitivo al file URL y por ende se perdería éste?
ResponderBorrarEjemplo:
file:///d:/Respaldo/OctavoSemestre/Seminario/PrimerParcial/tesis.txt
En el ejemplo anterior: ¿Si se dañara "Seminario" el archivo "tesis.txt" se perdería en definitivo?
Saludos.
Hola Su Santidad.
BorrarEsto es independiente de la integridad del archivo. Se refiere únicamente a la especificación de la ubicación de un archivo en programación.
En el artículo se da por entendido que el archivo existe y se encuentra en la ubicación especificada.
Gracias. Vuelvas prontos!