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

module FileTest

クラスの継承リスト: FileTest

要約

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

注意

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

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

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

目次

モジュール関数
blockdev? chardev? directory? executable? executable_real? exist? exists? file? grpowned? identical? owned? pipe? readable? readable_real? setgid? setuid? size size? socket? sticky? symlink? world_readable? world_writable? writable? writable_real? zero?

モジュール関数

blockdev?(file) -> bool[permalink][rdoc]

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

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

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

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

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

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

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

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

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

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

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

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

このメソッドは deprecated です。FileTest.#exist? を使用してください。

file?(file) -> bool[permalink][rdoc]

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

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

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

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

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[permalink][rdoc]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

size?(file) -> Integer | nil[permalink][rdoc]

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

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

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

socket?(file) -> bool[permalink][rdoc]

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

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

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

[PARAM] file:
ファイル名を表す文字列を指定します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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