1. ホーム
  2. スクリプト・コラム
  3. パール
  4. 基本チュートリアル

perlのファイルテスト演算子のまとめ

2022-02-12 04:38:55

第1部

コピーコード コードは以下の通りです。

Operators Meaning
-r file or directory readable
-w file or directory writable
-x file or directory executable
-o file or directory is owned by the user
-R file or directory is readable to the real user
-W File or directory writable for real users
-X file or directory executable for real users
-O file or directory to the real user
-e file or directory exists
-z file exists and is 0 in size
-s file or directory exists and is not 0 (returns number of bytes)
-l file is a symbolic link
-f files are normal files
-d file as a directory    
-p file as named pipe (FIFO)
-b file is a block special file
-S file is a socket
The -c file is a character special file
-t Open file handle for tty console
-u file or directory is to set the user ID number
-g file or directory is to set the user group ID number
-k The sticky location bit of the file or directory
-T file is a text file
-B files are binary files
-M existence time in days
-A Visit time in days
-C Same code change time in days

第2部

コピーコード コードは以下の通りです。

-r: The file or directory is readable for this (effective) user or group
-w: The file or directory is writable for this (effective) user or group
-x: The file or directory is executable for this (valid) user or group
-o: The file or directory is owned by this (valid) user
-R: The file or directory is readable by this (real user) or group
-W: The file or directory is writable for this user or group
-X: The file or directory is executable for this user or group
-O: The file or directory is owned by this user
-e: file or directory name exists
-z: file exists, size is 0 (directory is constant to false)
-s: file or directory exists, size greater than 0 (value is the size of the file in bytes)
-f: for plain text
-d: for directory
-l: for symbolic links
-S: for socket-p for pipe (Entry is a named pipe(a "fifo"))
-b: for block-special file (e.g. mount disk)
-c: for character-special files (e.g. I/O devices)
-u: file or directory for setuid
-g: file or directory for setgid
-k: File or directory has the sticky bit set
-t: File handle is TTY (the return result of the system function isatty(); you cannot use this test for filenames)
-T: file is somewhat like a "text" file
-B: The file is somewhat like a "binary" file
-M: Time of modification (in days)
-A: Time of access (in days)
-C: Time of index node modification (in days)

第3部

<テーブル

演算子

意味

-r

ファイルは有効なUID/GIDで読み取ることができます。

-w

有効なUID/GIDでファイルを書き込むことができる。

-x

有効なUID/GIDで実行可能なファイルです。

-o

ファイルは有効なUIDによって所有されています。

-R

実UID/GIDでファイルを読み込むことができる。

-W

ファイルは実際のUID/GIDで書き込むことができます。

-X

ファイルは実UID/GIDで実行可能です。

-O

このファイルの所有者は実UIDです

-e

ファイルが存在する

-z

ファイルサイズは0です

-s

ファイルサイズが0でない (サイズを返す)

-f

ファイルは、単純なファイルです

-d

ファイルはディレクトリ

-l

ファイルはシンボリックリンクされています

-p

ファイルは名前付きパイプ(FIFO)です。

-S

ファイルはソケット

-b

このファイルは、特殊なブロックファイルです

-c

ファイルが特殊文字ファイルである

-t

ファイルハンドルはtty用にオープンされています

-u

このファイルは、setuidビットを設定します。

-g

このファイルは、setgidビットを設定します。

-k

ファイルにはスティッキービットが設定されています

-T

ファイルはテキストファイルです

-B

ファイルがバイナリファイルである(-Tに対応)

-M

ファイルの修正からの経過年数(日数単位)(先頭から

-A

最後の訪問からのファイルの年齢(日数)(先頭から

-C

inode修正後のファイルの年齢を日数で記したもの(最初から)