Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > FileTestモジュール

module FileTest

クラスの継承リスト: FileTest

要約

ファイルの検査関数を集めたモジュールです。

注意

FileTest で定義された各メソッドは、システムコールに失敗しても例外を発生させません。 真を返した時のみ、返り値は意味をもちます。 例えば、

File.exist?('/root/.bashrc')

が false を返しても、それはファイルが存在しないことを保証しません。

モジュール関数

blockdev?(file) -> bool

ファイルがブロックスペシャルファイルである時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
chardev?(file) -> bool

ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
directory?(file) -> bool

ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
executable?(file) -> bool

ファイルがカレントプロセスにより実行できる時に真を返しま す。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
executable_real?(file) -> bool

ファイルがカレントプロセスの実ユーザか実グループで実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
exist?(file) -> bool
exists?(file) -> bool

ファイルが存在する時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
file?(file) -> bool

ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
grpowned?(file) -> bool

ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
identical?(file1, file2) -> bool

file1 と file2 が同じファイルを指している時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ruby 1.8.3 以前ではKernel.#test(?-, file1, file2)を使ってください。

open("a", "w") {}
p File.identical?("a", "a")      #=> true
p File.identical?("a", "./a")    #=> true
File.link("a", "b")
p File.identical?("a", "b")      #=> true
File.symlink("a", "c")
p File.identical?("a", "c")      #=> true
open("d", "w") {}
p File.identical?("a", "d")      #=> false
[PARAM] file1:
ファイル名を表す文字列か IO オブジェクトを指定します。
[PARAM] file2:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file1, file2 が既に close されていた場合に発生します。
owned?(file) -> bool

ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
pipe?(file) -> bool

ファイルが名前つきパイプ(FIFO)である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
readable?(file) -> bool

ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
readable_real?(file) -> bool

ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を 返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
setgid?(file) -> bool

ファイルが setgid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
setuid?(file) -> bool

ファイルが setuid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
size(file) -> Integer

ファイルのサイズを返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] Errno::EXXX:
filename が存在しない場合、あるいはシステムコールに失敗した場合に発生します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。

[SEE_ALSO] FileTest.#size?, FileTest.#zero?

size?(file) -> Integer | nil

ファイルのサイズを返します。ファイルが存在しない時や ファイルのサイズが0の時には nil を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。

[SEE_ALSO] FileTest.#size, FileTest.#zero?

socket?(file) -> bool

ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。
sticky?(file) -> bool

ファイルの sticky ビット(chmod(2) 参照)が 立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
symlink?(file) -> bool

ファイルがシンボリックリンクである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
world_readable?(path) -> Integer | nil

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

整数の意味はプラットフォームに依存します。

[PARAM] path:
パスを表す文字列を指定します。
m = FileTest.world_readable?("/etc/passwd")
"%o" % m                               # => "644"
world_writable?(path) -> bool

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

整数の意味はプラットフォームに依存します。

[PARAM] path:
パスを表す文字列を指定します。
m = FileTest.world_writable?("/tmp")
"%o" % m                               #=> "777"
writable?(file) -> bool

ファイルがカレントプロセスにより書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
writable_real?(file) -> bool

ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真 を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
zero?(file) -> bool

ファイルが存在して、そのサイズが 0 である時に真を返します。 そうでない場合、あるいはシステムコールに失敗した場合には false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。

[SEE_ALSO] FileTest.#size, FileTest.#size?

module FileTest