我需要计算 NTFS 驱动器上的文件夹(及其子文件夹)下创建的“真实”文件的大小,其中“真实”是由于硬/软链接、连接等而不存在的所有文件。
目前有什么工具可以做到这一点?(命令行或图形)
更多细节:
我猜这种能力只有在适当的情况下才会有用,所以,为了避免因猜测我“真正想如何使用它”而产生疑问,我会提前提到我的用例……
我已经开始使用韓國我正在尝试评估实际磁盘使用情况。鉴于该node_modules
文件夹(由 创建时pnpm
)包含指向pnpm
商店的链接文件夹,我知道这些文件夹中的文件不应计算在内。目录统计似乎忽略了这些文件夹,但我需要确定这一点。
更新(2019/12/02):
这似乎比我想象的要复杂。请参阅此问题:添加大小/磁盘使用情况基准。
答案1
一种方法是使用FSCTL_获取_NTFS_文件_记录. 链接是文件记录的属性。
作为奖励,它将枚举dir
命令不会显示的内容($MFT、$LogFile 等)。
答案2
这样的事情对你不起作用吗?
(Get-ChildItem -Recurse 'node_modules' |
? { $_.LinkType -eq $Null } |
Measure-Object -Sum Length).Sum
$_.LinkType -eq $Null
过滤掉所有链接类型。
答案3
使用 du 不足以不追踪链接。您可以使用此代码:
find /home/somedirectory/ -exec du -s {} + | awk '{total = total + $1}END{print (total / 1024 / 1024) "MB"}'