linux如何使用符号链接?

匆忙

我的意思是某些进程想要读取符号链接时发生了什么?在读取甚至写入过程中某些东西更改了符号链接时,会发生什么情况?

例如:我有2个巨大的类似100G文件,/mnt/1并且/mnt/2/mnt/1可通过symlink获得/home/user/file某些程序A开始读取/home/user/file一段时间后,链接从更改/mnt/1/mnt/2,但A仍在读取文件。

程序是否缓存绝对路径?

它会因为符号链接被更改而失败并出错,或者像什么都没发生一样,它会正常工作吗?

如果/home/user/file链接到块设备(例如2个复制的iscsi磁盘),情况会有所不同吗?

凯文

符号链接指向文件系统中实际文件的名称(inode)。当系统解析该符号链接以找到实际文件并打开它时,它将查找并使用文件的索引节点。那时,您用来获取文件的路径无关紧要。操作系统不缓存的内容是它通过其inode从文件中读取的内容。据我了解,您可以开始通过硬链接读取文件并删除该硬链接 (只要文件仍然从其他位置链接) ,并且只要文件已解析就不会引起问题(名称字符串-> inode)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章