在 Linux 中的 NTFS 驱动器 ( ln -s
) 上创建的符号链接在 Windows 中显示为包含内容的短文件IntxLNK + 0x01 + (UTF-16 encoded target path)
— 可能是Interix。我想编写一个脚本,在 Windows 中启动时使用 WSL 的ln
. 但是,我不知道如何检测真正是 Linux 符号链接的短文件,除非查看每个文件的内容,这对于大型文件系统来说会很糟糕,并且对于从魔法开始的普通文件来说会失败。
为什么 NTFS-3g 仍然无法像 Windowsmklink
或 WSL2一样创建正确的重解析点ln -s
,即使此类 Windows 符号链接在 Linux 下正常工作,并且即使getfattr -n system.ntfs_reparse_data
可以读取 NTFS 符号链接数据,也超出了我的范围。它实际上应该只是一个简单的setfattr
,尽管我不知道要在属性中放入什么。
那么,有没有一种方法可以使用文件元数据(而不是内容)来检测在 Linux 下创建的符号链接?我确信 Linux 符号链接具有一些特殊属性,因为 NTFS-3g 可以区分包含InterLnkx
magic 的纯文件和包含相同 magic 的实际符号链接。
ntfs symbolic-link ntfs-3g interix windows-subsystem-for-linux