module function Kernel.#test
test(cmd, file) -> bool | Time | Integer | nil
-
単体のファイルでファイルテストを行います。
- [PARAM] cmd:
- 以下に示す数値リテラルか文字列です(文字列の場合はその先頭の文字だけをコマンドとみなします)。
- [PARAM] file:
- テストするファイルオブジェクトです。
- [RETURN]
- 下表に特に明記していないものは、真偽値を返します。
以下は cmd として指定できる数値リテラルとその意味です。
- ?r
-
ファイルを実効 uid で読むことができる
- ?w
-
ファイルに実効 uid で書くことができる
- ?x
-
ファイルを実効 uid で実行することができる
- ?o
-
ファイルの所有者が実効 uid である
- ?G
-
ファイルのグループ所有者が実効 gid である
- ?R
-
ファイルを実 uid で読むことができる
- ?W
-
ファイルに実 uid で書くことができる
- ?X
-
ファイルを実 uid で実行することができる
- ?O
-
ファイルの所有者が実 uid である
- ?e
-
ファイルが存在する
- ?z
-
ファイルサイズが 0 である
- ?s
-
ファイルサイズが 0 でない (ファイルサイズを返す、0 ならば nil) -> Integer|nil
- ?f
-
ファイルはプレーンファイルである
- ?d
-
ファイルはディレクトリである
- ?l
-
ファイルはシンボリックリンクである
- ?p
-
ファイルは名前つきパイプ(FIFO)である
- ?S
-
ファイルはソケットである
- ?b
-
ファイルはブロック特殊ファイルである
- ?c
-
ファイルはキャラクター特殊ファイルである
- ?u
-
ファイルに setuid ビットがセットされている
- ?g
-
ファイルに setgid ビットがセットされている
- ?k
-
ファイルに sticky ビットがセットされている
- ?M
-
ファイルの最終更新時刻を返す -> Time
- ?A
-
ファイルの最終アクセス時刻を返す -> Time
- ?C
-
ファイルの inode 変更時刻を返す -> Time
test(cmd, file1, file2) -> bool
-
2ファイル間のファイルテストを行います。
- [PARAM] cmd:
- 以下に示す数値リテラルか文字列です(文字列の場合はその先頭の文字だけをコマンドとみなします)。
- [PARAM] file1:
- テストするファイルオブジェクトです。
- [PARAM] file2:
- テストするファイルオブジェクトです。
- [RETURN]
- 真偽値を返します。
以下は cmd として指定できる数値リテラルとその意味です。
- ?=
-
ファイル1とファイル2の最終更新時刻が等しい
- ?>
-
ファイル1の方がファイル2より最終更新時刻が新しい
- ?<
-
ファイル1の方がファイル2より最終更新時刻が古い
- ?-
-
ファイル1とファイル2が同一のファイルである