Что ~
означает абсолютный путь к файлу?
Я вижу это в выводе таких вещей, как сценарии сборки, но путь не существует.
Что ~
означает абсолютный путь к файлу?
Я вижу это в выводе таких вещей, как сценарии сборки, но путь не существует.
Ответы:
Обычно это означает, что домашний каталог пользователя, например, ~mike/
будет mike
домашним каталогом пользователя, ~/
будет вашим собственным домашним каталогом. Тем не менее, остается неясным , мне ли ~/
и ~mike/
следует считать абсолютным или относительным; похоже, это зависит от приведенного определения (если кто-то может придумать авторскую ссылку, пожалуйста, оставьте комментарий).
Обратите внимание, что я говорю о системах на основе Unix здесь.
/etc/login
файла. Расширение традиционно выполняется оболочкой, но любой язык, у которого есть претензии на «написание сценариев», тоже сделает это.
~username/
.
~
в качестве синонима домашнюю директорию пользователя.
На самом деле оба ответа Адриана Муата и 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
(Часть пути вниз по странице ...)
192.168.1.1
или somefile.namewithdot
)
И если вы занимаетесь программированием на ASP.NET, это означает верхний уровень веб-сайта; вместо того, чтобы перемещаться с помощью ../../images/some_image.jpg (и неправильно указывать уровень вложенности!), вы можете просто сказать ~ / images / some_image.jpg
/images/some_image.jpg
должен привести вас к корню любого веб-сайта. Какие дополнительные функции предоставляет тильда в ASP.NET?
Вот несколько советов, которые помогут вам лучше разобраться в этом:
$ readlink -f ~
$ echo $HOME
Примечание: $
это соглашение для указания приглашения командной строки пользователя, оно не является частью команд.
Подробнее о Windows:
Если имя скрытого файла начинается с '~', то проводник Windows обрабатывает его как системный скрытый файл. Подробнее в разделе Почему скрытые файлы с лидирующей тильдой считаются сверхскрытыми?
Если короткое имя файла / каталога содержит «~» (например, «c: \ ololoo ~ 1»), возможно, что соответствующее длинное имя этого файла / каталога превысит максимальную длину (MAX_PATH = 260). Разработчики должны решить эту проблему с префиксом «\\? \» (Даже в более новой Windows 10, поскольку пользователь может отключить поддержку LongPathsEnabled
длинных путей « > 260» с параметром реестра или с групповой политикой «Включить длинные пути NTFS»). Пример этого обходного пути с использованием C # можно найти в источниках библиотеки ZetaLongPaths .