在Linux中为NTFS实现ls命令

Osm*_*diz 0 c filesystems 64-bit operating-system ntfs

我想建立一个bash脚本一样提供了一些功能,如LS,PWD,猫等在Linux系统上的NTFS工作.假设我有一个NTFS图像,我打开它作为fopen文件.然后,我读取了一些扇区,例如驻留在0x0B的BPB,并获取了一些关于NTFS映像的一般信息.我需要到达根目录指针然后遍历文件系统,以便实现这些功能,特别是对于ls和pwd.我谷歌了很多关于内部细节和NTFS的补偿,但我无法找到如何实现目标.没有可理解的文档或样本,我无法进一步发展.

任何帮助,文档,提示,胶印表等都将受到高度赞赏.

谢谢.

Arj*_*kar 5

我猜这是一个学习练习.所以,首先:

  1. bash为特定的文件系统编写类似的解释器不对的.您应该专注于了解NTFS文件系统的细节.

  2. 编写ls,cat以便能够处理特定文件系统中的文件是不对的.您应该专注于了解NTFS文件系统的细节.

  3. 如果你写一个文件系统驱动程序(使用说FUSE),那么原来bash,ls,cat会自动与该文件系统的工作.由于驱动程序将能够翻译系统调用像openread到文件系统而具体的程序.

最后:

  1. 了解FUSE.这是真棒.请参阅此Hello WorldFUSE模块.运行它,玩它.

  2. 下载NTFS-3G的源代码,NTFS-3G是目前大多数GNU/Linux发行版使用的NTFS驱动程序.它使用FUSE.了解它是如何工作的.