¿Qué significa el ~
en una ruta de archivo absoluta?
Veo esto en la salida de cosas como construir scripts, pero la ruta no existe.
¿Qué significa el ~
en una ruta de archivo absoluta?
Veo esto en la salida de cosas como construir scripts, pero la ruta no existe.
Respuestas:
Normalmente significa que el directorio de inicio del usuario, por ejemplo, ~mike/
sería el directorio de inicio del usuario mike
, ~/
sería su propio directorio de inicio. Sin embargo, no está claro para mí si ~/
y ~mike/
debe considerarse absoluto o relativo; parece depender de la definición dada (si alguien puede encontrar una referencia autoritaria, publique un comentario).
Tenga en cuenta que estoy hablando de sistemas basados en Unix aquí.
/etc/login
archivo. La expansión se realiza tradicionalmente por el shell, pero cualquier lenguaje que tenga pretensiones de "scripting" también lo hará.
~username/
cosa.
~
como sinónimo del directorio de inicio del usuario.
En realidad, ambas respuestas de Adrian Mouat y studiohack son ciertas.
En sistemas operativos con una convención de nomenclatura limitada (versión anterior de Windows / DOS, etc.) significa un nombre largo.
e.g. "c:\program files\" is equivalent to "c:\progra~1\"
En algunos sistemas operativos (a saber, Unix) significa home-dir (y podría verse como una ruta absoluta pero no canónica).
e.g."/a/vol01/usr/mike/" might be shortened to "~/mike/"
* donde 'usr' es el directorio de inicio.
En muchos sistemas de archivos, un nombre de archivo contendrá una tilde (~) dentro de cada componente del nombre que es demasiado largo para cumplir con las reglas de nomenclatura 8.3.
Fuente: Nomenclatura de archivos, rutas y espacios de nombres - Nombres cortos vs. nombres largos - MSDN
(A mitad de la página ...)
192.168.1.1
o somefile.namewithdot
)
Y si realiza la programación ASP.NET, significa el nivel superior del sitio web; en lugar de navegar usando ../../images/some_image.jpg (¡y equivocando su nivel de anidación!) simplemente puede decir ~ / images / some_image.jpg
/images/some_image.jpg
debería llevarlo a la raíz de cualquier sitio web. ¿Qué funcionalidad adicional proporciona la tilde en ASP.NET?
Aquí hay un par de sugerencias que pueden ayudarlo a resolverlo mejor:
$ readlink -f ~
$ echo $HOME
Nota: $
es una convención para especificar la línea de comandos del usuario, no forma parte de los comandos.
Más sobre Windows:
Si el nombre del archivo oculto comienza con '~', el Explorador de Windows lo procesa como un archivo oculto del sistema. Más información en ¿Por qué los archivos ocultos con una tilde principal se tratan como super ocultos?
Si el nombre corto de archivo / directorio contiene '~' (como "c: \ ololoo ~ 1") es posible que el nombre largo correspondiente de este archivo / directorio exceda la longitud máxima (MAX_PATH = 260). Los desarrolladores deben trabajar en esto con el prefijo "\\? \" (Incluso en Windows 10 más reciente, ya que el usuario puede deshabilitar la compatibilidad con rutas largas de>> 260 "con el LongPathsEnabled
parámetro de registro o con la política de grupo" Habilitar rutas largas NTFS "). Se puede encontrar un ejemplo de esta solución alternativa usando C # en las fuentes de la biblioteca ZetaLongPaths .