7月 292012
<< 24時間以内に使ったコマンドと回数をワンライナーで || EventEmitter >>
sys-filesystemというgemを使うと簡単だった。
MacとUbuntuでしか試してないけどWindowsやBSDでも同じコードでディスク状態を取得できるらしい。
参考:rubyでディスクの空き容量を取得してみる (やまかわのログ)
gem install sys-filesystem
ギガバイト単位で取得
require 'sys/filesystem'
stat = Sys::Filesystem.stat('/')
total = (stat.blocks * stat.block_size).to_f / 1024 / 1024 / 1024
available = (stat.blocks_available * stat.block_size).to_f / 1024 / 1024 / 1024
puts "#{total}GB中、#{available}GB使用可能"
total = total.to_s.scan(/^(\d+\.\d{0,3})/)[0][0].to_f
available = available.to_s.scan(/^(\d+\.\d{0,3})/)[0][0].to_f
puts "約#{total}GB中、#{available}GB使用可能"
112.19928741455078GB中、5.0075531005859375GB使用可能
約112.199GB中、5.007GB使用可能
Sys::Filesystem.stat(‘/’) はマウントポイントで、”/Volumes/Machintosh HD 2″とかを引数に渡せば別のディスクも読める。