mrn*_*mrn 0 linux filesystems files
我的问题与 Linux 文件系统中符号链接的实现方式有关。
“这取决于”。
这取决于文件系统的实现以及链接的长度。
例如,在 ext4 上,如果符号链接的目标足够小(60 字节或类似的值),那么它将存储在 inode 本身中并且不使用数据块。然而,如果目标更大,则分配数据块并将内容存储在那里。
其他文件系统可能没有这个“存储在 inode 中”选项。
传统上,符号链接由 inode 的“mode”( ) 字段中的位确定st_mode,与“目录”、“字符设备”、“块设备”、“FIFO”、“Socket”的方式相同。通常,应用程序可以stat()对文件名(或类似的)执行 a 操作,然后S_ISLNK()对结果st_mode字段进行测试。