ファイルの情報を格納したオブジェクトのクラス。
File::Stat.new(path)path に関する File::Stat オブジェクトを生成して返します。
File.stat と同じです。
self <=> otherファイルの最終更新時刻を比較します。self が other よりも
新しければ正の数を、等しければ 0 を古ければ負の数を返します。
ftypeファイルのタイプを表す文字列を返します。文字列は以下のうちの いずれかです。
"file" "directory" "characterSpecial" "blockSpecial" "fifo" "link" "socket" "unknown"
以下の属性メソッドは、システムによってサポートされていない場合 0 が返ります。 ruby 1.7 feature: 1.7 では nil が返ります。
devデバイス番号(ファイルシステム)
dev_major ((<ruby 1.9 feature>))dev の major 番号部
dev_minor ((<ruby 1.9 feature>))dev の minor 番号部
inoi-node 番号
modeファイルモード
nlinkハードリンクの数
uidオーナーのユーザID
gidオーナーのグループID
rdevデバイスタイプ(スペシャルファイルのみ)
rdev_major ((<ruby 1.7 feature>))rdev の major 番号部
rdev_minor ((<ruby 1.7 feature>))rdev の minor 番号部
sizeファイルサイズ(バイト単位)
blksize望ましいI/Oのブロックサイズ
blocks割り当てられているブロック数
atime最終アクセス時刻
mtime最終更新時刻
ctime最終状態変更時刻 (状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)
以下の判定メソッドは、FileTest の同名のモジュール関数と同じですが、
ファイル名を引数に取るかわりに Stat 自身について判定します。
directory?ディレクトリの時に真
readable?読み込み可能な時に真
readable_real?実ユーザ/実グループによって読み込み可能な時に真
writable?書き込み可能な時に真
writable_real?実ユーザ/実グループによって書き込み可能な時に真
executable?実効ユーザ/グループIDで実行できる時に真
executable_real?実ユーザ/グループIDで実行できる時に真
file?通常ファイルの時に真
zero?サイズが0である時に真
size?サイズ(0の時には偽)
owned?自分のものである時に真
grpowned?グループIDが実効グループIDと等しい時に真
補助グループIDは考慮されません。
pipe?無名パイプおよび名前つきパイプ(FIFO)の時に真
symlink?シンボリックリンクである時に真
socket?ソケットの時に真
blockdev?ブロックスペシャルファイルの時に真
chardev?キャラクタスペシャルファイルの時に真
setuid?setuidされている時に真
setgid?setgidされている時に真
sticky?stickyビットが立っている時に真
*1あらい 2002-01-06: 今のところ "unknown" を返すことはないはず。
もしそのようなことがあれば、バグ報告をした方が良いと思われる。
Solaris の Door とかは unknown になる?