du -h和ls -lh有什么区别?

Modified on: Mon, 11 Nov 2019 18:20:02 +0800

我很难掌握读取文件大小的正确方法,因为每个命令都会给你不同的结果。我还在http:/ /forums.devshed.com/linux-help-33/du-and-ls-generating-inconsistent-file-sizes-42169.html说明以下内容;

  

du为您提供文件驻留在文件系统上的大小。 (IE将始终为您提供可被1024整除的结果。)

  
  

ls将为您提供文件的实际大小。

  
  

您正在查看的是文件的实际大小与磁盘上的空间量之间的差异。 (也称为文件系统效率)。

它驻留在文件系统和fil的实际大小之间有什么区别

最佳答案

这称为松弛空间

  

当数据文件小于文件系统能够跟踪的最小数据单元时,在各个位和字节之上的每个抽象层都会导致浪费空间。扇区,簇或块内的这种浪费空间通常被称为松弛空间,并且通常不能用于存储附加数据。对于单个256字节扇区,最大浪费空间为255个字节。对于64千字节集群,最大浪费空间为65,535字节。

因此,如果您的文件系统以64 KB为单位分配空间,并且存储3 KB文件,则:

  • 文件的实际大小为3 KB。
  • 文件的常驻大小为64 KB,因为该单元中的剩余61 KB无法分配给另一个文件,因此会丢失。

注意:某些文件系统支持阻止子分配,这有助于通过分配来缓解此问题多个小文件(或大文件的尾端)到同一个块中。

作者:Handyman5

相关问答

添加新评论