minix/man/man1/stat.1

112 lines
2.2 KiB
Groff
Raw Normal View History

2005-05-02 15:01:42 +02:00
.TH STAT 1
.SH NAME
stat, lstat, readlink \- provide a shell interface to the stat(2) system call
2005-05-02 15:01:42 +02:00
.SH SYNOPSIS
.B stat
.RB [ - ]
.RB [ -\fIfd ]
.RB [ -all ]
.RB [ -s ]
.RB [ -\fIfield " ...]"
.RI [ file1 " ...]"
.SH DESCRIPTION
.B Stat
does little more than provide access to the fields in the
.B struct stat
as defined in the
.BR stat (2)
manual page. Each field that is to be listed
is specified as the field name without the leading
.BR st_ .
This and the other two options are described below. All options are then
applied to the files listed. If
.B stat
is called as
.B lstat
then the
.BR lstat (2)
system call is used, if called as
.B stat
symbolic links are expanded with
2005-05-02 15:01:42 +02:00
.BR stat (2).
If called as
.B readlink
then the output is only the contents of the symbolic link.
2005-05-02 15:01:42 +02:00
.PP
If no fields are named then all fields are printed. If no files are listed
then all open filedescriptors are printed.
.SH OPTIONS
.TP
.B \-
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.''
.B \-\fIfd
If an argument is a ``\-'' followed by a number then that number is used as
a file descriptor whose information is to be printed.
.TP
.B \-all
List all fields for each file.
.TP
.B \-s
Use
.BR lstat (2).
.TP
.B \-mode
List the
.B mode
field. Similarly for
.BR ino ,
.BR dev ,
.BR rdev ,
.BR nlink ,
.BR uid ,
.BR gid ,
.BR size ,
.BR atime ,
.BR mtime ,
and
.BR ctime .
Under BSD derived systems you also have
.B blksize
and
.BR blocks .
.PP
.B \-Atime
.br
.B \-Mtime
.br
.B \-Ctime
.RS
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
.BR ctime (3)
format (i.e., human readable).
.RE
.SH EXAMPLES
.LP
# Find out the number of links to each file
.br
$ stat \-nlink *.c
.LP
# sort files by age (much like ls \-t)
.br
$ stat \-atime * | sort +1
.LP
# Find out which file is older in sh(1)
.br
if test `stat -mtime $1` -lt `stat -mtime $2`; then
.br
echo $1 is older than $2
.br
else
.br
echo $2 is older than $1
.br
fi
.SH "SEE ALSO"
.BR stat (2).
.SH AUTHOR
Larry McVoy (mcvoy@rsch.wisc.edu)