linux - 通过 'truncate -s' 创建的文件无法获得预期大小

标签 linux truncate

我使用 truncate -s 1024M a.test 创建了一个文件。 我期望 a.test 的文件大小为 1024M,但不知何故没有得到正确的大小。

下面是我的代码。

$du -sh a.test
4.0K    a.test

当使用ls -l a.test时,可以:

$ ll a.test
-rw-rw-r-- 1 work work 1073741824 Jul 12 17:26 a.test

有人可以帮我解决这个问题吗?

最佳答案

du 告诉您实际使用了多少磁盘空间。由于您的文件中没有任何数据,操作系统会将其存储为稀疏文件,因此实际磁盘使用量远小于文件大小。如果您使用“du --apparent-size -sh a.test”检查它,那么它将报告您所期望的。

关于linux - 通过 'truncate -s' 创建的文件无法获得预期大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57004210/

相关文章:

c - 与位置无关的代码差异 : x86 vs x86-64

string - 如何获取要在 Tkx 标签中使用的字符串的 "width"

mysql - 在 mySQL 中设置最大行数并自动截断

Python 字符串格式 - 限制字符串长度,但修剪字符串开头

linux - 如何在 Docker Hub 中过滤基于 Windows 或基于 Linux 的容器?

sql - 检查 `isql`查询是否成功

php - 在 Linux 上升级 PHP 版本 5.6 -> 7 个问题

c++ - 如何在excel中使用标准输入 '<'?

ruby-on-rails - Rails使用悬停功能截断