假设我想获取符号链接(symbolic link)的真实路径。我知道 readlink
和 stat
系统调用都可以取消对链接的引用并为我提供它的真实路径。它们是否以相同的方式运行(仅关于取消引用,我知道 stat
做的更多)?我应该更喜欢其中之一吗?
最佳答案
使用stat()
告诉您任何符号链接(symbolic link)链末尾的文件;它不会以任何方式为您提供路径。使用 lstat()
获取有关所引用的符号链接(symbolic link)的信息(如果有);当给定的名称不是符号链接(symbolic link)时,它的行为类似于 stat()
。使用 readlink()
获取存储在作为其参数命名的符号链接(symbolic link)中的路径名(注意——它不会空终止字符串)。
如果你想要符号链接(symbolic link)末尾的文件的完整路径名,你可以使用
realpath()
.这为您提供了一个绝对路径名,它不会通过任何符号链接(symbolic link)到达文件。
关于c - 获取符号链接(symbolic link)的真实路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18159662/