如果我使用 检查符号链接的文件大小stat()
,它会报告一个等于链接路径字符串的非零文件大小。但是当我du
在链接上使用 时,它会报告零块大小。
对此有简单的解释吗?将符号链接解释为不需要磁盘空间是否正确?符号链接信息存储在哪里?
答案1
看https://en.wikipedia.org/wiki/Symlink#Storage_of_symbolic_links。现代系统使用所谓的“快速符号链接”。符号链接没有分配任何块。相反,符号链接引用存储在 inode 本身中,常规文件存储组成它的块的位置。du
只查看分配了多少块,因此可能显示 0。stat
并且ls -l
足够智能,可以根据 inode 中存储的数据报告符号链接的长度。