我只想获取已安装文件系统的总大小。但问题是我只知道挂载点。于是,我想到了使用df
命令。
为了获取已安装文件系统的大小,我运行了以下命令:
df --output=target,size | grep -w /mnt/xyz
我得到的结果是这样的:
/mnt/xyz 4339044
我知道如何使用,cut
但在这里没有用,因为我不知道字符串和整数之间的空格。有没有办法在终端上打印这个尺寸?
答案1
您可以在没有以下内容的情况下做到这一点grep
:
df --output=target,size /mnt/xyz | awk ' NR==2 { print $2 } '
df
接受安装点作为参数;您可以告诉 toawk
仅打印第二行 (NR==2) 和第二个参数 $2。
或者更好的是,在不输出目标时剪切目标,它会变成:
df --output=size /mnt/xyz | awk ' NR==2 '
当我还是一个初学者时,我也确实设法cut
使用(挤压)来减少冗余空间来绕过限制tr -s " "
,如下所示:
df --output=target,size /mnt/xyz | tail -1 | tr -s " " | cut -f2 -d" "
答案2
还有一个findmnt
命令,它可以打印字节数或“人类”数字(不幸的是,带有非 iso 缩写的 1024 的幂):
$ findmnt -no size /mnt/xyz
9.7G
$ findmnt -bno size /mnt/xyz
10434699264