Что означает ~
в абсолютном пути к файлу?
Я вижу это в выводе таких вещей, как сценарии сборки, но путь не существует.
Что означает ~
в абсолютном пути к файлу?
Я вижу это в выводе таких вещей, как сценарии сборки, но путь не существует.
Обычно это означает, что домашний каталог пользователя, например, ~mike/
будет домашним каталогом пользователя mike
, ~/
будет вашим собственным домашним каталогом. Однако мне неясно, следует ли считать ~/
и ~mike/
абсолютными или относительными; похоже, это зависит от приведенного определения (если кто-то может придумать авторскую ссылку, пожалуйста, оставьте комментарий).
Обратите внимание, что я говорю о системах на основе Unix здесь.
На самом деле оба ответа Адриана Муата и studiohack верны.
В операционных системах с ограниченным соглашением об именах (более старая версия Windows/DOS и т.д.) Это означает длинное имя.
e.g. "c:\program files\" is equivalent to "c:\progra~1\"
В некоторых операционных системах (а именно Unix) это означает home-dir (и может рассматриваться как абсолютный, но не канонический путь).
e.g."/a/vol01/usr/mike/" might be shortened to "~/mike/"
* где "usr" - домашний каталог.
Во многих файловых системах имя файла будет содержать тильду (~) в каждом компоненте имени, которое является слишком длинным, чтобы соответствовать правилам именования 8.3.
Источник: именование файлов, путей и пространств имен - короткие и длинные имена - MSDN
(Часть пути вниз по странице ...)
И если вы занимаетесь программированием на ASP.NET, это означает верхний уровень веб-сайта; вместо навигации с помощью ../../images/some_image.jpg (и неверный уровень вложенности!) Вы можете просто сказать ~/images/some_image.jpg
Вот несколько советов, которые помогут вам лучше разобраться в этом:
$ readlink -f ~
$ echo $HOME
Примечание: $
- это соглашение для указания приглашения командной строки пользователя, оно не является частью команд.