home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


stat

stat 
file

Returns a 13-element list giving the statistics for a file , indicated by either a filehandle or an expression that gives its name. It's typically used as follows:

($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
    $atime,$mtime,$ctime,$blksize,$blocks)
            = stat $filename;
Not all fields are supported on all filesystem types. Here are the meanings of the fields:

Field Meaning
dev Device number of filesystem
ino Inode number
mode File mode (type and permissions)
nlink Number of (hard) links to the file
uid Numeric user ID of file's owner
gid Numeric group ID of file's owner
rdev The device identifier (special files only)
size Total size of file, in bytes
atime Last access time since the epoch
mtime Last modification time since the epoch
ctime Inode change time (not creation time!) since the epoch
blksize Preferred blocksize for file system I/O
blocks Actual number of blocks allocated

$dev and $ino , taken together, uniquely identify a file. The $blksize and $blocks are likely defined only on BSD-derived filesystems. The $blocks field (if defined) is reported in 512-byte blocks. Note that $blocks*512 can differ greatly from $size for files containing unallocated blocks, or "holes," which aren't counted in $blocks .

If stat is passed the special filehandle consisting of an underline, no actual stat is done, but the current contents of the stat structure from the last stat or stat -based file test (the -x operators) is returned.