【发布时间】:2013-12-05 04:31:00
【问题描述】:
基本上我想要df -h 的输出,其中包括可用空间和卷的总大小。该解决方案需要在 Windows、Linux 和 Mac 上运行,并使用 Go 编写。
我查看了 os 和 syscall Go 文档,但没有找到任何东西。在 Windows 上,即使是命令行实用程序也很笨拙 (dir C:\) 或需要提升权限 (fsutil volume diskfree C:\)。当然有一种方法可以做到这一点,我还没有找到......
更新:
根据 nemo 的回答和邀请,我提供了一个 cross-platform Go package 来执行此操作。
【问题讨论】:
-
我所拥有的只是你可以使用cgo 降级到C:编写freespace_windows.go 和freespace_{linux,bsd}.go,然后使用GetDiskFreeSpace 和statvfs 来获取可用空间。