instance methods
|
<=>
|
statfile <=> anOtherStat
-> -1, 0, 1
|
|
Compares File::Stat objects by comparing their respective
modification times.
f1 = File.new("f1", "w")
|
sleep 1
|
f2 = File.new("f2", "w")
|
f1.stat <=> f2.stat
|
» |
-1
|
|
atime
|
statfile.atime
-> aTime
|
|
Returns the last access time for this file
as an object of class Time .
File.stat("testfile").atime
|
» |
Wed Dec 31 18:00:00 CST 1969
|
|
blksize
|
statfile.blksize
-> anInteger
|
|
Returns the native file system's block size.
Will return 0 on platforms that don't support this information.
File.stat("testfile").blksize
|
» |
4096
|
|
blockdev?
|
statfile.blockdev?
-> true or false
|
|
Returns true if the file is a block device, false
if it isn't or
if the operating system doesn't support this feature.
File.stat("testfile").blockdev?
|
» |
false
|
|
blocks
|
statfile.blocks
-> anInteger
|
|
Returns the number of native file system blocks allocated for
this file, or 0
if the operating system doesn't support this feature.
File.stat("testfile").blocks
|
» |
2
|
|
chardev?
|
statfile.chardev?
-> true or false
|
|
Returns true if the file is a character device, false
if it isn't or
if the operating system doesn't support this feature.
File.stat("/dev/tty").chardev?
|
» |
true
|
|
ctime
|
statfile.ctime
-> aTime
|
|
Returns the change time for statfile (that is, the time
directory information about the file was changed, not the file
itself).
File.stat("testfile").ctime
|
» |
Sun Jun 09 00:17:19 CDT 2002
|
|
dev
|
statfile.dev
-> aFixnum
|
|
Returns an integer representing the device on which statfile
resides.
File.stat("testfile").dev
|
» |
774
|
|
directory?
|
statfile.directory?
-> true or false
|
|
Returns true if statfile is a directory, false
otherwise.
File.stat("testfile").directory?
|
» |
false
|
File.stat(".").directory?
|
» |
true
|
|
executable?
|
statfile.executable?
-> true or false
|
|
Returns true if statfile is executable or if the
operating system doesn't distinguish executable files from
nonexecutable files. The tests are made using the effective
owner of the process.
File.stat("testfile").executable?
|
» |
false
|
|
executable_real?
|
statfile.executable_real?
-> true or false
|
|
Same as executable? , but tests using the real owner of the
process.
|
file?
|
statfile.file?
-> true or false
|
|
Returns true if statfile is a regular file (not a device
file, pipe, socket, etc.).
File.stat("testfile").file?
|
» |
true
|
|
ftype
|
statfile.ftype
-> fileType
|
|
Identifies the type of statfile.
The return string is one of:
``file '',
``directory '',
``characterSpecial '',
``blockSpecial '',
``fifo '',
``link '', or
``socket ''.
File.stat("/dev/tty").ftype
|
» |
"characterSpecial"
|
|
gid
|
statfile.gid
-> aFixnum
|
|
Returns the numeric group id of the owner of statfile.
File.stat("testfile").gid
|
» |
500
|
|
grpowned?
|
statfile.grpowned?
-> true or false
|
|
Returns true if the effective group id of the process is the same
as the group id of statfile.
On Windows NT, returns false .
File.stat("testfile").grpowned?
|
» |
true
|
File.stat("/etc/passwd").grpowned?
|
» |
false
|
|
ino
|
statfile.ino
-> aFixnum
|
|
Returns the inode number for statfile.
File.stat("testfile").ino
|
» |
43331
|
|
mode
|
statfile.mode
-> aFixnum
|
|
Returns an integer representing the permission bits of
statfile. The meaning of the bits is platform dependent; on Unix
systems, see stat(2) .
File.chmod(0644, "testfile")
|
» |
1
|
s = File.stat("testfile")
|
sprintf("%o", s.mode)
|
» |
"100644"
|
|
mtime
|
statfile.mtime
-> aTime
|
|
Returns the modification time for statfile.
File.stat("testfile").mtime
|
» |
Sun Jun 09 00:17:19 CDT 2002
|
|
nlink
|
statfile.nlink
-> aFixnum
|
|
Returns the number of hard links to statfile.
File.stat("testfile").nlink
|
» |
1
|
File.link("testfile", "testfile.bak")
|
» |
0
|
File.stat("testfile").nlink
|
» |
2
|
|
owned?
|
statfile.owned?
-> true or false
|
|
Returns true if the effective user id of the process is the same
as the owner of statfile.
File.stat("testfile").owned?
|
» |
true
|
File.stat("/etc/passwd").owned?
|
» |
false
|
|
pipe?
|
statfile.pipe?
-> true or false
|
|
Returns true if the operating system supports pipes and
statfile is a pipe; false otherwise.
|
rdev
|
statfile.rdev
-> aFixnum
|
|
Returns an integer representing the device type on which statfile
resides. Returns 0
if the operating system doesn't support this feature.
File.stat("/dev/fd0").rdev
|
» |
512
|
|
readable?
|
statfile.readable?
-> true or false
|
|
Returns true if statfile is readable by the effective
user id of this process.
File.stat("testfile").readable?
|
» |
true
|
|
readable_real?
|
statfile.readable_real?
-> true or false
|
|
Returns true if statfile is readable by the real
user id of this process.
File.stat("testfile").readable_real?
|
» |
true
|
|
setgid?
|
statfile.setgid?
-> true or false
|
|
Returns true if statfile has the set-group-id
permission bit set, false if it doesn't or
if the operating system doesn't support this feature.
File.stat("/usr/sbin/lpc").setgid?
|
» |
true
|
|
setuid?
|
statfile.setuid?
-> true or false
|
|
Returns true if statfile has the set-user-id
permission bit set, false if it doesn't or
if the operating system doesn't support this feature.
File.stat("/bin/su").setuid?
|
» |
true
|
|
size
|
statfile.size
-> aFixnum
|
|
Returns the size of statfile in bytes.
File.stat("testfile").size
|
» |
66
|
|
size?
|
statfile.size?
-> aFixnum or nil
|
|
Returns nil if statfile is a zero-length file; otherwise,
returns the file size.
File.stat("testfile").size?
|
» |
66
|
|
socket?
|
statfile.socket?
-> true or false
|
|
Returns true if statfile is a socket, false if
it isn't or
if the operating system doesn't support this feature.
File.stat("testfile").socket?
|
» |
false
|
|
sticky?
|
statfile.sticky?
-> true or false
|
|
Returns true if statfile has its sticky bit set,
false if it doesn't or if the operating system doesn't
support this feature.
File.stat("testfile").sticky?
|
» |
false
|
|
symlink?
|
statfile.symlink?
-> true or false
|
|
Returns true if statfile is a symbolic link,
false if it isn't or if the operating system doesn't
support this feature. As
File.stat
automatically follows
symbolic links, symlink? will always be
false for an object returned by
File.stat
.
File.symlink("testfile", "alink")
|
» |
0
|
File.stat("alink").symlink?
|
» |
false
|
File.lstat("alink").symlink?
|
» |
true
|
|
uid
|
statfile.uid
-> aFixnum
|
|
Returns the numeric user id of the owner of statfile.
File.stat("testfile").uid
|
» |
501
|
|
writable?
|
statfile.writable?
-> true or false
|
|
Returns true if statfile is writable by the effective
user id of this process.
File.stat("testfile").writable?
|
» |
true
|
|
writable_real?
|
statfile.writable_real?
-> true or false
|
|
Returns true if statfile is writable by the real
user id of this process.
File.stat("testfile").writable_real?
|
» |
true
|
|
zero?
|
statfile.zero?
-> true or false
|
|
Returns true if statfile is a zero-length file; false
otherwise.
File.stat("testfile").zero?
|
» |
false
|
|