【问题标题】:Calculate disk usage on bash. sum of files bigger than space used,计算 bash 上的磁盘使用情况。大于已用空间的文件总和,
【发布时间】:2018-12-05 19:18:13
【问题描述】:

我正在尝试计算过去 365 天内创建的文件使用的大小

使用此答案提供的信息 calculate total used disk space by files older than 180 days using find

find . -type f -mtime -1 -printf '%s\n' | awk '{total=total+$1}END{print total/1024}'

它必须工作,但结果与预期不符,结果高于文件夹大小。

所以我只用一个文件夹做了一个简单的测试,没有按日期过滤。

[log]$ du
601407  .
[log]$ find . -type f -printf '%s\n' | awk '{total=total+$1}END{print total/1024}'
720779

DU 的结果大于文件的单个 SUM。 为什么?

我的文件夹在几个子文件夹中包含数千个

【问题讨论】:

  • %s 以字节为单位显示文件的大小。 du 以块为单位计算磁盘空间。如果一个文件只有 1 个字节,它仍然使用一个完整的磁盘块。
  • 嗨@Barmar,但 %s 比 du 大...如果 du 以块为单位获取磁盘空间,应该更大......
  • 对。 du 不计算稀疏文件中跳过的块,请参阅链接问题。

标签: bash du


【解决方案1】:

使用

du --apparent-size

解决@matias-barrios 和@barmar 指出的我的问题

更多信息https://superuser.com/questions/94217/why-ls-and-du-show-different-size

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-28
    相关资源
    最近更新 更多