繁体   English   中英

如何检查 Rust 中是否存在符号链接,而不是它指向的文件?

[英]How to check if a symlink, not the file it points to, exists in Rust?

Path::exists不合适,因为它的文档指出:

该函数将遍历符号链接以查询有关目标文件的信息。 如果符号链接断开,这将返回 false。

另一种选择是使用std::fs::symlink_metadata ( docs )。

在不遵循符号链接的情况下查询有关文件的元数据。 此函数将返回错误... [当] path不存在时。

这样做的好处是返回的Metadata结构包含一个FileType结构 ( docs ),您可以通过它查询路径是普通文件、目录还是符号链接。 如果可能的结果不仅仅是“链接存在”和“链接不存在”,这可能很有用。

std::fs::read_link似乎是你想要的。

此函数在以下情况下会返回错误,但不仅限于这些情况:

  • 路径不是符号链接。
  • 路径不存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM