1. 程式人生 > >linux如何管理檔案

linux如何管理檔案

朱老師嵌入式核心課程筆記 檔案管理相關概念

檔案管理

Ⅰ. 硬碟中的靜態檔案和inode(i節點)

  • 靜態檔案 檔案平時存在硬碟中,有固定的狀態,稱為靜態檔案
  • inode inode,本質是一個結構體,包括檔名,檔案在硬碟上的扇區號、塊號等;

Ⅱ. 記憶體中被開啟的檔案和vnode(v節點)

  • 動態檔案 一個程式的執行就是一個程序,在程序中開啟的檔案就屬於某個程序,每個程序都有一個數據結構記錄這個程序的所有資訊(程序資訊表),表中有一個指標指向一個檔案管理表,檔案管理表中記錄了當前程序的所有檔案及其相關資訊。檔案管理表中用來索引開啟的檔案的index就是檔案描述符fd,最終找到的就是一個被開啟的檔案的管理結構體vnode
  • vnode vnode中記錄了一個被開啟的檔案的各種資訊,通過找到fd,可以找到檔案的vnode進而對該檔案進行操作

Ⅲ. 檔案與流(stream)的概念

  • 檔案流 ① 檔案流:以外存檔案為輸入輸出物件的資料流: ② 輸出檔案流是從記憶體流向外存檔案的資料; ③ 輸入檔案是從外存檔案流向記憶體的資料; ④ 每一個檔案流都有一個記憶體緩衝區與之對應。

  • 檔案 ① 檔案:儲存在外部介質上資料的集合; ② 作業系統是以檔案為單位對資料進行管理的。

  • 檔案與檔案流 ① 檔案是作業系統操作資料的基本單元; ② 檔案流是編寫程式時對資料進行操作的物件。 ③ 檔案操作需要流物件,cout和cin是已定義的流物件。