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