我想从给定路径获取可用空间。目前,我的方法是使用
df -kb $PATH | awk 'NR == 2 {print $4}'
。
上述方法的问题是它不适用于不存在的路径。
因此,它可以通过mkdir -p $PATH
来解决。
但话又说回来,它会创建空白目录,只是为了检查可用空间(前提是这些路径在系统中不存在)
我可以在运行rmdir $PATH
后运行df
,但还记得吗?我之前使用mkdir -p
,操作系统可能创建了几个级别的目录,执行rmdir $PATH
只能设法删除最后一级。
那么,任何可用的简单解决方案都可以检查给定路径的可用空间(特别是对于不存在的路径)?或者是否有任何可以从给定目录路径输出挂载点的实用程序(这样我就可以从df grep挂载路径获取可用空间)?
答案 0 :(得分:1)
如果您想知道您计划创建但尚不存在的导演的可用空间,首先需要找到最近的父目录:
dir_path=/some/dir
existing_path=$dir_path
while test ! -e $existing_path; do
existing_path=$(dirname $existing_path)
done
然后您可以在df
上$existing_path
。所有这一切都在一个bash函数中:
function my_df() {
existing_path=$1
while test ! -e $existing_path; do
existing_path=$(dirname $existing_path)
done
df -k $existing_path
}
答案 1 :(得分:0)
test -d $dir_path && ( df -k $dir_path | awk 'NR == 2 {print $4}' )