ruby 中获取可用磁盘空间
使用 ruby 获取磁盘空间信息的最佳方法是什么? 我更喜欢纯红宝石解决方案。如果不可能(即使有额外的 gems),它也可以使用标准 ubuntu 桌面安装中可用的任何命令将信息解析为 ruby。
What is the best way to get diskspace information with ruby.
I would prefer a pure ruby solution. If not possible (even with additional gems), it could also use any command available in a standard ubuntu desktop installation to parse the information into ruby.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
您可以使用 sys-filesystem gem (跨平台友好)
You could use the sys-filesystem gem (cross platform friendly)
简单一点怎么样:
其中“/dev/sda1”是路径,通过简单地运行 df 来确定
How about simply:
where '/dev/sda1' is the path, determined by simply running df
(Ruby) Daniel Berger 在这个领域维护着很多瑰宝。在那里可以找到:sys-cpu、sys-uptime、sys-uname、sys-proctable、sys-host、sys-admin、sys-filesystem。他们(据我所知)是多平台的。
(Ruby) Daniel Berger maintains a lot of gems in this field. To be found there: sys-cpu, sys-uptime, sys-uname, sys-proctable, sys-host, sys-admin, sys-filesystem. They are (AFAIK) multi-platform.
您好,我为此创建了 gem: https://github.com/pr0d1r2/free_disk_space
您可以使用它by:
gem 'free_disk_space' # 添加一行到 Gemfile
内部代码使用方法:
FreeDiskSpace.terabytes('/')
FreeDiskSpace.gigabytes('/')
FreeDiskSpace.megabytes('/')
FreeDiskSpace.kilobytes('/')
FreeDiskSpace.字节('/')
Hi i have created gem for that: https://github.com/pr0d1r2/free_disk_space
You can use it by:
gem 'free_disk_space' # add line to Gemfile
Inside code use methods:
FreeDiskSpace.terabytes('/')
FreeDiskSpace.gigabytes('/')
FreeDiskSpace.megabytes('/')
FreeDiskSpace.kilobytes('/')
FreeDiskSpace.bytes('/')
这是 dkams 答案的扩展,没有错误,但计算了一个驱动器的完整空间,以检查剩余的可用空间。即驱动器上的可用空间替换 kdams secdn 行如下:
这将返回剩余的可用空间在你的演出中。
This is an extension to dkams answer which is not wrong, but calculated the complete space of ones drive, to check for the remaining usable .i.e. the FREE space on a drive substitute kdams secodn line with the following:
This will return the remaining free space on your drive in Gigs.
这仅适用于 Linux 系统:如果您不介意调用 shell,您可以使用 df 作为文件系统并使用正则表达式解析输出:
This works only on a Linux system: If you don't mind calling out to the shell, you can use
df
for a filesystem and parse the output with a Regexp:类似于 rogerdpack 的评论
要获得 GB / MB 的可用空间,您可以尝试以下操作
Similar to comment rogerdpack's comment
to get the space free in GB / MB you may try following
在ubuntu下使用,检查调试大小,将可用大小作为输出。
Used under ubuntu, to check debugs size,put the available size as output.
我相信这个更加稳健。
I believe this is more robust.
我的无 gem 解决方案(仅限 Linux):
然后根据您可能需要的确切信息(总空间、已用空间、可用空间、已用空间百分比),您可以执行以下操作:
My gem-free solution (linux only):
then depending on the exact info you may need (total space, used space, free space, used space in percentage) you could do:
一个无宝石的解决方案,以字节为单位回答:
A gem free solution, answer in bytes: