NAME
stat, lstat - provide a shell interface to the stat(2) sys-
tem call
SYNOPSIS
stat [-] [-fd] [-all] [-s] [-field ...] [file1 ...]
DESCRIPTION
Stat does little more than provide access to the fields in
the struct stat as defined in the stat(2) manual page. Each
field that is to be listed is specified as the field name
without the leading st_. This and the other two options are
described below. All options are then applied to the files
listed. If stat is called as lstat then the lstat(2) system
call is used, otherwise symbolic links are expanded with
stat(2).
If no fields are named then all fields are printed. If no
files are listed then all open filedescriptors are printed.
OPTIONS
- If the first argument is ``-'', the list of files is
assumed to come from stdin. This is useful for things
like ``ls | stat -uid -mtime.'' -fd If an argument is
a ``-'' followed by a number then that number is used
as a file descriptor whose information is to be
printed.
-all List all fields for each file.
-s Use lstat(2).
-mode
List the mode field. Similarly for ino, dev, rdev,
nlink, uid, gid, size, atime, mtime, and ctime. Under
BSD derived systems you also have blksize and blocks.
-Atime
-Mtime
-Ctime
The lower case versions of these three options display
the time as an integer that is the ``seconds since
00:00 Jan 1. 1970.'' Listing the fields with the first
letter in caps causes the times to be printed in
ctime(3) format (i.e., human readable).
EXAMPLES
# Find out the number of links to each file
$ stat -nlink *.c
# sort files by age (much like ls -t)
$ stat -atime * | sort +1
# Find out which file is older in sh(1)
if test `stat -mtime $1` -lt `stat -mtime $2`; then
echo $1 is older than $2
else
echo $2 is older than $1
fi
SEE ALSO
stat(2).
AUTHOR
Larry McVoy (mcvoy@rsch.wisc.edu)