Linux的ext4文件系统学习笔记
補充:設備獨立性
Linux中,設備驅動以文件形式表示,用戶操作邏輯設備就是操作文件,而不是具體的物理設備,也就是說,用戶操作的是功能,是黑箱,而不是真正的實體。
APP操作的都是邏輯設備,而邏輯設備到物理設備,是系統(tǒng)自動完成。
就像虛擬地址由MMU轉換為物理地址。
文件系統(tǒng)、分區(qū)和掛載
Linux有一個完整的文件系統(tǒng),文件系統(tǒng)下的不同目錄,可以分布在不同的磁盤分區(qū),而聯(lián)系的方式就是掛載。
同時,掛載方式也比較自由,比如根目錄 /掛載在分區(qū)1,然后根目錄下的子目錄 /home可以掛載在分區(qū)2.
ls與du命令查看文件大小有差異的原因
一般來說,du命令查看的文件大小,是大于等于ls查看的,而我們日常查看的文件實際大小,都是ls命令。
ls查看的是文件的實際大小,而du查看的是分配給文件的內存大小。
這為什么有區(qū)別呢?因為分配給文件的時候,是一塊一塊分配的,而不是一個字節(jié)一個字節(jié)分配的,這也就是意味著,如果沒有占滿一塊,也需要分配一塊,這也就是ls和du的差異來源。
通常來說,我們用的一塊是4KB,因此du查看的都是4k的整數(shù)倍。
我們可以看到其實際大小小于4k,但是占用了4k的空間。
The du command shows how much disk space is used for the given file.
In contrast, the ls command shows the size of the file. The space used can be larger than the file size, depending on the filesystem used.
inode & datablock
再進一步解釋一下,Linux的ext4文件系統(tǒng),實際存儲文件的時候,就像火車頭一樣,使用
- 車頭:1個i節(jié)點
- 車廂:多個數(shù)據(jù)塊
然后將車頭、車廂都勾起來,就能夠存儲一個文件的基本信息和數(shù)據(jù)信息了。
其中,inode存儲的是橘色部分的信息,而文件名存儲在當前文件夾的父文件夾(文件)的inode中,也就意味著,對于文件夾結點,它存儲了這些基本信息,還存儲了其子目錄的文件名。
而文件內的數(shù)據(jù),則存儲在datablock中。
總結
以上是生活随笔為你收集整理的Linux的ext4文件系统学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装win10和Linux双系统的个人经
- 下一篇: Linux 0.11 内核解析:中断相关