1 實驗?zāi)康?/p>
了解文件管理系統(tǒng)的作用和工作方式
了解FAT文件系統(tǒng)的結(jié)構(gòu)
學(xué)習(xí)文件管理系統(tǒng)的一般開發(fā)方法
2 需求說明
2.1 基本要求
準(zhǔn)備一個FAT16格式的U盤,在Linux下編寫一個文件系統(tǒng)管理程序侨赡,對U盤上的文件進(jìn)行管理嗦嗡。具體要求如下:
設(shè)計并實現(xiàn)一個目錄列表函數(shù)(無須支持選項勋锤,如ls -a、ls -l等)侥祭,用來顯示當(dāng)前目錄下包含的文件信息
設(shè)計并實現(xiàn)一個改變目錄函數(shù)(無須處理路徑名叁执,如../../directoryName等),用來把當(dāng)前目錄切換到上一層目錄或當(dāng)前目錄的子目錄
設(shè)計并實現(xiàn)一個刪除文件函數(shù)矮冬,使用當(dāng)前目錄中的要刪除的文件名作為參數(shù)谈宛,用來刪除指定的文件,要注意文件的隱藏胎署、只讀和其他系統(tǒng)屬性
設(shè)計并實現(xiàn)一個創(chuàng)建文件函數(shù)吆录,使用要創(chuàng)建的文件名和文件大小作為參數(shù),用來創(chuàng)建一個新的文件
2.2 提高要求
增加創(chuàng)建目錄的功能
增加刪除目錄的功能:通常需要先判斷目錄是否為空目錄琼牧,若目錄不為空恢筝,則需給出提示哀卫,并刪除其包含的所有子目錄和文件;若是空目錄則可以直接刪除
增加絕對路徑和多級目錄的支持:這里需要對輸入的目錄路徑字符串進(jìn)行解析滋恬,然后逐級查找目錄
對ud_cf()函數(shù)進(jìn)行改進(jìn)聊训,使其可以向文件中寫入實際內(nèi)容,并根據(jù)寫入的內(nèi)容計算文件的實際大小
對ud_ls()函數(shù)進(jìn)行改進(jìn)恢氯,增加對全部非根目錄信息的讀却摺(基本要求中僅讀取一個扇區(qū)的非根目錄細(xì)信息)
參考文檔和完整的文檔和源碼下載地址: