在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输出的总磁盘。
为什么我的布尔testing在bash中切换?
在BASH中取消定义一个variables
ubuntu / linux bash:遍历目录和子目录以处理文件
使用bash shellparsingCSV以打印最高分数的行
为什么execvp()使用fork()执行两次?
在wgetrecursion下载之间grep文件
我如何在Linux上pipe理基于Python的守护进程?
关于什么:
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/'
CommuSoft的答案是更好的,但这里是使用awk的另一个解决方案:
df -m | awk '{ SUM += $2} END { print SUM/1024/1024"TB" }'
使用-m选项可以使df结果以相同的单位(MB)显示。 简单的划分可以将结果轻松转换成结核病。
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%
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。