linux命令查找总磁盘和硬盘数字

时间:2014-12-15 19:45:39

标签: linux bash redhat

bash中是否有一个命令可以为您提供磁盘空间/硬盘驱动器号的总数。

我知道df命令非常有用,但输出过于冗长:

    # df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda4       721G  192G  492G  29% /
    tmpfs           129G  112K  129G   1% /dev/shm
    /dev/sda1       194M   92M   93M  50% /boot
    /dev/sdj1       917G  547M  870G   1% /data10
    /dev/sdk1       917G  214G  657G  25% /data11
    /dev/sdl1       917G  200M  871G   1% /data12
    /dev/sdm1       917G  200M  871G   1% /data13
    /dev/sdn1       917G  200M  871G   1% /data14
    /dev/sdo1       917G  200M  871G   1% /data15
    /dev/sdp1       917G   16G  855G   2% /data16
    /dev/sdb1       917G  4.6G  866G   1% /data2
    /dev/sdc1       917G   74G  797G   9% /data3
    /dev/sdd1       917G  200M  871G   1% /data4
    /dev/sde1       917G  200M  871G   1% /data5
    /dev/sdf1       917G  200M  871G   1% /data6
    /dev/sdg1       917G  764G  107G  88% /data7
    /dev/sdh1       917G   51G  820G   6% /data8
    /dev/sdi1       917G   19G  853G   3% /data9
    /dev/sda2       193G   53G  130G  30% /home
    cm_processes    129G   46M  129G   1% /var/run/cloudera-scm-agent/process

我基本上想要' 16TB'最后,是否有一个方便的命令,或者我必须编写一些程序来根据df的输出计算总磁盘。

3 个答案:

答案 0 :(得分:4)

怎么样:

df --total

提示:首先查看手册页:man df。我发现这些天很难找到一个尚未通过一些漂亮的旗帜实现的程序的方面。 Linux 人们似乎只是知道程序员想要/需要什么。

或者如果你只想要总数:

df --total | tail -n 1

如果你想在特殊的块大小(例如TB)中指定它,你可以设置-B标志:

df --total -BT | tail -n 1

如果您只对总大小感兴趣(例如,您希望在另一个bash程序中使用该结果):

df --total -BT | tail -n 1 | sed -E 's/total *([^ ]*).*/\1/'

答案 1 :(得分:2)

CommuSoft的答案更好,但这是使用awk的另一种解决方案:

df -m | awk '{ SUM += $2} END { print SUM/1024/1024"TB" }'

使用-m选项可使df的结果以相同的单位(MB)显示。简单的划分可以轻松地将结果转换为TB。

答案 2 :(得分:2)

使用awk的另一种解决方案。这将打印标题和总行:

df --total -h | awk '!/^\//'
  • awk命令将打印除以字符/开头的所有行。
  • df,其中-h--human-readable的打印尺寸为1024(例如,1023M)。

结果如下所示:

Filesystem      Size  Used Avail Use% Mounted on
total           3.9T  1.7T  2.3T  42% -

由于Mounted on字段无效,您可以通过在上一个命令中添加sed来删除它:

$ df --total -h | awk '!/^\//' | sed -E 's/Mounted on|\s-//'
Filesystem      Size  Used Avail Use%
total           3.9T  1.7T  2.3T  42%