V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
sy52676
V2EX  ›  Linux

关于文件系统,文件占用空间和目录占用空间的问题

  •  
  •   sy52676 · 2018-07-29 12:14:14 +08:00 · 3305 次点击
    这是一个创建于 2302 天前的主题,其中的信息可能已经有所发展或是发生改变。
    学到文件系统管理这里,有一些不明白的地方:

    block size 是 4k

    目录内文件少的话占用一个 block,也是 4k

    但是为什么一个很小的文件,显示的占用空间是实际的占用空间而不是 4k 呢?

    书上说,即使只有很少的内容,也会分配一个 block 给它,而且这个 block 是不能再使用的

    那应该占 4k 不是吗?

    希望有明白的老哥不吝赐教!
    10 条回复    2018-07-30 03:16:13 +08:00
    Andiry
        1
    Andiry  
       2018-07-29 12:19:36 +08:00
    不同的文件系统实现不同,有的小文件可以共享块,有的把文件内容和元数据放一起,大致如此
    niubee1
        2
    niubee1  
       2018-07-29 12:28:24 +08:00
    操作系统显示的又不是直接把占了几个块就直接乘以 4K 返回给你的, 你还是多看看文件系统的实现更好一点. 其实自己实现一遍更能够搞明白为什么要这么设计
    des
        3
    des  
       2018-07-29 12:28:44 +08:00 via Android
    在 NTFS 上面看到的,大小 2.85kb,占用 4.00kb
    确实是占了一个块
    lance6716
        4
    lance6716  
       2018-07-29 12:43:05 +08:00 via Android
    Unix File System 还是啥,看的哪本书
    kliux
        5
    kliux  
       2018-07-29 12:44:55 +08:00 via iPhone
    路过。
    msg7086
        6
    msg7086  
       2018-07-29 14:38:05 +08:00
    有些文件系统支持内联数据,可以把少量的文件内容直接写入 inode 或者类似的元数据里,不需要单独开一个 block / cluster。
    sxzzsf
        7
    sxzzsf  
       2018-07-29 18:19:58 +08:00
    用的什么命令查看的占用空间?
    du -s file
    返回占用的空间
    sy52676
        8
    sy52676  
    OP
       2018-07-29 22:51:22 +08:00
    @sxzzsf ll file 或者用 du 都是一样的
    sy52676
        9
    sy52676  
    OP
       2018-07-29 22:52:07 +08:00
    @msg7086 是 EXT4 哦 这个文件系统是有这样的机制吗?
    msg7086
        10
    msg7086  
       2018-07-30 03:16:13 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1682 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.