This topic created in 2869 days ago, the information mentioned may be changed or developed.
学到文件系统管理这里,有一些不明白的地方:
block size 是 4k
目录内文件少的话占用一个 block,也是 4k
但是为什么一个很小的文件,显示的占用空间是实际的占用空间而不是 4k 呢?
书上说,即使只有很少的内容,也会分配一个 block 给它,而且这个 block 是不能再使用的
那应该占 4k 不是吗?
希望有明白的老哥不吝赐教!
10 replies • 2018-07-30 03:16:13 +08:00
 |
|
1
Andiry Jul 29, 2018
不同的文件系统实现不同,有的小文件可以共享块,有的把文件内容和元数据放一起,大致如此
|
 |
|
2
niubee1 Jul 29, 2018
操作系统显示的又不是直接把占了几个块就直接乘以 4K 返回给你的, 你还是多看看文件系统的实现更好一点. 其实自己实现一遍更能够搞明白为什么要这么设计
|
 |
|
3
des Jul 29, 2018 via Android
在 NTFS 上面看到的,大小 2.85kb,占用 4.00kb 确实是占了一个块
|
 |
|
4
lance6716 Jul 29, 2018 via Android
Unix File System 还是啥,看的哪本书
|
 |
|
5
kliux Jul 29, 2018 via iPhone
路过。
|
 |
|
6
msg7086 Jul 29, 2018
有些文件系统支持内联数据,可以把少量的文件内容直接写入 inode 或者类似的元数据里,不需要单独开一个 block / cluster。
|
 |
|
7
sxzzsf Jul 29, 2018
用的什么命令查看的占用空间? du -s file 返回占用的空间
|