I'm running some operations which constantly eat up my disk space. For this reason I want my computer to make a sound when disk space is running below 2GB. I know I can get an output listing the free diskspace by running df -h
:
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1 112Gi 100Gi 12Gi 90% 26291472 3038975 90% /
devfs 191Ki 191Ki 0Bi 100% 663 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
but I can't use this output in an if-then statement so that I can play a sound when the Available free space drops below 2GB.
Does anybody know how I can get only the Available space instead of this full output?
This was the only portable way (Linux and Mac OS) in which I was able to get the amount of free disk space:
df -Pk . | sed 1d | grep -v used | awk '{ print $4 "\t" }'
Be aware that df
from Linux is different than the one from Mac OS (OS X) and they share only a limited amount of options.
This returns the amount of free disk space in kilobytes. Don't try to use a different measure because they options are not portable.
First, the available disk space depends on the partition/filesystem you are working on. The following command will print the available disk space in the current folder:
TARGET_PATH="."
df -h "$TARGET_PATH" | awk 'NR==2{print $4}'
TARGET_PATH
is the folder you are about writing to. df
automatically detects the filesystem the folder belongs to.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With