stat, lstat - provide a shell interface to the stat(2) system call

     stat [-] [-fd] [-all] [-s] [-field ...]  [file1 ...]

     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.


     -    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

     -all List all fields for each file.

     -s   Use lstat(2).

          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.

          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).


     # 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
             echo $2 is older than $1


     Larry McVoy (