通过SHELL获取指定分区剩余空间大小

4350阅读 0评论2013-04-25 tansijie
分类:LINUX

今日要用到shell 分析/空间下,还有多少剩余空间,经过试验了N遍,终于将大小获取到变量里面了

 例如: 获取/ 分区还剩多少KB? 提供操作平台是redhat AS5.3 2.6.32-279.el6.i686

 df  -k  获取硬盘上分区大小,单位以KB为单位, 例如获取 /分区大小
df -k  /
2.6.32-279.el6.i686 #1 SMP Wed Jun 13 18:23:32 EDT 2012 i686 i686 i386 GNU/LinuxFilesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      28423176   5813444  21165892  22% / Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      28423176   5813444  21165892  22% /
 Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      28423176   5813444  21165892  22% /

有些乱啊,要取出21165892  怎么办?  毫无疑问用grep

$df -k /|grep /$  

                      28423176   5813448  21165888  22% /
再看看,离目标是否进一些了,剩下就是分段取了,这时候肯定想到awk .但是这里有个问题,如果设备名称比较短,
df -k / 输出可能是这样了
/dev/hdc0   28423176   5813444  21165892  22% /
那么就要取值第四个了,如果长了就得取第三个,那么咱就做个遍历,挨个挨个遍历,如果找到%,那么%前面的字段就是
我们要获取的字段了,因此看下面:
df -k / |grep /$|awk '{for (i = 1; i 21165884
值已经取出来了,现在想想,如何赋值给一个变量呢? 我们可以这样做:
vSize=`df -k / |grep /$|awk '{for (i = 1; i 或者
vSize=$(df -k / |grep /$|awk '{for (i = 1; i 这样就将值赋给变量vSize了。
上一篇:mmap文件内存映射
下一篇:创建ORACLE步骤(1-5)