用ruby獲取磁盤空間信息的最佳方式是什麼? 我寧願純粹的紅寶石解決方案。如果不可能(即使有更多的寶石),它也可以使用標準ubuntu桌面安裝中可用的任何命令將信息解析爲ruby。在ruby中獲取可用磁盤空間
回答
您可以使用sys-filesystem寶石(跨平臺型)
require 'sys/filesystem'
stat = Sys::Filesystem.stat("/")
mb_available = stat.block_size * stat.blocks_available/1024/1024
確定
如何簡單:
spaceMb_i = `df -m /dev/sda1`.split(/\b/)[24].to_i
其中 '的/ dev/sda1的' 爲路徑,只需運行DF
由於某種原因(拆分?)對我沒有效果,但是這樣做了`bytes_free = \`df -B1 .``split [10] .to_i` – rogerdpack 2015-10-23 22:43:14
(Ruby)Daniel Berger在此字段中維護a lot of gems。在那裏可以找到:sys-cpu,sys-uptime,sys-uname,sys-proctable,sys-host,sys-admin,sys-filesystem。他們是(AFAIK)多平臺。
def check_disk_space
system('df -H | grep debug > ff')
ss = File.open('ff').read.split(/\s+/)
system('rm ff')
"#{ss[3]}"
end
在ubuntu下用來檢查調試大小,把可用大小作爲輸出。
嗨,我已經創建了寶石爲:https://github.com/pr0d1r2/free_disk_space
您可以使用它:
寶石 'FREE_DISK_SPACE' #添加行的Gemfile
裏面的代碼使用方法:
FreeDiskSpace ('/')
FreeDiskSpace.gigabytes('/')
個FreeDiskSpace.megabytes( '/')
FreeDiskSpace.kilobytes( '/')
FreeDiskSpace.bytes( '/')
「雖然此鏈接可能回答問題,但最好在此處包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – zero323 2013-11-16 16:28:12
這是爲了dkams答案是沒有錯的延伸,但計算出驅動器的完整空間,以檢查剩餘的可用.ie在驅動器替代kdams secodn線的自由空間有以下:
mb_available = stat.bytes_free/1024/1024/1024
這將返回在演出硬盤上的剩餘空間。
免費的寶石解,答案在字節:
(File.exists?('C:\\') ? `dir /-C`.match(/(\d+) bytes free/) : `df .`.match(/(\d+)\s*\d*%/)).captures[0].to_i
評論rogerdpack的評論 獲得免費的GB/MB的空間類似,你可以嘗試以下
# Get free space in Gb in present partition
gb_free = `df -BG .`.split[10].to_i**
# Get free space in MB in /dev/sda1 partition
mb_free = `df -BM /dev/sda1`.split[10].to_i**
puts gb_free, mb_free
這僅適用於一個Linux系統:如果你不介意調用shell,你可以使用df
作爲文件系統並用正則表達式解析輸出:
fs_to_check = '/boot'
df_output = `df #{fs_to_check}`
disk_line = df_output.split(/\n/)[1]
disk_free_bytes = disk_line.match(/(.+)\s+(\d+)\s+(\d+)\s+(\d+)\s+/)[4].to_i
disk_free_mbs = disk_free_bytes/1024
puts(disk_free_mbs)
在windows或linux下的
- 1. 獲取磁盤空間錯誤,但有足夠的磁盤空間可用
- 2. Ruby獲取可用磁盤驅動器
- 3. 用df獲取可用磁盤空間只顯示kb中的可用空間?
- 4. 使用C獲取WinRT中的可用磁盤空間#
- 5. 獲取使用的總磁盤空間和剩餘的磁盤空間?
- 6. 如何獲取PhoneGap中的可用磁盤空間量?
- 7. 使用Go獲取可用磁盤空間量
- 8. 獲取可用磁盤的可用空間對於給定的路徑在Windows
- 9. Stakcdriver:監視可用磁盤空間
- 10. 如何監視可用磁盤空間
- 11. Elasticsearch沒有可用的磁盤空間
- 12. 如何檢查可用磁盤空間?
- 13. 計算可用磁盤空間
- 14. 如何在批處理文件中獲取可用磁盤空間的整數?
- 15. 使用diskpart獲取磁盤上的空閒空間(未分區)
- 16. AllegroGraph佔用磁盤空間
- 17. OpenFeint磁盤空間佔用空間
- 18. 無法從Metro風格的應用程序中獲取可用磁盤空間
- 19. 廣告磁盤空間vs實際磁盤空間
- 20. 如何從Windows使用C獲得可用磁盤空間?
- 21. 如何獲取Posix系統中的可用磁盤空間總量?
- 22. 在檢測到可用磁盤空間的同時獲取了錯誤的值
- 23. 如何使用boost或poco獲取(使用/可用/總計)磁盤空間?
- 24. 如何獲得Bash當前的可用磁盤空間?
- 25. 無法使用SNMP獲取Linux磁盤空間
- 26. 如何用R獲取windows機器的磁盤空間?
- 27. 獲取Windows的可用磁盤空間掛載使用WMI指向遠程
- 28. 使用Grafana獲取多個節點的可用磁盤空間百分比
- 29. 在linux中測試出磁盤空間
- 30. 如何在Java中使用Linux獲得總磁盤空間?
? ,如果窗口有一個問題,http:// stackoverflow。/ dev/3258518/ruby-get-available-disk-drives – 2010-12-22 11:33:22
在ubuntu下linux – 2010-12-22 11:39:33