Linux的ext4文件系统学习笔记
補(bǔ)充:設(shè)備獨(dú)立性
Linux中,設(shè)備驅(qū)動(dòng)以文件形式表示,用戶操作邏輯設(shè)備就是操作文件,而不是具體的物理設(shè)備,也就是說(shuō),用戶操作的是功能,是黑箱,而不是真正的實(shí)體。
APP操作的都是邏輯設(shè)備,而邏輯設(shè)備到物理設(shè)備,是系統(tǒng)自動(dòng)完成。
就像虛擬地址由MMU轉(zhuǎn)換為物理地址。
文件系統(tǒng)、分區(qū)和掛載
Linux有一個(gè)完整的文件系統(tǒng),文件系統(tǒng)下的不同目錄,可以分布在不同的磁盤(pán)分區(qū),而聯(lián)系的方式就是掛載。
同時(shí),掛載方式也比較自由,比如根目錄 /掛載在分區(qū)1,然后根目錄下的子目錄 /home可以掛載在分區(qū)2.
ls與du命令查看文件大小有差異的原因
一般來(lái)說(shuō),du命令查看的文件大小,是大于等于ls查看的,而我們?nèi)粘2榭吹奈募?shí)際大小,都是ls命令。
ls查看的是文件的實(shí)際大小,而du查看的是分配給文件的內(nèi)存大小。
這為什么有區(qū)別呢?因?yàn)榉峙浣o文件的時(shí)候,是一塊一塊分配的,而不是一個(gè)字節(jié)一個(gè)字節(jié)分配的,這也就是意味著,如果沒(méi)有占滿一塊,也需要分配一塊,這也就是ls和du的差異來(lái)源。
通常來(lái)說(shuō),我們用的一塊是4KB,因此du查看的都是4k的整數(shù)倍。
我們可以看到其實(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
再進(jìn)一步解釋一下,Linux的ext4文件系統(tǒng),實(shí)際存儲(chǔ)文件的時(shí)候,就像火車頭一樣,使用
- 車頭:1個(gè)i節(jié)點(diǎn)
- 車廂:多個(gè)數(shù)據(jù)塊
然后將車頭、車廂都勾起來(lái),就能夠存儲(chǔ)一個(gè)文件的基本信息和數(shù)據(jù)信息了。
其中,inode存儲(chǔ)的是橘色部分的信息,而文件名存儲(chǔ)在當(dāng)前文件夾的父文件夾(文件)的inode中,也就意味著,對(duì)于文件夾結(jié)點(diǎn),它存儲(chǔ)了這些基本信息,還存儲(chǔ)了其子目錄的文件名。
而文件內(nèi)的數(shù)據(jù),則存儲(chǔ)在datablock中。
總結(jié)
以上是生活随笔為你收集整理的Linux的ext4文件系统学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安装win10和Linux双系统的个人经
- 下一篇: Linux 0.11 内核解析:中断相关