如何确定符号链接指向的文件的路径
How do you determine the path of the file that a symlink points to?
在Linux中,如果你有一个你知道是符号链接的文件的路径,你如何以编程方式确定(在C或C++中)它指向的文件的路径?
readlink
函数。做一个man 2 readlink
。这个函数是Posix API的一部分,所以它应该适用于几乎所有的Unix。
如果路径以 '/'
开头,则它是一个绝对符号链接,并且您拥有它所引用的文件的完整绝对路径(这可能是另一个符号链接,您必须再次重复该过程)。
如果路径不以"/
"开头,则它是一个相对链接,并相对于符号链接所在的目录进行解释。由您来适当地组合路径以找出真正的文件名。
当然,有时符号链接用于存储实际上不是路径的信息。有时程序在其中存储PID或其他此类信息以用于锁定目的。创建符号链接的调用是可以在 NFS 挂载的文件系统上执行的更可靠的原子操作之一。
此外,在我的Fedora系统上,如果你这样做man 7 symlink
你会得到关于符号链接的长篇讨论,它们在各种情况下的行为以及操纵它们或受它们影响的函数的概要。
在 POSIX 或 BSD 系统上使用 readlink()
相关文章:
- 从函数角度看ID到文件路径的内部与外部映射
- 在C++中设置基于操作系统的文件路径
- Windows 非 ASCII 文件路径
- 非 ASCII 文件路径窗口
- C++和带有国家符号的文件路径(也许用 UTF8 编码)
- 如何为文件路径使用变量?
- 包括 VS Code 上的完整文件路径
- 如何使用提升获取当前文件路径?
- 如何在 c++ 中获取当前文件路径?
- 保存json文件后如何返回文件路径
- 从 C++ 中的文件路径中提取文件名
- 是否可以将文件路径传递给Qt中的setStyleSheet()
- 无法转换 .CATPart 文件.错误:输入文件路径似乎包含不支持的字符
- 在结构函数之间传递文件路径 C++ 编辑:修复LNK2019错误
- 提供依赖于输入的程序的文件路径
- 从 QFileSystemModel 中的文件路径和文件名获取 QModelIndex
- 如何更改变量文件名的文件路径?
- cmake:包括vs vs add_subDirectory:相对标头文件路径
- 在OSX中使用CGDisplayStream存储屏幕记录的特定文件路径
- 如何在另一个系统上启用文件路径