Google

$BA0(B - $B>e(B - $B - $BL\

File

$B%U%!%$%k%"%/%;%9$N$?$a$N%/%i%9!%DL>o(B open $B$r;H$C$F%*!<%W%s$5$l$^$9!%$3$N%/%i%9$K$O(B FileTest $B$GDj5A$5$l$F$$$k$N$HF1$8FC0[%a%=%C%I$,Dj5A$5$l$F$$$^$9!%(B

$B%9!<%Q!<%/%i%9(B:

IO

$B%/%i%9%a%=%C%I(B:

atime(filename)

$B%U%!%$%k$N:G=*%"%/%;%9;~9o$rJV$7$^$9!%(B

basename(filename[, suffix])

filename$B$N0lHV8e$m$N%9%i%C%7%e$KB3$/MWAG$rJV$7$^(B $B$9!%$b$7!$0z?t(Bsuffix$B$,M?$($i$l$F!$$+$D$=$l$,(B filename$B$NKvHx$K0lCW$9$k$J$i!$$=$l$r

$BNc(B:

basename("ruby/ruby.c")
	=> "ruby.c"
basename("ruby/ruby.c", ".c")
  => "ruby"
ctime(filename)

$B%U%!%$%k$N>uBV$,:G8e$KJQ99$5$l$?;~9o$rJV$7$^$9!%(B

chmod(mode, path...)

$B%U%!%$%k$N%b!<%I$r(Bmode$B$KJQ99$7$^$9!%%b!<%I$rJQ99(B $B$7$?%U%!%$%k$N?t$rJV$7$^$9!%(B

chown(owner, group, filename...)

$B%U%!%$%k$N%*!<%J!<$H%0%k!<%W$rJQ99$7$^$9!%%9!<%Q!<%f!<%6$@$1(B $B$,%U%!%$%k$N%*!<%J!<$H%0%k!<%W$rJQ99$G$-$^$9!%JQ99$r9T$C$?%U%!(B $B%$%k$N?t$rJV$7$^$9!%(B

nil $B$^$?$O(B -1 $B$r;XDj$9$k$3$H$G%*!<(B $B%J!<$d%0%k!<%W$r8=:_$N$^$^$K$9$k$3$H$,$G$-$^$9!%(B

dirname(filename)

filename$B$N0lHV8e$m$N%9%i%C%7%e$KB3$/MWAG0J30$rJ8(B $B;zNs$H$7$FJV$7$^$9!%%9%i%C%7%e$r4^$^$J$$%U%!%$%kL>$KBP$7$F$O(B "."($B%+%l%s%H%G%#%l%/%H%j(B)$B$rJV$7$^$9!%(B

expand_path(path[,default_dir])

path$B$r@dBP%Q%9$KE83+$7$^$9!%(B $B%Q%9$,AjBP%Q%9$G$"$l$P(Bdefault_dir$B$r4p=`$K$7$^$9!%(B default_dir$B$,(Bnil$B$+$^$?$OM?$($i$l$J$+$C$?;~$K$O%+(B $B%l%s%H%G%#%l%/%H%j$,;H$o$l$^$9!%(B $B@hF,$N(B`~'$B$O%[!<%`%G%#%l%/%H%j$K!$(B`~USER' $B$O$=$N%f!<%6$N%[!<%`%G%#%l%/%H%j$KE83+$5$l$^$9!%(B

expand_path("..")
       => "/home/matz/work"
expand_path("~")
       => "/home/matz"
expand_path("~matz")
       => "/home/matz"
join(items...)

File::Separator$B$r4V$KF~$l$F!$J8;zNs$rO"7k$7$^$9!%(B

[items,..].join(File::Separator)
$B$bF1$8F0:n$r$7$^$9!%(B

ftype(filename)

$B%U%!%$%k$N%?%$%W$rI=$9J8;zNs$rJV$7$^$9!%J8;zNs$O0J2<$N$&$A$N(B $B$$$:$l$+$G$9!%(B

"file"
"directory"
"characterSpecial"
"blockSpecial"
"fifo"
"link"
"socket"

link(old, new)

old$B$r;X$9(Bnew$B$H$$$&L>A0$N%O!<%I%j%s%/$r(B $B@8@.$7$^$9!%(Bold$B$O$9$G$KB8:_$7$F$$$kI,MW$,$"$j$^$9!%(B

lstat(filename)

stat$B$HF1MM$K%U%!%$%k$N(B $B>uBV$rJV$7$^$9$,!$%7%s%\%j%C%/%j%s%/$K4X$7$F%j%s%/$=$N$b$N$N(B $B>pJs$rJV$7$^$9!%(B

mtime(filename)

$B%U%!%$%k$N:G=*99?7;~9o$rJV$7$^$9!%(B

open(path[, mode])
new(path[, mode [, perm]])

path$B$G;XDj$5$l$k%U%!%$%k$r%*!<%W%s$7!$%U%!%$%k%*(B $B%V%8%'%/%H$rJV$7$^$9!%(B

mode$B$,J8;zNs$N>l9g!"(Bfopen(3)$B$N$h$&(B $B$K(B"r", "r+", "w", "w+", "a", "a+"$B$N$$(B $B$:$l$+$G%U%!%$%k$N%b!<%I$r;XDj$7$^$9!%(Bperm$B$OL5;k(B $B$5$l$^$9!%(Bmode$B$,>JN,$5$l$?;~$N%G%U%)%k%H$O(B "r"$B$G$9!%(B

mode$B$,@0?t$N>l9g!"(Bopen(2)$B$NBh(B2$B0z?t(B $B$HF1MM$K(BRDONLY, WRONLY, RDWR$B$N$$$:$l$+$G%U%!%$%k$N%b!<%I$r;XDj$7$^$9!%(B $B$5$i$K(BAPPEND, CREAT, EXCL, NONBLOCK, TRUNC, NOCTTY, BINARY$B$r0l$D0J>e(B|$B$G(BOR$B7k9g$9$k$3$H(B $B$GB0@-$r;XDj$9$k$3$H$,$G$-$^$9!%(B perm$B$O(B open(2)$B$NBh(B3$B0z?t$HF1$8$/!"(BCREAT$B;~(B $B$N%U%!%$%k$N%"%/%;%98"$r@0?t$G;XDj$7$^$9!%(B $B$3$l$i$NDj?t$O(BFile$B%/%i%9$GDj5A$5$l$F$$$^$9!%(B

$B%V%m%C%/$r;XDj$7$F8F$S=P$7$?>l9g$O!"%U%!%$%k%*%V%8%'%/%H$r(B $BM?$($i$l$F%V%m%C%/$,

readlink(path)

$B%7%s%\%j%C%/%j%s%/$N%j%s%/@h$rJ8;zNs$GJV$7$^$9!%(B

rename(from, to)

$B%U%!%$%k$NL>A0$rJQ99$7$^$9!%%G%#%l%/%H%j$,0[$J$k>l9g$K$O0\F0(B $B$b9T$$$^$9!%(Brename(2)$B$r;2>H$7$F$/$@$5$$!%0\F0@h(B $B$N%U%!%$%k$,B8:_$9$k;~$K$O>e=q$-$5$l$^$9!%(B

size(pathname)

pathname$B$G;XDj$7$?%U%!%$%k$NBg$-$5(B($B%P%$%H?t(B)$B$rJV$7$^$9!%(B

split(pathname)

pathname$B$r(Bdirname$B$H(B basename$B$KJ,3d$7$F!$(B2$BMWAG$NG[Ns$rJV$7$^$9!%(B

stat(filename)

filename$B$N>pJs$r4^$`(BStat$B9=B$BN$rJV$7$^$9!%(B Stat$B9=B$BN$N%a%s%P$O0J2<$NDL$j$G$9!%(B

dev	 	# $B%G%P%$%9HV9f(B($B%U%!%$%k%7%9%F%`(B)
ino		# i-node$BHV9f(B
mode		# $B%U%!%$%k%b!<%I(B
nlink		# $B%O!<%I%j%s%/$N?t(B
uid		# $B%*!<%J!<$N%f!<%6(BID
gid		# $B%*!<%J!<$N%0%k!<%W(BID
rdev		# $B%G%P%$%9%?%$%W(B($B%9%Z%7%c%k%U%!%$%k$N$_(B)
size		# $B%U%!%$%k%5%$%:(B($B%P%$%HC10L(B)
blksize		# $BK>$^$7$$(BI/O$B$N%V%m%C%/%5%$%:(B
blocks		# $B3d$jEv$F$i$l$F$$$k%V%m%C%/?t(B
atime		# $B:G=*%"%/%;%9;~9o(B
mtime		# $B:G=*99?7;~9o(B
ctime		# $B:G=*(Bi-node$BJQ99;~9o(B

$B$h$j>\:Y$O(Bstat(2)$B$7$F$/$@$5$$!%%7%9%F%`$K$h$C$F(B $B%5%]!<%H$5$l$F$$$J$$%a%s%P$K$O(B0$B$,F~$C$F$$$^$9!%(B

symlink(old, new)

old$B$X$N(Bnew$B$H$$$&L>A0$N%7%s%\%j%C%/%j%s(B $B%/$r@8@.$7$^$9!%(B

truncate(path, length)

path$B$G;XDj$5$l$?%U%!%$%k$r:GBg(Blength$B%P(B $B%$%H$K$^$G@Z$j5M$a$^$9!%(B

unlink(filename...)
delete(filename...)

$B%U%!%$%k$r:o=|$7$^$9!%:o=|$7$?%U%!%$%k$N?t$rJV$7$^$9!%$3$N%a(B $B%=%C%I$ODL>o%U%!%$%k$N:o=|MQ$G!$%G%#%l%/%H%j$N:o=|$K$O(B Dir.rmdir$B$r;H(B $B$$$^$9!%(B

umask([umask])

umask$B$rJQ99$7$^$9!%JQ99A0$N(Bumask$B$NCM$rJV$7$^$9!%(B umask$B$r>JN,$9$k$HJQ99$r9T$o$J$$$G!$8=:_$N(Bumask$B$N(B $BCM$rJV$7$^$9!%(B

utime(atime, mtime, filename...)

$B%U%!%$%k$N:G=*%"%/%;%9;~9o$H99?7;~9o$rJQ99$7$^$9!%JQ99$5$l$?(B $B%U%!%$%k$N?t$rJV$7$^$9!%@hF,$NFs$D$N0z?t$O;~9o$r;XDj$9$k?tCM(B $B$^$?$O(BTime$B%/%i%9$N%$%s(B $B%9%?%s%9$G$J$1$l$P$J$j$^$;$s!%(B

$B$3$l$i0J30$K$b(BFile$B%/%i%9$O(B FileTest$B%/%i%9$GDj5A$5$l(B $B$F$$$k%/%i%9%a%=%C%I$b;}$C$F$$$^$9!%(B

$B%a%=%C%I(B:

atime

$B%U%!%$%k$N:G=*%"%/%;%9;~9o$rJV$7$^$9!%(B

ctime

$B%U%!%$%k$N>uBV$,:G8e$KJQ99$5$l$?;~9o$rJV$7$^$9!%(B

chmod(mode)

$B%U%!%$%k$N%b!<%I$r(Bmode$B$KJQ99$7$^$9!%(B chmod(2)$B;2>H!%(B

chown(owner, group)

$B%U%!%$%k$N%*!<%J!<$H%0%k!<%W$rJQ99$7$^$9!%%9!<%Q!<%f!<%6$@$1(B $B$,%U%!%$%k$N%*!<%J!<$H%0%k!<%W$rJQ99$G$-$^$9!%(B nil $B$^$?$O(B -1 $B$r;XDj$9$k$3$H$G%*!<(B $B%J!<$d%0%k!<%W$r8=:_$N$^$^$K$9$k$3$H$,$G$-$^$9!%(B

flock(operation)

$B%U%!%$%k$r%m%C%/$7$^$9!%(BLOCK_NB$B$,;XDj$5$l$F$$$F!$(B $B%V%m%C%/$5$l$=$&$J>l9g$K$O(BFALSE$B$rJV$7$^$9!%M-8z$J(B operation$B$O0J2<$NDL$j$G$9!%(B

LOCK_SH
$B6&M-%m%C%/!%J#?t$N%W%m%;%9$,F1;~$K%m%C%/$r6&M-$G$-$^$9!%(B
LOCK_EX
$BGSB>%m%C%/!%F1;~$K$O$?$@$R$H$D$N%W%m%;%9$@$1$,%m%C%/$rJ];}$G$-$^$9!%(B
LOCK_UN
$B%"%s%m%C%/!%(B
LOCK_NB
$B%m%C%/$N:]$K%V%m%C%/$7$J$$!%B>$N;XDj$H(Bor$B$9$k$3(B $B$H$G;XDj$7$^$9!%(B

$B0J>e$NDj?t$O(BFile$B%/%i%9$GDj5A$5$l$F$$$^$9!%(B

eof
eof?

$B%U%!%$%k$,(BEOF$B$KE~C#$7$F$$$k;~$K??$rJV$7$^$9!%(B

lstat

stat$B$HF1MM$K%U%!%$%k$N(B $B>uBV$rJV$7$^$9$,!$%7%s%\%j%C%/%j%s%/$K4X$7$F%j%s%/$=$N$b$N$N(B $B>pJs$rJV$7$^$9!%(B

mtime

$B%U%!%$%k$N:G=*99?7;~9o$rJV$7$^$9!%(B

reopen(io)
reopen(path, mode)

1$B0z?t$N;~!$<+?H$r(Bio$B$K7R$.49$($^$9!%(B2$B0z?t$N;~!$(B path$B$G;XDj$5$l$?%U%!%$%k$K%9%H%j!<%`$r7R$.49$($^(B $B$9!%(B

path

$B%*!<%W%s$7$F$$$k%U%!%$%k$N%Q%9$rJV$7$^$9!%(B

stat

$B%U%!%$%k$N>uBV$r4^$`(BStat$B9=B$BN$rJV$7$^$9!%(B

truncate(length)

$B%U%!%$%k$N%5%$%:$r:GBg(Blength$B%P%$%H$K$7$^$9!%%U%!(B $B%$%k$O%i%$%H%b!<%I$G%*!<%W%s$5$l$F$$$kI,MW$,$"$j$^$9!%(B

$BDj?t(B:

Separator

$B%U%!%$%k%Q%9$N%;%Q%l!<%?$G$9!%IaDL$O(B"/"$B$G$9!%(B


$BA0(B - $B>e(B - $B - $BL\

matz@netlab.co.jp