在 bash 中检查当前分区的可用磁盘空间

新手上路,请多包涵

我正在用 bash 编写安装程序。用户将转到目标目录并运行安装脚本,因此第一个操作应该是检查是否有足够的空间。我知道 df 会报告所有文件系统,但我想知道是否有办法为目标目录所在的分区获取可用空间。

编辑 - 我想出的答案

df $PWD | awk '/[0-9]%/{print $(NF-2)}'

有点奇怪,因为 df 似乎格式化了它的输出以适应终端,所以对于一个长的安装点名称,输出会向下移动一行

原文由 Greg Reynolds 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 483
2 个回答

是的:

 df -k .

对于当前目录。

 df -k /some/dir

如果要检查特定目录。

如果您的系统有 stat(1) 命令,您可能还想查看它。您可以指定输出格式以使您的脚本更容易解析。这是一个小例子:

 $ echo $(($(stat -f --format="%a*%S" .)))

原文由 Mat 发布,翻译遵循 CC BY-SA 3.0 许可协议

  1. df command : 报告文件系统磁盘空间使用情况
  2. du 命令:估计文件空间使用情况

键入 df -hdf -k 列出可用磁盘空间:

  $ df -h

或者

 $ df -k

du 显示一个或多个文件或目录正在使用多少空间:

  $ du -sh

-s 选项总结了目录正在使用的空间,而 -h 选项提供了 人类可读的 输出。

原文由 Girish 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题