[英]Implementing ls command for NTFS in Linux
我正在嘗試構建一個bash之類的腳本,該腳本提供了一些功能,例如ls,pwd,cat等,它們在linux系統中的NTFS上工作。 假設我有一個NTFS映像,並使用fopen將其作為文件打開。 然后,我讀取了一些扇區,例如BPB駐留在0x0B,並獲取了有關NTFS映像的一些常規信息。 我需要到達根目錄指針,然后遍歷文件系統才能實現那些功能,尤其是對於ls和pwd。 我在Google上搜索了很多有關NTFS的內部細節和偏移量的信息,但我找不到如何實現該目標的方法。 沒有可理解的文檔或樣本,我無法進一步發展。
任何幫助,文檔,提示,偏移量表等將不勝感激。
謝謝。
我猜這是一個學習練習。 因此,首先:
為特定文件系統編寫類似解釋器的bash
是錯誤的事情。 您應該專注於理解NTFS文件系統的詳細信息。
編寫ls
, cat
以便能夠處理特定文件系統中的文件是錯誤的事情。 您應該專注於理解NTFS文件系統的詳細信息。
如果編寫文件系統驅動程序(例如使用FUSE ),則原始bash
, ls
和cat
將自動與該文件系統一起使用。 因為驅動程序將能夠像open
文件一樣轉換系統調用並將其read
入特定於文件系統的過程。
最后:
了解有關FUSE的信息 。 太棒了 。 參見此Hello World
FUSE模塊 。 運行它,玩它。
下載NTFS-3G的資源, NTFS-3G是當今大多數GNU / Linux發行版使用的NTFS驅動程序。 它使用FUSE。 了解其工作原理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.