三,linux文件系統的權限問題和涉及到的軟硬鏈接
二,linux內核被加載的過程
任何設備在linux下都是文件。
文件即包括windows下的文件又包括windows下的目錄,還包括windows下的設備。
一、文件權限的意義
r:可以讀這個文件的具體內容;
w:可以編輯這個文件的內容,包括增加刪除文件的具體內容 但不包括刪除該文件;
x:文件就具有了可執行的權限-------注意:這裡和window不一樣,在win中,文件的可執行權限是通過擴展名表現出來的,如exe、bat等,但是在linux中文件的可執行權限是通過這個x決定的,與文件名沒有什麼關系。
rwx權限都是對文件內容而言的,因為文件的inode和block中並沒有文件名,所以這些權限跟涉及到文件名的刪除沒有關系
二、目錄權限的意義
r:可以查看此目錄下的完整文件列表信息。當有r權限時,你可以讀取該目錄下所有文件的文件名
-????????? ? ? ? ? ? test
d????????? ? ? ? ? ? test1
d????????? ? ? ? ? ? test2
d????????? ? ? ? ? ? test3
w:可以對此目錄下的所有的文件及目錄進行相關的更改 具體權利如下:
可以在此目錄下創建新的文件或目錄;
可以在此目錄下刪除存在的文件或目錄(不論該文件的權限是什麼,這點要格外注意!!!!)
可以重命名及改變文件或目錄的位置。
x:目錄沒有可執行的權限,因此目錄中x的功能就是允許別的用戶進入這個目錄。
假如你想制作一個只讀文件
需要保證對文件的權限是4
對文件所在文件夾的權限是r_x
因為沒有x 則無法進入該文件讀取文件的內容,有了w則用戶可以將該文件刪除
磁盤格式化後文件系統就將inode和block規劃好了,除非有改變磁盤大小或者格式的操作,否則inode和block不在變化。
在linux下 新建一個目錄時,ext2會分配一個inode和至少一個block給該目錄。
其中 inode記錄該目錄的相關權限與屬性,以及那些分配給該目錄的block塊號。
block記錄了這個目錄下的文件名和該文件名占用的inode
新建一個文件時,ext2會首先找到該文件所在的目錄,
分配一個inode和 該文件大小所需的block給該文件,並且在該目錄的block中記錄下文件名和該文件名占用的inode。
inode中記錄了文件的屬性(不包括文件名)以及該文件實際存放在的block的號碼(三級)
由以上說明可知
1 當讀取一個文件時,必然要先讀取其目錄的inode 找到目錄所占的block 從而找到 文件所在的inode,再跟據inode的三級索引找到實際的文件。
2 文件名只與所在目錄有關 而文件的屬性和此文件的inode有關。
不同的文件名可以指向同一個inode 這就時所謂的hard link (連接字段的含義就是有多少不同的文件名都連接到了這個inode)
軟連接是 建立一個指向相應文件名的連接, 當那個文件名被刪除的時候,整個路徑就不通了。
硬鏈接原文件&鏈接文件公用一個inode號,他 們是同一個文件,而軟鏈接原文件&鏈接文件擁有不同的inode號,他們是兩個不同的文件;在文件屬性上軟鏈接明確寫出了是鏈接文件,建立軟鏈接就是建立了一個新文件。當訪問鏈接文件時,系統就會發現他是個鏈接文件,它讀取鏈接文件找到真正要訪問的文件。