鳥哥Linux私房菜基礎學習篇 第二部分 Linux 文件、目錄與磁盤格式_Linux文件權限與 目錄配置_Linux磁盤與文件系統管理

1.磁柱是分割槽的最小單元,分割槽的第一扇區記錄了磁柱的起始終止位置,包括了MBR和分割表。node

2.爲何要格式化磁盤呢,由於每種操做系統文件配置的屬性權限不相同,爲了存儲這些文件所需的數據,須要將分割槽進行格式化,以成爲操做系統能力利用的文件系統格式,文件權限屬性放在inode和數據內容放在date block,還有一個superblock用來記錄文件系統總體信息,包括inode,dateblock總量,使用量,剩餘量等。下面是linux的文件系統的存儲格式,能夠一口氣讀出多個block,甚至併發讀取,很像GFS的nameNode和block模式。索引讀取這種格式是比較少使用磁盤整理功能的。linux

下面是FAT文件系統格式,有點像鏈表,若是存的時候block分撒的厲害,磁盤很難轉一圈就讀出全部數據,可能會多轉幾圈讀取,因此性能相對ext2可能較弱些。這就是windows有時候須要碎片整理的操做,目的就是把這些過於離散的block聚合在一塊兒以改善讀取的效率。windows

3.而實際的ext2像下表格式所示,實際上又會被分割成多個block羣,每一個小的block實現本身的索引功能。這樣固然是避免inode和block過大不利於管理和效率問題考慮。這種設計不但能夠支持多系統引導,由於啓動區和MBR是分開的,就不用從新格式化整個分區了。架構

4.block的特色是隻能存放一個文件的數據,用不了的就空着,file放不下的就多放幾個block。因此block的大小是要均衡的,若是文件比bLock小,且數量較多,那麼很容易形成使用的浪費。若是太小,inode記錄的信息又過多,也會形成索引效率的降低,因此要考慮您將使用的文件大小來規劃block的大小。併發

5.inode記錄了文件的權限屬性內容和隱藏屬性外還有block真正內容的指向信息。inode大小固定128bytes,一個文件佔用一個inode,能建立的文件數與inode數量有關。若是文件很大,那inode就用第二指向和第三指向來尋找這些block。若是按1k的block來計算,三間接的能夠到16G的文件。性能

6.「每筆 block 號碼的記錄會花去 4bytes,所以 1K 的大小可以記錄 256 筆記錄,所以一個間接能夠記錄的文件大小如」,個人理解是它只是舉了個例子,其實徹底能夠用超過1k的容量去存放更多的block號碼,這個就是由相關的架構來決定了。操作系統

7.superblock記錄了整個文件系統的信息,因此很是重要,甚至是其他blockgroup的備份共享信息。設計

8.filesystem description中記錄了superblock,bitmap,inode bitmap。指針

9.bitmap中記錄block的使用映射狀況對照,就是那些用了,那些沒用。iode bitmap記錄的是inode的使用狀況對照表。只不過看了看不少存儲都和block有關係。日誌

10.文件系統詳細信息能夠用dumpe2fs -h來查看,大部分和block相關,使用時候可能block滿了,inode可能還有剩餘信息。

11.目錄和文件是怎麼在ext2中是如何記錄數據的呢?下面是目錄存儲後有一個inode和佔用的block,block是記錄了這個目錄下的文件名與文件佔用的inode號碼數據。ll展現時候通常都是1024的倍數,由於block大小通常是1,2,4的倍數。

這樣理解,雖然目錄是存放檔名和檔對應的inode映射信息的,若是1個block放不下,那也可能用多個block來保存。

12.由於文件的inode並不會保存文件的名稱,而是由目錄來得到文件名稱的,因此每次都是經過目錄的inode和block找着對應文件的inode號碼得到block的值的。就這樣經過目錄inode信息得到block再獲下個目錄inode信息知道找到對應的文件inode,再找file的inode的每一個步驟中都會判斷權限是否知足,知足並找到了block就讀取出信息。

13.還說過filesystem大小適中的話比較適合性能好效率的考量。

14.存數據時候,根據inodebitmap,blockbitmap信息存放到對應的空的節點上後,再更新對應的supblock及innodebitmap,blockbitmap,他們都是中間數據metadata。若是中途出現意外在更新metadata時形成inconsistent,要從新check一遍數據,若是大而多那得超級慢了。

15.爲了解決這個問題,在filesystem中開闢出一塊記錄操做日誌的地方記錄寫文件的步驟,完畢後去完成這個日誌,這樣就能檢查出問題的日誌而不是整個filesystem了,我想這個filesystem的大小比inodebitmap等要小不少,要麼速度也不會很快。ext3的提出是ext2的升級,日誌系統有了一個良好的升級。

16.因爲修改時是在內存中進行的,完成後才寫到磁盤上,能夠將經常使用的文件放到主存區的緩衝區,sysnc後會將dirty數據回寫到磁盤中,若是掉電,有時重啓會進行長時間的磁盤校驗,甚至文件系統損毀。

17.並非你有文件系統就能使用,你必需要掛載到目錄樹上的某目錄,目錄就是文件系統的入口。

18.咱們能夠查看不一樣文件名的inode號是否相同確實是否爲同個文件。這就是/ /. /..是相同文件的體現。

19.每一個磁盤分區的文件系統格式可能不一樣,咱們掛載到目錄樹上後,訪問某分區的文件並無指定具體的文件系統格式,那VFS會主動幫咱們作好讀取的準備動做。

20.df -h / 能夠查看某目錄的容量了。若是根節點剩餘的空間比較少了就要注意了。

21. du -sh /etc,du -sh /war/* 。要說常常用的可能就是,某目錄某文件了,由於ll列出的要是目錄只有目錄的結構信息的容量,看文件目錄或文件的總容量仍是的上面的命令。還有一個常被使用的功能,就是列出全部目錄那個次目錄佔用的空間較大能夠找出來。

22.hardlink只是目錄下新增一筆檔名,而後鏈接到某個inode號碼的關聯記錄而已。不一樣目錄的inode對應的不一樣block檔名不一樣,即便刪除某個硬鏈接檔名仍是會經過另一個檔名找到和修改實際的文件的。

通常hardlink佔用的數據很小,因此新建一個鏈接通常不會佔用掉磁盤空間的。(雖然有時可能正好block滿了)。目錄如今是不能創建硬鏈接的,由於目錄數據若是創建硬鏈接的話每次更新都會同步,這個工程太比較繁瑣。硬鏈接有個特色就是隻要一個硬鏈接存在,真實的數據就不會被清除。

23.softlink由於會建立一個新的文件鏈接,至關於new一個指針鏈接,因此會佔用必定的空間。

24.hardlink只要有一個存在,實際的文檔的就不會被刪除,仍是依然能夠打開的。因爲softlink和原始檔是關聯的,因此對softlink的修改其實是對原始檔的修改。

25.建立目錄時會增長兩個link的數量,一個是. 還有一個是 ..,因此說目錄中可使用它們的鏈接指向進行跳轉。

26.磁盤分割,格式化,校驗,掛載。這些是加入一個新磁盤須要考慮的問題,具體的配置信息是須要按用途經驗的管理的。

a.其中fdisk -l仍是比較經常使用的,能夠列出磁盤的partation信息。b.df 後而後用fdisk /dev/sda2查看時可能會提示管理磁柱的範圍有限。裏面有一些操做信息,只有w後纔會生效。

相關文章
相關標籤/搜索