文件路径中的 ~ 是什么意思?

文件路径中的 ~ 是什么意思?

~绝对文件路径是什么意思?

我在构建脚本之类的输出中看到了这一点,但是路径不存在。

答案1

通常,它意味着用户的主目录,例如,~mike/将是用户mike的主目录,~/将是您自己的主目录。但是,我不清楚~/和是否~mike/应该被视为绝对的或相对的;这似乎取决于给出的定义(如果有人能提出权威的参考,请发表评论)。

请注意,我这里谈论的是基于 Unix 的系统。

http://en.wikipedia.org/wiki/Home_directory#Unix

答案2

实际上,Adrian Mouat 和 studiohack 的答案都是正确的。
在命名约定有限的操作系统(旧版本的 Windows/DOS 等)中,它表示一个长名称。

e.g. "c:\program files\" is equivalent to "c:\progra~1\"

在某些操作系统(即 Unix)中,它意味着主目录(可能被视为绝对路径但不是规范路径)。
e.g."/a/vol01/usr/mike/" might be shortened to "~/mike/"
* 其中“usr”是主目录。

答案3

在许多文件系统中,文件名的每个部分都会包含一个波浪符号 (~),由于太长而不符合 8.3 命名规则。

来源:命名文件、路径和命名空间 - 短名称与长名称 - MSDN

(页面部分内容...)

答案4

有关 Windows 的更多信息:

  1. 如果隐藏文件名以“~”开头,则 Windows 资源管理器会将其作为系统隐藏文件处理。更多信息为什么以波浪号开头的隐藏文件会被视为超级隐藏文件?

  2. 如果短文件/目录名称包含“~”(如“c:\ololoo~1”),则此文件/目录的相应长名称可能会超过最大长度(MAX_PATH=260)。开发人员应使用“\\?\”前缀解决这个问题(即使在较新的 Windows 10 上,因为用户可以使用LongPathsEnabled注册表参数或“启用 NTFS 长路径”组策略禁用“>260”长路径支持)。使用 C# 的此解决方法的示例可在以下位置找到ZetaLongPaths 库源

相关内容