我有一些du -h返回的文件512,我的理解它应该返回带有单位的数字。这是什么意思 ?实际使用的磁盘空间是多少?
好文件
(base) -bash-4.2$ du -h 2020.110/drr0/X1.0060_0958
36K 2020.110/drr0/X1.0060_0958
(base) -bash-4.2$ ls -l 2020.110/drr0/X1.0060_0958
-rw-rw-rw- 1 user11 users 36628 Jul 29 18:43 2020.110/drr0/X1.0060_0958
Run Code Online (Sandbox Code Playgroud)
坏文件
(base) -bash-4.2$ du -h 2020.110/drr0/X1.0060_0957
512 2020.110/drr0/X1.0060_0957
(base) -bash-4.2$ ls -l 2020.110/drr0/X1.0060_0957
-rw-rw-rw- 1 user11 users 0 Jul 29 18:51 2020.110/drr0/X1.0060_0957
Run Code Online (Sandbox Code Playgroud)
use*_*686 11
du 从不显示单位。请注意,在这两种情况下,输出中都没有“B”(表示字节)——“人类可读”模式只显示乘数前缀(K、M、G)而不是单位本身。由于 1024 以下的数字没有前缀,所以没有显示。
通常 'du' 以块为单位测量文件(参见手册页),但使用 '-h' 选项时,单位始终为 1 个字节。所以当du -h显示时512,那是 512 个字节。
为什么是 512 而不是 0?看 phuclv 的回答
文件并不总是占用磁盘空间。数据块少于实际大小的文件将报告为较少的块数
可能您的文件已内联。由于它没有分配的块,报告的数量ls将为 0。您可以使用 轻松检查stat。在 ext4 中,只能内联与 inode 大小(256+ 字节)相比非常小的文件,因此您可能正在使用其他文件系统,例如 NTFS 或 Btrfs
您可以使用中的--apparent-size选项du查看实际尺寸
--apparent-size打印表观大小,而不是磁盘使用情况;尽管表观大小通常较小,但由于(“稀疏”)文件中的漏洞、内部碎片、间接块等原因,它可能会更大
| 归档时间: |
|
| 查看次数: |
677 次 |
| 最近记录: |