The tools df -h , kdiskfree and kdf all see to assume you only want info for one drive. Also, cfdisk isn't installed by default for Redhat / Fedora.
So, I made a little diddy to calculate unpartitioned space for a drive which you choose.
Just put this in a file like drive.pl and make it executable with chmod +x drive.pl
Then, you would run it like this example...
./drive.pl /dev/hda
Code:
#!/usr/bin/perl -w
##### This script calculates hard drive space.
##### example: ./drive /dev/hda
if($#ARGV != 0){
die "Example: $0 /dev/sda \n";
}
if(!-e $ARGV[0]){
die "$ARGV[0] is not a valid device. Exiting.\n";
}
my $DRIVE = $ARGV[0];
print "\n";
open(INFILE, "/proc/partitions") || die "Can't open file for read: $!";
while (<INFILE>){
$DRIVE =~ s/\/\w+\///g;
if ($_ =~ /($DRIVE$)/){
($D1, $D2, $D3, $D4, $D5) = split /\s+/;
} elsif ($_ =~ /($DRIVE[0-9])/){
($var1, $var2, $var3, $var4, $var5) = split /\s+/;
if ($var4 == 1){
print "Partition /dev/$var5 --- Extended ---\n";
}
else {
$totalused = ($totalused += $var4);
write;
}
}
}
$~ = "ENDING";
write;
format STDOUT =
Partition /dev/@<<<< used @######## MB
$var5, ($var4/1000), $var1,$var2,$var3
.
format ENDING =
Total drive size @######## MB
($D4/1000), $D1,$D2,$D3,$D5
Partitioned size @######## MB
($totalused/1000)
Unpartitioned size @######## MB
(($D4-$totalused)/1000)
.
####Just so you don't bork that last dot!