Linux中ll -h和du -h 查看的文件大小,同一个文件du -h的结果大很多

Linux中ll -h和du -h 查看的文件大小,同一个文件du -h的结果大很多_第1张图片

当使用 ll -hdu -h 查看同一个文件的大小时,可能会看到两者的结果不同,这是因为它们计算文件大小的方式有所不同

  1. ll -h 的结果

    • ll -h(或其完整形式 ls -lh)会显示文件的大小,但这个大小可能只是文件内容的实际大小,并不包括文件的元数据或者间接块(indirect blocks)。
    • 对于小文件或者数据量不大的文件,ll -h 的结果可能与 du -h 的结果相似或者相同。
  2. du -h 的结果

    • du -h 会递归地计算目录及其子目录中所有文件的磁盘使用量。
    • du 实际上计算的是文件或目录在磁盘上占用的所有块的大小,这包括文件内容元数据间接块等。
    • 因此,对于某些文件(特别是大文件或者稀疏文件),du -h 的结果可能会大于 ll -h 的结果。

如果 du -h 的结果远大于 ll -h 的结果,那么可能是以下几种情况之一:

  • 文件是一个稀疏文件,du 计算了整个文件的实际大小,而 ll 只显示了文件内容的大小。
  • 文件有硬链接,du 会为每个硬链接都计算独立的大小,而 ll 只计算一次。
  • 文件有被其他进程打开或者写入,导致 dull 的结果不一致。

总之,ll -hdu -h 的结果可能会有所不同,具体取决于文件的类型、大小、属性和当前系统的配置等因素。在比较文件大小时,根据实际需求选择合适的命令和方法进行。

你可能感兴趣的:(linux,运维,服务器)