linux 目录大小到底是怎么计算的?

netxuning 2009-01-13 09:40:40
我在一个目录下 ls -lh
普遍的目录大小为4.0k,但发现个别的有2.7M, 1.6M, 由一个居然19M
但这些目录下只是写琐碎的小文件,加起来不会那么大。
非常不理解ls -lh出来的那个值是如何计算的。

还有就是,这几个上M的目录,我是用来进行大量的琐碎小文件交换的,不知道跟这有无关系!
...全文
1713 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
ospad 2011-01-18
  • 打赏
  • 举报
回复
我想应该是其他操作系统创建的目录吧
xempo 2009-03-31
  • 打赏
  • 举报
回复
我看不要紧,不影响使用。在不同的系统创造的目录,在Linux中观察来也是不同,那怕是空目录。如在DOS中md的,有时是2048 byte。
flyaway57 2009-03-25
  • 打赏
  • 举报
回复
首先,你说了里面写的都是写琐碎的小文件,说明文件很多
linux文件系统是用inode来存储文件的属性,而用Block来存储内容的。而这个inode里面是不存储文件的名字的,所以对于目录来说,它的作用就是通过自己的inode找到自己的block,block里面记录了你这个目录下面文件名和inode的对应,如果你目录下面的文件很多,那么目录的这个block就会很大了。而这个值于你目录里面文件的大小是没有关系的,只和你目录下面文件的个数有关系。

可以看下《鸟哥》,那里有对这部分的解释。
mlgtwyp 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 atmbzn 的回复:]
我也有这样的疑问,明明du -sh directory 看到占用了几个M的空间,但是里面却什么都没有。

而且这个目录下可以创建目录,不能创建文件。
[/Quote]

chmod 777 -R directory
atmbzn 2009-03-19
  • 打赏
  • 举报
回复
我也有这样的疑问,明明du -sh directory 看到占用了几个M的空间,但是里面却什么都没有。

而且这个目录下可以创建目录,不能创建文件。
xinjie777 2009-03-15
  • 打赏
  • 举报
回复
很期待解决 已用3.4M 请人说给谁用了呐
FreeElf 2009-01-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 brookmill 的回复:]
我不太懂文件系统,印象里是这样的:

目录的大小,不是简单的把里面文件大小加起来
文件系统给一个文件分配空间的时候,有一个最小单位(比如1K),对于很小的文件,即使只有1字节,也要占用这么大空间
所以,有很多超小型文件的目录,是很占空间的。假定有上面这样的一个文件系统,如果有1000个1字节的文件,实际要占用1M空间
如果文件特别多,目录还要用很多空间来存放它们的文件名和详细信息

里边什么都没有,3.4M,这…
[/Quote]

对文件系统了解的还不是很好。用ls命令出来的目录大小,不包括里面的文件大小。
用du -sh *才是。-h选项是将大小转换为比较好看的格式,如K,M什么的
xzdwfwt111 2009-01-15
  • 打赏
  • 举报
回复
每个目录下都有两个隐藏文件,建议用ls -a看看
analysefirst 2009-01-15
  • 打赏
  • 举报
回复
是ls -lh
写错了。
analysefirst 2009-01-15
  • 打赏
  • 举报
回复
ls -a 出来的应该是节点的大小。
analysefirst 2009-01-15
  • 打赏
  • 举报
回复
用#du -sh
看当前整个目录的大小


用#du -sh*
看整个当前目录的详细各个子目录的大小



用#df -TH
看硬盘上各个目录的使用的大小。
brookmill 2009-01-13
  • 打赏
  • 举报
回复
windows里面也有类似的现象
看一个文件或者目录的属性的时候,有两个数字,一个是文件大小,另一个是占用磁盘空间的大小。
我刚创建了一个3字节的文本文件,占用空间是4096字节,看来这是NTFS的最小单位
看一个目录的属性的时候,如果这个目录里有很多这样的超小文件,文件大小和占用磁盘空间就会相差很多
brookmill 2009-01-13
  • 打赏
  • 举报
回复
我不太懂文件系统,印象里是这样的:

目录的大小,不是简单的把里面文件大小加起来
文件系统给一个文件分配空间的时候,有一个最小单位(比如1K),对于很小的文件,即使只有1字节,也要占用这么大空间
所以,有很多超小型文件的目录,是很占空间的。假定有上面这样的一个文件系统,如果有1000个1字节的文件,实际要占用1M空间
如果文件特别多,目录还要用很多空间来存放它们的文件名和详细信息

里边什么都没有,3.4M,这个就不懂了
brookmill 2009-01-13
  • 打赏
  • 举报
回复
有没有隐藏文件?用ls -a看过吗?
jtton 2009-01-13
  • 打赏
  • 举报
回复
我都是用:du -sh *
来看的
netxuning 2009-01-13
  • 打赏
  • 举报
回复
又观察到一个目录,里边什么都没有,3.4M!
netxuning 2009-01-13
  • 打赏
  • 举报
回复
说错了
是ls -a
netxuning 2009-01-13
  • 打赏
  • 举报
回复
la -a 没有什么隐藏文件
cuijie_cn 2009-01-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 brookmill 的回复:]
有没有隐藏文件?用ls -a看过吗?
[/Quote]

-

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧