Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > File::Statクラス

class File::Stat

クラス・モジュールの継承リスト: File::Stat < Comparable < Object < Kernel < BasicObject

要約

ファイルの情報を格納したオブジェクトのクラス。

FileTest に同名のモジュール関数がある場合はそれと同じ働きをします。ただ、ファイル名を引数に取るかわりに Stat 自身について判定する点が違います。


p File::Stat.new($0).directory? #=> false
p FileTest.directory?($0) #=> false

1.8 以降では、属性メソッドがシステムでサポートされていない場合 nil が返ります。なお、1.7 以前では 0 が返っていました。

dev         デバイス番号(ファイルシステム)
dev_major   dev の major 番号部
dev_minor   dev の minor 番号部
ino         i-node 番号
mode        ファイルモード
nlink       ハードリンクの数
uid         オーナーのユーザID
gid         オーナーのグループID
rdev        デバイスタイプ(スペシャルファイルのみ)
rdev_major  rdev の major 番号部
rdev_minor  rdev の minor 番号部
size        ファイルサイズ(バイト単位)
blksize     望ましいI/Oのブロックサイズ
blocks      割り当てられているブロック数
atime       最終アクセス時刻
mtime       最終更新時刻
ctime       最終状態変更時刻(状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)

特異メソッド

定義 説明
new(path) -> File::Stat

path に関する File::Stat オブジェクトを生成して返します。 File.stat と同じです。

インスタンスメソッド

定義 説明
self <=> o -> Integer | nil

ファイルの最終更新時刻を比較します。self が other よりも新しければ正の数を、等しければ 0 を古ければ負の数を返します。比較できない場合は nil を返します。

atime -> Time

最終アクセス時刻を返します。

birthtime -> Time

作成された時刻を返します。

blksize -> Integer

望ましいI/Oのブロックサイズを返します。

blockdev? -> bool

ブロックスペシャルファイルの時に真を返します。

blocks -> Integer

割り当てられているブロック数を返します。

chardev? -> bool

キャラクタスペシャルファイルの時に真を返します。

ctime -> Time

最終状態変更時刻を返します。 (状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)

dev -> String

デバイス番号(ファイルシステム)を返します。

dev_major -> Integer

dev の major 番号部を返します。

dev_minor -> Integer

dev の minor 番号部を返します。

directory? -> bool

ディレクトリの時に真を返します。

executable? -> bool

実効ユーザ/グループIDで実行できる時に真を返します。

executable_real? -> bool

実ユーザ/グループIDで実行できる時に真を返します。

file? -> bool

通常ファイルの時に真を返します。

ftype -> String

ファイルのタイプを表す文字列を返します。

gid -> Integer

オーナーのグループIDを返します。

grpowned? -> bool

グループIDが実効グループIDと等しい時に真を返します。

ino -> Integer

i-node 番号を返します。

mode -> Integer

ファイルモードを返します。

mtime -> Time

最終更新時刻を返します。

nlink -> Integer

ハードリンクの数を返します。

owned? -> bool

自分のものである時に真を返します。

pipe? -> bool

無名パイプおよび名前つきパイプ(FIFO)の時に真を返します。

rdev -> Integer

デバイスタイプ(スペシャルファイルのみ)を返します。

rdev_major -> Integer

rdev の major 番号部を返します。

rdev_minor -> Integer

rdev の minor 番号部を返します。

readable? -> bool

読み込み可能な時に真を返します。

readable_real? -> bool

実ユーザ/実グループによって読み込み可能な時に真を返します。

setgid? -> bool

setgidされている時に真を返します。

setuid? -> bool

setuidされている時に真を返します。

size -> Integer

ファイルサイズ(バイト単位)を返します。

size? -> Integer | nil

サイズが0の時にはnil、それ以外の場合はファイルサイズを返します。

socket? -> bool

ソケットの時に真を返します。

sticky? -> bool

stickyビットが立っている時に真を返します。

symlink? -> false

シンボリックリンクである時に真を返します。ただし、File::Statは自動的にシンボリックリンクをたどっていくので常にfalseを返します。

uid -> Integer

オーナーのユーザIDを返します。

world_readable? -> Integer | nil

全てのユーザから読めるならば、そのファイルのパーミッションを表す整数を返します。そうでない場合は nil を返します。

world_writable? -> Integer | nil

全てのユーザから書き込めるならば、そのファイルのパーミッションを表す整数を返します。そうでない場合は nil を返します。

writable? -> bool

書き込み可能な時に真を返します。

writable_real? -> bool

実ユーザ/実グループによって書き込み可能な時に真を返します。

zero? -> bool

サイズが0である時に真を返します。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined < <= == > >= between? clamp !~ === =~ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap then to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE