乙個檔案系統通常包括3個部分:
1)超級塊 包括整個檔案系統的基本資訊,如塊的大小,指向空間inode和資料塊的指標等相關資訊。
2) inode塊:檔案索引。他是檔案系統的最基本單元。每個子目錄和檔案只有唯一的乙個inode塊。
3)資料塊:具體存放資料的位置區域。
超級塊的結構以及對於的操作簡介:
/**超級塊物件有super_block結構體表示,定義在檔案linux/fs.h中**
struct super_block ; /*
*超級塊物件中的s_op指向超級塊的操作函式表。超級塊操作函式表有struct super_operations定義,在linux/fs.h檔案中定義
*struct super_operations ;
程序每開啟乙個檔案,就會有乙個file結構與之對應。同乙個程序可以多次開啟同乙個檔案而得到多個不同的file結構,file結構描述了被開啟檔案的屬性,讀寫的偏移指標等等當前資訊。
兩個不同的file結構可以對應同乙個dentry結構。程序多次開啟同乙個檔案時,對應的只有乙個dentry結構。dentry結構儲存目錄項和對應檔案(inode)的資訊。
在儲存介質中,每個檔案對應唯一的inode結點,但是,每個檔案又可以有多個檔名。即可以通過不同的檔名訪問同乙個檔案。這裡多個檔名對應乙個檔案的關係在資料結構中表示就是dentry和inode的關係。
inode中不儲存檔案的名字,它只儲存節點號;而dentry則儲存有名字和與其對應的節點號,所以就可以通過不同的dentry訪問同乙個inode。
不同的dentry則是同個檔案鏈結(ln命令)來實現的。
file的格式:
inode的結構:
檔案及目錄管理操作:
讀取檔案屬性:
stat()
fstat()檢視已經開啟的檔案屬性:
stat的結構體:
修改檔案許可權:
chmod()
連線檔案:
bsd是unix系統的衍生系統,與linux有差別。
修改掩碼: umask
修改檔案的擁有者以及所有組:
新增刪除目錄:
連線檔案管理:
修改當前程序工作目錄:
獲取當前工作目錄:
返回當前工作目錄:
獲取當前工作目錄的絕對路勁:
Linux檔案及目錄管理
在linux終端,面對命令不知道怎麼用,或不記得命令的拼寫及引數時,我們需要求助於系統的幫助文件 linux系統內建的幫助文件很詳細,通常能解決我們的問題,我們需要掌握如何正確的去使用它們 下面介紹這些命令 簡要說明命令的作用 顯示命令所處的man分類頁面 whatis command正則匹配 wh...
linux檔案及目錄命令管理
大家都知道,熟悉命令操作的開發人員,linux作業系統命令操作效率要高於圖形介面的操作,所以了解和學習linux基本命令操作是學習linux作業系統的首要任務,本文主要介紹以下四個知識點 1.shell基本命令格式 2.檔案及檔案目錄基本操作命令 3.結果重定向 4.歸檔及壓縮命令 一 shell基...
linux命令 檔案及目錄管理
命令 功能ls 檢視目錄下的內容 pwd檢視當前目錄 cd改變當前目錄 touch 建立檔案 rm刪除檔案 mv移動檔案 cp拷貝檔案 cat顯示檔案內容 grep 在檔案中查詢 mkdir 建立目錄 rmdir 刪除目錄 ls命令 檢視當前目錄下的內容 選項 含義 a 展示所有檔案及目錄,包含隱藏...