Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Ruby library for getting filesystem information
Ruby

Merge pull request #16 from mikeowens/ffi

Fix for FreeBSD 10 block_size
latest commit 5f736400de
@djberg96 authored

README

= Description
  A Ruby interface for getting file system information.

= Installation
  gem install sys-filesystem

= Synopsis
  require 'sys/filesystem'
  include Sys
   
  # Display information about a particular filesystem.
  p Filesystem.stat('/')

  # Sample output

  #<Sys::Filesystem::Stat:0x517440
    @base_type = "ufs",
    @flags = 4,
    @files_available = 3817457,
    @block_size = 8192,
    @blocks_available = 19957633,
    @blocks = 34349612,
    @name_max = 255,
    @path = "/",
    @filesystem_id = 35651592,
    @files = 4135040,
    @fragment_size = 1024,
    @files_free = 3817457,
    @blocks_free = 20301129
  >
   
  # Describe all mount points on the system
  Filesystem.mounts{ |mount| p mount }
   
  # Find the mount point of any particular file
  puts Filesystem.mount_point('/home/djberge/some_file.txt') => '/home'

= Notes
  This is a pure Ruby implementation that uses FFI. This means it should work
  with JRuby, too.

= Sample code
  Run 'rake example' if you want to see a basic sample run. The actual code
  is 'example_stat.rb' in the 'examples' directory. Modify it as you see fit.

= Known Bugs
  None that I'm aware of. Please report bugs on the project page at
  https://github.com/djberg96/sys-filesystem

= Future Plans
  Add better 64-bit support for Linux and BSD.
  Other suggestions welcome.

= Acknowledgements
  Mike Hall, for ideas and code that I borrowed from his 'filesystem' library.
   
  Park Heesob, for implementation and API ideas for the MS Windows version.
   
  Nobuyoshi Miyokawa, for adding the original FreeBSD and OS X support.
   
= License
  Artistic 2.0

== Contributions
  Although this library is free, please consider having your company
  setup a gittip if used by your company professionally.

  http://www.gittip.com/djberg96/

= Copyright
  (C) 2003-2014 Daniel J. Berger
  All Rights Reserved

= Warranty
  This library is provided "as is" and without any express or
  implied warranties, including, without limitation, the implied
  warranties of merchantability and fitness for a particular purpose.

= Author
  Daniel J. Berger
Something went wrong with that request. Please try again.