Ubuntu 22.04下目录硬链接字段解析及ls命令total值疑问
Ubuntu 22.04下目录硬链接字段解析及ls命令total值疑问
嘿,我来帮你捋清楚这个困惑~
首先咱们先搞懂ls输出里的total到底是什么意思:它代表当前目录下所有列出的条目(文件/目录)占用的磁盘块总大小,默认每个磁盘块是4096字节(也就是4KB),所以total的数值是总块数×4KB换算成KB后的结果。
看你给出的例子:
- 当你执行
ls -l时,只显示了4个用户目录,每个目录在磁盘上占用1个4096字节的块,4×4096=16384字节,也就是16KB,所以输出里的total 16就是这么来的。 - 而
ls -la会显示隐藏条目,这里多了两个关键的隐藏目录:.(代表当前目录本身)和..(代表上级目录,也就是根目录/),这俩也各自占用1个4096字节的块。现在总共有6个条目,6×4096=24576字节,也就是24KB,所以total变成了24。
另外顺便给你解释一下目录那串权限后面的数字(比如drwxr-x--- 19 farah farah...里的19):这是目录的硬链接数。目录默认有2个硬链接:一个是它自己的名字(在父目录里的条目),另一个是它内部的.(指向自己)。每在这个目录下创建一个子目录,子目录里的..会额外给这个目录增加1个硬链接,所以硬链接数=2 + 子目录数量。比如farah目录的19,就说明它里面有17个子目录(19-2=17),是不是一下子就明白这个数字的含义啦?
备注:内容来源于stack exchange,提问作者Muhammad Hussain
相关产品推荐
相关产品推荐

