linux系統如何管理檔案

2021-08-21 08:45:06 字數 1149 閱讀 2626

1、硬碟中的靜態檔案和inode(i節點)

(1)檔案平時都在存放在硬碟中的,硬碟中儲存的檔案以一種固定的形式存放的,我們叫靜態檔案。

(2)一塊硬碟中可以分為兩大區域:乙個是硬碟內容管理表項,另乙個是真正儲存內容的區域。作業系統訪問硬碟時是先去讀取硬碟內容管理表,從中找到我們要訪問的那個檔案的扇區級別的資訊,然後再用這個資訊去查詢真正儲存內容的區域,最後得到我們要的檔案。

(3)作業系統最初拿到的資訊是檔名,最終得到的是檔案內容。第一步就是去查詢硬碟內容管理表,這個管理表中以檔案為單位記錄了各個檔案的各種資訊,每乙個檔案有乙個資訊列表(我們叫inode,i節點,其實質是乙個結構體,這個結構體有很多元素,每個元素記錄了這個檔案的一些資訊,其中就包括檔名、檔案在硬碟上對應的扇區號、塊號那些東西·····)

強調:硬碟管理的時候是以檔案為單位的,每個檔案乙個inode,每個inode有乙個數字編號,對應乙個結構體,結構體中記錄了各種資訊。

(4)聯絡平時實踐,大家格式化硬碟(u盤)時發現有:快速格式化和底層格式化。快速格式化非常快,格式化乙個32gb的u盤只要1秒鐘,普通格式化格式化速度慢。這兩個的差異?其實快速格式化就是只刪除了u盤中的硬碟內容管理表(其實就是inode),真正儲存的內容沒有動。這種格式化的內容是有可能被找回的。

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

(1)乙個程式的執行就是乙個程序,我們在程式中開啟的檔案就屬於某個程序。每個程序都有乙個資料結構用來記錄這個程序的所有資訊(叫程序資訊表),表中有乙個指標會指向乙個檔案管理表,檔案管理表中記錄了當前程序開啟的所有檔案及其相關資訊。檔案管理表中用來索引各個開啟的檔案的index就是檔案描述符fd,我們最終找到的就是乙個已經被開啟的檔案的管理結構體vnode

(2)乙個vnode中就記錄了乙個被開啟的檔案的各種資訊,而且我們只要知道這個檔案的fd,就可以很容易的找到這個檔案的vnode進而對這個檔案進行各種操作。

3、檔案與流的概念

(1)流(stream)對應自然界的水流。檔案操作中,檔案類似是乙個大包裹,裡面裝了一堆字元,但是檔案被讀出/寫入時都只能乙個字元乙個字元的進行,而不能一股腦兒的讀寫,那麼乙個檔案中n多的個字元被挨個一次讀出/寫入時,這些字元就構成了乙個字元流。

(2)流這個概念是動態的,不是靜態的。

(3)程式設計中提到流這個概念,一般都是io相關的。所以經常叫io流。檔案操作時就構成了乙個io流。

linux系統如何管理檔案

硬碟中的靜態檔案和inode i節點 1 檔案平時都在存放在硬碟中的,硬碟中儲存的檔案以一種固定的形式存放的,我們叫靜態檔案。2 一塊硬碟中可以分為兩大區域 乙個是硬碟內容管理表項,另乙個是真正儲存內容的區域。作業系統訪問硬碟時是先去讀取硬碟內容管理表,從中找到我們要訪問的那個檔案的扇區級別的資訊,...

linux 基礎檔案管理系統

乙個目錄對其目錄下的檔案有刪除的權利,對檔案的其他權利,目錄就是該檔案的others su vbird 變換身份 變為vbird ls l testing 檢視testing的資訊 在 linux 底下,使用預設的 ext2 ext3 檔案系統時,針對檔案的檔名長度限制為 單一檔案或目錄的最大容許檔...

Linux 檔案系統掛載管理

一 掛載操作 磁碟或者分割槽建立好檔案系統後,需要掛載到乙個目錄才能夠使用。windows或者mac系統會進行自動掛載,一旦建立好檔案系統後會自動掛載到系統上,windows上稱之為c盤 d盤等 linux需要手動進行掛載操作或者配置系統進行自動掛載。舉例 dev sda3 ext4 掛載到 mnt...