.TH LS 1
.SH NAME
lsproto \- list contents based on
.IR proto (3)
file
.SH SYNOPSIS
.B lsproto
[
.B -almpqsDFQ
]
[
.B -R root
]
.I proto ...
.PP
.SH DESCRIPTION
For each proto argument,
.I lsproto
lists the contents of the root hierarchy as presented in the proto file.
By default the current directory begins the tree traversal.
.PP
There are a number of options:
.TP
.B -a
Presents output in a format compatible for passing to
.IR tar (1)
or other archives.
.TP
.B -l
List in long format, giving mode (see below), file system type
(e.g., for devices, the
.B #
code letter that names it; see
.IR intro (3)),
the instance or subdevice number, owner, group,
size in bytes, and time of last modification
for each file.
.TP
.B -m
List the
.IR md5sum (1)
of each file.
.B -p
Print only the final path element of each file name.
.TP
.B -q
List the
.I qid
(see
.IR stat (3))
of each file; the printed fields are in the order
path, version, and type.
.TP
.B -s
Give size in Kbytes for each entry.
.TP
.B -D
Print debugging information for each entry traversed in proto file.
.TP
.B -F
Add the character
.B /
after all directory names
and the character
.B *
after all executable files.
.TP
.B -Q
By default, printed file names are quoted if they contain characters special to
.IR rc (1).
The
.B -Q
flag disables this behavior.
.TP
.B "-R root"
Base the tree traversal off of a root other than the current working directory.
.PP
The mode printed under the
.B -l
option contains 11 characters,
interpreted
as follows:
the first character is
.TP
.B d
if the entry is a directory;
.TP
.B a
if the entry is an append-only file;
.TP
.B D
if the entry is a Unix device;
.TP
.B L
if the entry is a symbolic link;
.TP
.B P
if the entry is a named pipe;
.TP
.B S
if the entry is a socket;
.TP
.B -
if the entry is a plain file.
.PD
.PP
The next letter is
.B l
if the file is exclusive access (one writer or reader at a time).
.PP
The last 9 characters are interpreted
as three sets of three bits each.
The first set refers to owner permissions;
the next to permissions to others in the same user-group;
and the last to all others.
Within each set the three characters indicate
permission respectively to read, to write, or to
execute the file as a program.
For a directory, `execute' permission is interpreted
to mean permission to search the directory
for a specified file.
The permissions are indicated as follows:
.TP 3
.B r
if the file is readable;
.PD 0
.TP 3
.B w
if the file is writable;
.TP 3
.B x
if the file is executable;
.TP 3
.B -
if none of the above permissions is granted.
.PD
.SH SOURCE
.B \*9/src/cmd/lsproto.c
.br
.B \*9/bin/lc
.SH SEE ALSO
.IR proto (3),
.IR stat (3),
.IR md5sum (1)
|