简短结论:Debian 下 readdir() 本身是兼容 NTFS 的,但“兼容性”不是 readdir() 这个函数的问题,而是文件系统驱动 + 挂载方式的问题。
下面分点说清楚:
readdir() 是什么readdir() 是 POSIX / glibc 提供的目录读取接口:
struct dirent *readdir(DIR *dirp);
它不关心底层是 ext4、xfs 还是 ntfs,只通过 VFS(虚拟文件系统)读取目录项。
✅ 只要文件系统能被 Linux 挂载并识别为目录,readdir() 就能用。
Debian 读 NTFS 有几种方式:
readdir() 完全可用mount -t ntfs-3g /dev/sdb1 /mnt/ntfs
readdir() 同样可用mount -t ntfs3 /dev/sdb1 /mnt/ntfs
readdir() 也可用,但不推荐不是 readdir() 不兼容,而是:
解决:
mount -t ntfs-3g -o iocharset=utf8 /dev/sdb1 /mnt/ntfs
Debian 的
readdir()兼容 NTFS,前提是 NTFS 已通过 ntfs-3g 或 ntfs3 正确挂载。
如果你有具体场景(比如 C 程序读不到文件、Python os.listdir() 异常、Docker 挂载 NTFS 等),可以贴出来,我可以更针对性分析。