-.PP
-The mode printed under the
-.B \-l
-option contains 11 characters
-which are interpreted
-as follows:
-the first character is
-.TP 3
-.B d
-if the entry is a directory;
-.br
-.ns
-.TP 3
-.B b
-if the entry is a block-type special file;
-.br
-.ns
-.TP 3
-.B c
-if the entry is a character-type special file;
-.br
-.ns
-.TP 3
-.B l
-if the entry is a symbolic link;
-.br
-.ns
-.TP
-.B s
-if the entry is a socket, or
-.br
-.ns
-.TP 3
-.B \-
-if the entry is a plain file.
-.PP
-The next 9 characters are interpreted
-as three sets of three bits each.
-The first set refers to owner permissions;
-the next refers 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.
-The permissions are indicated as follows:
-.TP 3
-.B r
-if the file is readable;
-.br
-.ns
-.TP 3
-.B w
-if the file is writable;
-.br
-.ns
-.TP 3
-.B x
-if the file is executable;
-.br
-.ns
-.TP 3
-.B \-
-if the indicated permission is not granted.
-.PP
-The group-execute permission character is given as \fBs\fP if the file has
-the set-group-id bit set; likewise the user-execute permission character is
-given as \fBs\fP if the file has the set-user-id bit set. These are given
-as \fBS\fP (capitalized) if the corresponding execute permission is NOT
-set.
-.PP
-The last character of the mode (normally `x' or `\-') is
-.B t
-if the 1000 bit of the mode is on.
-See
-.IR chmod (1)
-for the meaning of this mode. This is given as
-.B T
-(capitalized) if the corresponding execute permission is NOT set.
-.PP
-When the sizes of the files in a directory
-are listed, a total count of blocks,
-including indirect blocks is printed.
-.SH FILES
-/etc/passwd to get user id's for
-`ls \-l'.
-.br
-/etc/group to get group id's for
-`ls \-g'.
-.SH BUGS
-The option setting based on whether the output is a teletype is
-undesirable as ``ls\ \-s'' is much different than ``ls\ \-s\ |\ lpr''.
-On the other hand, not doing this setting would make old shell scripts
-which used
-.I ls
-almost certain losers.
+.Pp
+By default,
+.Nm ls
+lists one entry per line to standard
+output; the exceptions are to terminals or when the
+.Fl C
+option is specified.
+.Pp
+File information is displayed with one or more
+<blank>s separating the information associated with the
+.Fl i ,
+.Fl s ,
+and
+.Fl l
+options.
+.Ss The Long Format
+If the
+.Fl l
+option is given, the following information
+is be displayed:
+file mode,
+number of links, owner name,
+.\" group name,
+number of bytes in the file, abbreviated
+month, day-of-month file was last modified,
+hour file last modified, minute file last
+modified, and the pathname.
+.Pp
+If the owner name is not a known user name
+the numeric ID is displayed.
+.Pp
+If the file is a character special or block special file,
+the major and minor device numbers for the file are displayed
+in the size field. If the file is a symbolic link the pathname of the
+linked-to file is preceded by
+.Dq \-> .
+.Pp
+The file mode printed under the -l option consists of the
+the entry type, owner permissions, and group permissions.
+The entry type character describes the type of file, as
+follows:
+.Pp
+.Bl -tag -width 4n -offset indent -compact
+.It Sy b
+Block special file.
+.It Sy c
+Character special file.
+.It Sy d
+Directory.
+.It Sy l
+Symbolic link.
+.It Sy s
+Socket link.
+.\" .It Sy p
+.\" .Tn FIFO .
+.It Sy \-
+Regular file.
+.El
+.Pp
+The next three fields
+are three characters each:
+owner permissions,
+group permissions, and
+other permissions.
+Each field has three character positions:
+.Bl -enum -offset indent
+.It
+If
+.Sy r ,
+the file is readable; if
+.Sy \- ,
+it is not readable.
+.It
+If
+.Sy w ,
+the file is writable; if
+.Sy \- ,
+it is not writable.
+.It
+The first of the following that applies:
+.Bl -tag -width 4n -offset indent
+.It Sy S
+If in the owner permissions, the file is not executable and
+set-user-ID mode is set.
+If in the group permissions, the file is not executable
+and set-group-ID mode is set.
+.It Sy s
+If in the owner permissions, the file is executable
+and set-user-ID mode is set.
+If in the group permissions, the file is executable
+and setgroup-ID mode is set.
+.It Sy x
+The file is executable or the directory is
+searchable.
+.It Sy \-
+The file is neither readable, writeable, exectutable,
+or set-user-ID or set-group-ID mode nor sticky. (See below.)
+.El
+.Pp
+These next two apply only to the third character in the last group
+(other permissions).
+.Bl -tag -width 4n -offset indent
+.It Sy T
+The sticky bit is set
+(mode
+.Li 1000 ) ,
+but not execute or search permission. (See
+.Xr chmod 1
+or
+.Xr sticky 8 . )
+.It Sy t
+The sticky bit is set (mode
+.Li 1000 ) ,
+and is searcheable or executable.
+(See
+.Xr chmod 1
+or
+.Xr sticky 8 . )
+.El
+.El
+.Pp
+The
+.Nm ls
+utility exits 0 on success, and >0 if an error occurs.
+.Sh ENVIRONMENT
+The following environment variables affect the execution of
+.Nm ls :
+.Bl -tag -width COLUMNS
+.It COLUMNS
+If this variable contains a string representing a
+decimal integer, it is used as the
+column position width for displaying
+multiple-text-column output.
+The
+.Nm ls
+utility calculates how
+many pathname text columns to display
+based on the width provided.
+(See
+.Fl C . )
+.El
+.Sh SEE ALSO
+.Xr chmod 1 ,
+.Xr sticky 8
+.Sh HISTORY
+A
+.Nm ls
+command appeared in
+.At v6 .
+.\" .Sh STANDARDS
+.\" .The
+.\" .Nm ls
+.\" function is expected to be
+.\" .Tn POSIX
+.\" 1003.2 compatible.