檔案儲存
inode
dentry
檔案系統
檔案操作
stat()/lstat()
返回值:
獲取檔案大小:buf.st_size
獲取檔案型別:buf.st_mode
獲取檔案許可權:buf.st.mode
符號穿透:stat()會,lstat()不會
link()
為了實現檔案共享,linux允許多個目錄項共享乙個 inode ,即共享盤塊(data),不同檔名,在人類眼中將它理解成兩個檔案,但在核心眼裡是同乙個檔案。link()函式,可以為已經存在的檔案建立目錄項(硬鏈結)。
unlink()
注意linux下刪除檔案的機制:不斷將 st_nlink - 1,直到減到0為止。無目錄項對應的檔案,將會被作業系統擇機釋放。(具體時間由系統內部排程演算法決定。)因此,我們刪除檔案,從某種意義上說,只是讓檔案具備了被釋放的條件。unlink()函式的特徵:清除檔案時,如果檔案的硬鏈結數到0了,沒有 dentry 對應,但該檔案仍不會馬上被釋放。要等到所有開啟該檔案的程序關閉該檔案,系統才會挑時間將該檔案釋放掉。
隱式**
目錄操作函式
重定向dup() 和 dup2()
int dup2(int oldfd, int newfd);
fcntl() 函式實現 dup()
LINUX檔案系統顯示中文
檔案系統顯示中文 配置核心支援編碼 native language support simplified chinese charset cp936,gb2312 nls utf 8 將檔案系統中的預設字元改為藍色部分 file systems dos fat nt filesystems msdo...
LINUX檔案系統顯示中文
檔案系統顯示中文 配置核心支援編碼 native language support simplified chinese charset cp936,gb2312 nls utf 8 將檔案系統中的預設字元改為藍色部分 file systems dos fat nt filesystems msdo...
LINUX檔案系統顯示中文
檔案系統顯示中文 配置核心支援編碼 native language support simplified chinese charset cp936,gb2312 nls utf 8 將檔案系統中的預設字元改為藍色部分 file systems dos fat nt filesystems msdo...