首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

文件夹大小怎么会大于它在磁盘上的大小?

文件夹大小大于它在磁盘上的大小可能是由于以下几个原因:

  1. 硬链接和软链接:在文件系统中,一个文件可以有多个链接指向它,这些链接可以是硬链接或软链接。硬链接是指多个文件名指向同一个文件的实际数据块,而软链接是一个指向另一个文件或目录的特殊文件。当文件夹中存在硬链接或软链接时,文件夹大小会计算为每个链接的大小,而不是实际数据块的大小。
  2. 子文件夹和子文件:文件夹中可能包含其他文件夹和文件,这些子文件夹和子文件的大小也会计入文件夹的大小。因此,文件夹大小会包括其所有子文件夹和子文件的大小之和。
  3. 文件系统的簇大小:文件系统在磁盘上分配空间时,以簇为单位进行分配。簇是文件系统中最小的可分配空间单位,一般情况下,一个簇的大小会大于一个文件的实际大小。当文件大小不是簇大小的整数倍时,文件所占用的簇大小会超过文件实际大小,从而导致文件夹大小大于文件在磁盘上的大小。
  4. 元数据和索引:文件夹中的文件和子文件夹的元数据和索引信息也会占用一定的空间。元数据包括文件名、创建时间、修改时间等信息,而索引用于快速查找文件和文件夹。这些元数据和索引的大小也会计入文件夹的大小。

综上所述,文件夹大小大于它在磁盘上的大小是由于硬链接和软链接、子文件夹和子文件、文件系统的簇大小以及元数据和索引等因素导致的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么快照大小会大于dfwindows explorer看到的大小?

---- 导致快照的大小大于文件系统的大小会有以下几个原因: 如果云盘的某个block曾经写过数据,那么在制作快照时这个block将会永远被记录到快照中。...也就是假如曾经写入过一个100GB的文件,那么即使后续删除了这个文件,快照的总大小也永远会大于100GB 删除数据时,文件系统只是修改元数据,并不会释放block,再打快照时还是会按照实际占用的磁盘空间来备份...另外,根据文件系统分配block的策略,新创建的文件占用的空间不一定会复用以前已删除的文件的空间,所以随着使用时间的增加,快照的总大小一定会逐渐大于用户看到的文件系统层面的大小。...也就是假如我的D盘始终保持到20GB的使用空间,但是在频繁的创建和删除文件,那么做出来的快照一定是大于20GB的;windows的系统盘做出来的快照一般也是会大于在系统内看到的大小的,因为windows...文件系统元数据的大小可以按照磁盘大小的2%~5%左右来预估

1.1K50

技巧:在磁盘上查找 MySQL 表的大小

这个看似简单的问题实际上在 MySQL 中非常复杂。MySQL 支持许多存储引擎(其中一些根本不在磁盘上存储数据), 不同的存储数据格式。...简化一下:我们如何在磁盘上查找存储在其自己的表空间中的 InnoDB 表的表大小(前提是 innodb_file_per_table=1 )。...,它还处理新功能 “InnoDB 页压缩”,正确显示了 file_size (磁盘上的逻辑文件大小)和 allocated_size(为此文件分配的空间,并且可以显着缩小)之间的区别。...如果在 MySQL 5.7 中使用新的 InnoDB 压缩(InnoDB 页压缩),您将看到与文件大小相对应的值,而不是如 information_schema 中所示的分配大小。...结论 回答一个微不足道的问题“这个表在磁盘上占用了多少空间?” 在 MySQL 中真的不是一个简单的问题 - 显而易见的数据,可能会得到错误的答案。

3.2K40
  • 如何查看当前目录下的文件夹大小

    du -sh*查看当前目录下的文件夹大小 u 命令 用途 概述磁盘使用。...由于块计数只基于文件大小,所以在报告的块数中,未分配的块是没有包含进去的。 如果du得不到文件属性,或者无法读取目录,它就报告一个错误,并且会影响命令的退出状态。...-H 如果在命令行指定了符号链接,du 命令将统计链接引用的文件或文件层次结构的大小。 -k 用 1024 字节单位计算块数,而不是用缺省的 512 字节单位。...-x 在评估文件大小时,只评估那些与File参数指定的文件或者目录驻留在相同设备上的文件。例如,您可以指定一个在多个设备上包含文件的目录。...这种情况下,-x标志就为与目录驻留在相同设备的所有文件显示块的大小。 如果指定了全部-k、-m和-g标志,或者是其中任意两个,最后指定的那个起作用。

    3.2K50

    统计文件夹下某类文件大小的小脚本

    背景需求 我的站点使用 hexo 生成静态文件存放在新浪云服务器上,因为静态文件都做为代码存放上传,新浪云默认提供的代码空间是100M,因此我经常关注 hexo 生成的 public 文件夹的使用情况。...由此产生了一个需求,我需要统计 pubic 文件夹下(包括子文件夹)图片占用的空间大小。 统计脚本 经过几个小时的编写,终于完成了这个统计脚本 count_file.sh 。...支持统计某个文件夹下(包含子文件夹)某一类文件的大小,或者除某一类文件外其他文件的大小。 #!.../bin/bash # 统计一个目录下指定类型或限制某种类型以外的文件的大小,包括子目录 help() { echo "Description: 用于查找某个目录下特定类型文件的数量和总的大小,...其中 html 文件大小占用了 11M 的空间,而图片占用了 79M 的空间。如果后续的文章还要放很多图片的话,很快源码空间就会使用完,看来是要考虑准备用图床的方案来存放博客的图片了。

    1.3K20

    PHP递归实现文件夹的复制、删除、查看大小操作示例

    本文实例讲述了PHP递归实现文件夹的复制、删除、查看大小操作。...所以只能手动编写这些函数,主要的技巧是通过递归将问题逐层分解,直到分解成可以直接解决的最小子问题。 查看文件夹大小 由于文件夹是没有大小的,平常所说的文件夹尺寸准确的说应该是文件夹中所有文件的总大小。...所以只需要将文件夹逐层查找,统计每一层所包含的文件大小,最后将结果从最深的文件夹返回合并。.../** 文件夹大小 @param $path @return int */ function dirsize($path) { $size = 0; $handle = opendir($path);...文件是可以复制的,文件夹是不能复制的(但可以创建),如果要达到复制文件夹的效果,就需要生成一个和原始文件夹相同目录结构的新文件夹,然后将文件按照原目录结构复制到新文件夹。

    89120

    PHP递归实现文件夹的复制、删除、查看大小操作示例

    本文实例讲述了PHP递归实现文件夹的复制、删除、查看大小操作。...所以只能手动编写这些函数,主要的技巧是通过递归将问题逐层分解,直到分解成可以直接解决的最小子问题。 查看文件夹大小 由于文件夹是没有大小的,平常所说的文件夹尺寸准确的说应该是文件夹中所有文件的总大小。...所以只需要将文件夹逐层查找,统计每一层所包含的文件大小,最后将结果从最深的文件夹返回合并。...文件是可以复制的,文件夹是不能复制的(但可以创建),如果要达到复制文件夹的效果,就需要生成一个和原始文件夹相同目录结构的新文件夹,然后将文件按照原目录结构复制到新文件夹。...于是删除文件夹的思路就有了,先通过 unlink 删除目录下的所有文件,再通过 rmdir 删除剩下的空文件夹。

    99920

    linux查看某个文件夹的大小(ls命令、du命令详解)

    ls 命令:列出当前工作目录下的所有文件/文件夹的名称 使用ls -l,会显示成字节大小,ls- lh会以KB、MB等为单位进行显示更加直观。...du 命令:查看当前目录和子目录文件夹/文件大小情况 du = disk usage 磁盘使用率,输出每个文件或者目录总大小,其用法如下: du [OPTION]… [FILE]… -c, --total...累计大小 -d, --max-depth=N 决定统计每个目录的深度 -B, --block-size=SIZE 决定显示文件大小的单位;比如 ‘-BM’,就是MB,'-BK’就是KB -h, --human-readable...以高可读方式打印 (比如1K 234M 2G) -s, --summarize 显示总大小 du -sh:查看当前目录总大小。...du -sh *:查看当前目录所有子目录大小。 du -ach *:查看当前目录和所有子目录大小,最后一行会显示当前目录的总大小,不包括隐藏文件。

    81.8K71

    Java 如何获得一个文件或文件夹的大小

    有时候我们需要知道一个文件的大小。 我们可以使用一些方法,比如说将文件读取成 InputStream,然后再使用 available() 获得长度就可以了。...使用的方法是: FileUtils.sizeOf(localFileCache) localFileCache 中定义的是文件对象。 关于 sizeOf 的使用为:返回指定的文件或者文件夹的大小。...如果你的 File 对象为一个文件的话,这个方法将会返回文件的大小。 如果你的 File 对象为一个目录的话,那么上面的方法将会返回这个文件夹的大小。...这个文件夹的大小将会包含这个文件夹中所有子文件夹的内容。换句话说,这个方法是进行递归大小查询的。...但是,如果一个文件夹或者子文件夹有安全限制,不允许访问的话,那么这个方法将不会将上面的文件夹的内容进行计算。 https://www.ossez.com/t/java/620

    2.6K10

    PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法

    本文实例讲述了PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法。...分享给大家供大家参考,具体如下: 前面一篇 PHP递归实现文件夹的复制、删除、查看大小操作 分析了递归操作使用技巧,这里再来分析一下迭代的操作技巧。 “既然递归能很好的解决,为什么还要用迭代呢”?...查看文件夹大小 迭代的思路是让计算机对一组指令进行重复执行,在每次执行这组指令时,都从变量的原值推出其它的新值……重复这一过程直到达到结束条件或没有新值产生。...$item . '/'); } closedir($handle); } return $target; } 删除文件夹 抛开语言特性影响性能最多的就是冗余代码了,冗余代码通常是由于设计不到位而产生的...比如这个用迭代实现的文件夹删除函数,速度就比递归要慢20%,主要原因是空文件夹的判断,在递归中当文件夹没有子文件夹时,函数会直接删除所有文件和当前文件夹,递归结束。

    67260

    在Linux系统下限制指定目录的大小以及文件文件夹数量

    背景说明 在Linux操作系统下有时需要限制一个指定文件夹的大小和文件夹内可存储的文件数量,有可能是出于安全的考量或者定制化的配置,这里我们提供了一种方案:用dd创建一个空的img镜像,进行格式化的配置...,然后将其绑定到指定的文件夹上可以限制该文件夹的一些属性。...这里的innode数量是Linux系统对于文件和文件夹的一个标识符号,每一个文件或者文件夹都有这个标识,如果只给这个挂载盘分配5个可用的innode,这表示在该目录下最多只能存在5个的文件或者文件夹,这里让我们用实际的案例来测试一下...,接下来把这些文件都删除后,测试一下文件夹大小的限制: [dechin-manjaro test-dir]# dd if=/dev/urandom of=test.img bs=10M count=1...,但是由于目录本身的限制,以及lost+found这个目录已经占用了一部分的资源,因此最终只有9M的文件大小能够分配成功。

    7.7K40

    在Linux系统下限制指定目录的大小以及文件文件夹数量

    背景说明 在Linux操作系统下有时需要限制一个指定文件夹的大小和文件夹内可存储的文件数量,有可能是出于安全的考量或者定制化的配置,这里我们提供了一种方案:用dd创建一个空的img镜像,进行格式化的配置...,然后将其绑定到指定的文件夹上可以限制该文件夹的一些属性。...这里的innode数量是Linux系统对于文件和文件夹的一个标识符号,每一个文件或者文件夹都有这个标识,如果只给这个挂载盘分配5个可用的innode,这表示在该目录下最多只能存在5个的文件或者文件夹,这里让我们用实际的案例来测试一下...,接下来把这些文件都删除后,测试一下文件夹大小的限制: [dechin-manjaro test-dir]# dd if=/dev/urandom of=test.img bs=10M count=1...,但是由于目录本身的限制,以及lost+found这个目录已经占用了一部分的资源,因此最终只有9M的文件大小能够分配成功。

    3.7K10

    PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法

    本文实例讲述了PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法。...分享给大家供大家参考,具体如下: 前面一篇 PHP递归实现文件夹的复制、删除、查看大小操作 分析了递归操作使用技巧,这里再来分析一下迭代的操作技巧。 “既然递归能很好的解决,为什么还要用迭代呢”?...查看文件夹大小 迭代的思路是让计算机对一组指令进行重复执行,在每次执行这组指令时,都从变量的原值推出其它的新值……重复这一过程直到达到结束条件或没有新值产生。.../** 文件夹大小 @param $path @return int */ function dirsize($path) { / 初始条件 / $size = 0; $stack = array();...比如这个用迭代实现的文件夹删除函数,速度就比递归要慢20%,主要原因是空文件夹的判断,在递归中当文件夹没有子文件夹时,函数会直接删除所有文件和当前文件夹,递归结束。

    72220

    高效的选择:将键盘上的大小写锁定键 CapsLock 与退出键 Esc 交换位置

    简介:每个人的操作习惯不同,但你或许可以参考下我的心得:学会使用 Esc ,对于操作计算机事半功倍。为了更方便地按到 Esc ,不妨将其在键盘上的位置与大小写锁定键 CapsLock 互换。...如果你习惯使用 Shift 切换大小写,那么在你左手小指处的 caps lock 大小写锁定键几乎没有用武之地。 你或许可以选择 Topbook 推荐的这个插件: ?...CapsLock+ 视频简介: •https://www.bilibili.com/video/BV1L44 软件链接: •https://capslox.com/capslock-plus/ 这个大小不足...如上,有几处有趣的地方: •第一行 00 00 00 00 与 00 00 00 00 为固定格式•第二行 03 00 00 00 表示后面还有 3 个指令•第二行 3A 00 01 00 把键盘上的...3A 00 映射到 01 00 上,01 00 是 esc 键,3A 00 是 caps lock 键•第三行 01 00 3A 00 把键盘上的 01 00 映射到 3A 00 上•第三行 00 00

    3K40

    写一个宏定义,不用大于号小于号和if,判断正整数a,b的大小

    今天分享一个有意思的题目,考察了两个C语言容易被忽视的知识点。 题目: 写一个宏定义,不用大于号>、小于号的大小。...b:a 解答: 0x80000000 的二进制是:1000 0000 0000 0000 0000 0000 0000 0000(第一位是符号位,所以此数是负数) 如果a-b是正数:根据二进制数的表示..., 分为符号位跟数值位,0正1负,所以a-b的最高位是0,那么与上1000 0000 0000 0000 0000 0000 0000 0000之后,三元运算符判断条件结果是0,输出a 如果a-b是负数...1000 0000 0000 0000 0000 0000 0000 0000之后,三元运算符判断条件结果是1,输出b 考察知识点: 1、与或非 2、三元运算符 拔高题(大厂笔试题): 写一个宏定义,不用大于号...,判断正整数a,b的大小。 大家可以在评论区留下自己的答案,最优秀的答案有红包奖励。

    97220
    领券