summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1p/ls.1p
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--upstream/mageia-cauldron/man1p/ls.1p1152
1 files changed, 1152 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1p/ls.1p b/upstream/mageia-cauldron/man1p/ls.1p
new file mode 100644
index 00000000..88c39cca
--- /dev/null
+++ b/upstream/mageia-cauldron/man1p/ls.1p
@@ -0,0 +1,1152 @@
+'\" et
+.TH LS "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.\"
+.SH NAME
+ls
+\(em list directory contents
+.SH SYNOPSIS
+.LP
+.nf
+ls \fB[\fR-ikqrs\fB] [\fR-g\|lno\|\fB] [\fR-A|-a\fB] [\fR-C|-m|-x|-1\fB]\fR \e
+ \fB[\fR-F|-p\fB] [\fR-H|-L\fB] [\fR-R|-d\fB] [\fR-S|-f|-t\fB] [\fR-c|-u\fB] [\fIfile\fR...\fB]\fR
+.fi
+.SH DESCRIPTION
+For each operand that names a file of a type other than directory or
+symbolic link to a directory,
+.IR ls
+shall write the name of the file as well as any requested, associated
+information. For each operand that names a file of type directory,
+.IR ls
+shall write the names of files contained within the directory as well
+as any requested, associated information. Filenames beginning
+with a
+<period>
+(\c
+.BR '.' )
+and any associated information shall not be written out unless
+explicitly referenced, the
+.BR \-A
+or
+.BR \-a
+option is supplied, or an implementation-defined condition causes them
+to be written. If one or more of the
+.BR \-d ,
+.BR \-F ,
+or
+.BR \-l
+options are specified, and neither the
+.BR \-H
+nor the
+.BR \-L
+option is specified, for each operand that names a file of type
+symbolic link to a directory,
+.IR ls
+shall write the name of the file as well as any requested, associated
+information. If none of the
+.BR \-d ,
+.BR \-F ,
+or
+.BR \-l
+options are specified, or the
+.BR \-H
+or
+.BR \-L
+options are specified, for each operand that names a file of type
+symbolic link to a directory,
+.IR ls
+shall write the names of files contained within the directory as well
+as any requested, associated information. In each case where the names
+of files contained within a directory are written, if the directory
+contains any symbolic links then
+.IR ls
+shall evaluate the file information and file type to be those of
+the symbolic link itself, unless the
+.BR \-L
+option is specified.
+.P
+If no operands are specified,
+.IR ls
+shall behave as if a single operand of dot (\c
+.BR '.' )
+had been specified. If more than one operand is specified,
+.IR ls
+shall write non-directory operands first; it shall sort directory and
+non-directory operands separately according to the collating sequence
+in the current locale.
+.P
+Whenever
+.IR ls
+sorts filenames or pathnames according to the collating sequence in
+the current locale, if this collating sequence does not have a total
+ordering of all characters (see the Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 7.3.2" ", " "LC_COLLATE"),
+then any filenames or pathnames that collate equally should be further
+compared byte-by-byte using the collating sequence for the POSIX locale.
+.P
+The
+.IR ls
+utility shall detect infinite loops; that is, entering a previously
+visited directory that is an ancestor of the last file encountered.
+When it detects an infinite loop,
+.IR ls
+shall write a diagnostic message to standard error and shall either
+recover its position in the hierarchy or terminate.
+.SH OPTIONS
+The
+.IR ls
+utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 12.2" ", " "Utility Syntax Guidelines".
+.P
+The following options shall be supported:
+.IP "\fB\-A\fP" 10
+Write out all directory entries, including those whose names begin with a
+<period>
+(\c
+.BR '.' )
+but excluding the entries dot and dot-dot (if they exist).
+.IP "\fB\-C\fP" 10
+Write multi-text-column output with entries sorted down the columns,
+according to the collating sequence. The number of text columns and the
+column separator characters are unspecified, but should be adapted to
+the nature of the output device. This option disables long format output.
+.IP "\fB\-F\fP" 10
+Do not follow symbolic links named as operands unless the
+.BR \-H
+or
+.BR \-L
+options are specified. Write a
+<slash>
+(\c
+.BR '/' )
+immediately after each pathname that is a directory, an
+<asterisk>
+(\c
+.BR '*' )
+after each that is executable, a
+<vertical-line>
+(\c
+.BR '|' )
+after each that is a FIFO, and an at-sign (\c
+.BR '@' )
+after each that is a symbolic link. For other file types, other
+symbols may be written.
+.IP "\fB\-H\fP" 10
+Evaluate the file information and file type for symbolic links specified
+on the command line to be those of the file referenced by the link,
+and not the link itself; however,
+.IR ls
+shall write the name of the link itself and not the file referenced by
+the link.
+.IP "\fB\-L\fP" 10
+Evaluate the file information and file type for all symbolic links
+(whether named on the command line or encountered in a file hierarchy)
+to be those of the file referenced by the link, and not the link
+itself; however,
+.IR ls
+shall write the name of the link itself and not the file referenced by
+the link. When
+.BR \-L
+is used with
+.BR \-l ,
+write the contents of symbolic links in the long format (see the STDOUT
+section).
+.IP "\fB\-R\fP" 10
+Recursively list subdirectories encountered. When a symbolic link to a
+directory is encountered, the directory shall not be recursively listed
+unless the
+.BR \-L
+option is specified.
+The use of
+.BR \-R
+with
+.BR \-d
+or
+.BR \-f
+produces unspecified results.
+.IP "\fB\-S\fP" 10
+Sort with the primary key being file size (in decreasing order) and the
+secondary key being filename in the collating sequence (in increasing
+order).
+.IP "\fB\-a\fP" 10
+Write out all directory entries, including those whose names begin with a
+<period>
+(\c
+.BR '.' ).
+.IP "\fB\-c\fP" 10
+Use time of last modification of the file status information (see the Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<sys_stat.h>\fP")
+instead of last modification of the file itself for sorting (\c
+.BR \-t )
+or writing (\c
+.BR \-l ).
+.IP "\fB\-d\fP" 10
+Do not follow symbolic links named as operands unless the
+.BR \-H
+or
+.BR \-L
+options are specified. Do not treat directories differently than other
+types of files. The use of
+.BR \-d
+with
+.BR \-R
+or
+.BR \-f
+produces unspecified results.
+.IP "\fB\-f\fP" 10
+List the entries in directory operands in the order they appear in the
+directory. The behavior for non-directory operands is unspecified. This
+option shall turn on
+.BR \-a .
+When
+.BR \-f
+is specified, any occurrences of the
+.BR \-r ,
+.BR \-S ,
+and
+.BR \-t
+options shall be ignored and any occurrences of the
+.BR \-A ,
+.BR \-g ,
+.BR \-l ,
+.BR \-n ,
+.BR \-o ,
+and
+.BR \-s
+options may be ignored. The use of
+.BR \-f
+with
+.BR \-R
+or
+.BR \-d
+produces unspecified results.
+.IP "\fB\-g\fP" 10
+Turn on the
+.BR \-l
+(ell) option, but disable writing the file's owner name or number.
+Disable the
+.BR \-C ,
+.BR \-m ,
+and
+.BR \-x
+options.
+.IP "\fB\-i\fP" 10
+For each file, write the file's file serial number (see
+\fIstat\fR()
+in the System Interfaces volume of POSIX.1\(hy2017).
+.IP "\fB\-k\fP" 10
+Set the block size for the
+.BR \-s
+option and the per-directory block count written for the
+.BR \-l ,
+.BR \-n ,
+.BR \-s ,
+.BR \-g ,
+and
+.BR \-o
+options (see the STDOUT section) to 1\|024 bytes.
+.IP "\fB\-l\fP" 10
+(The letter ell.) Do not follow symbolic links named as operands unless
+the
+.BR \-H
+or
+.BR \-L
+options are specified. Write out in long format (see the STDOUT
+section). Disable the
+.BR \-C ,
+.BR \-m ,
+and
+.BR \-x
+options.
+.IP "\fB\-m\fP" 10
+Stream output format; list pathnames across the page, separated by a
+<comma>
+character followed by a
+<space>
+character. Use a
+<newline>
+character as the list terminator and after the separator sequence when
+there is not room on a line for the next list entry. This option disables
+long format output.
+.IP "\fB\-n\fP" 10
+Turn on the
+.BR \-l
+(ell) option, but when writing the file's owner or group, write
+the file's numeric UID or GID rather than the user or group name,
+respectively. Disable the
+.BR \-C ,
+.BR \-m ,
+and
+.BR \-x
+options.
+.IP "\fB\-o\fP" 10
+Turn on the
+.BR \-l
+(ell) option, but disable writing the file's group name or number.
+Disable the
+.BR \-C ,
+.BR \-m ,
+and
+.BR \-x
+options.
+.IP "\fB\-p\fP" 10
+Write a
+<slash>
+(\c
+.BR '/' )
+after each filename if that file is a directory.
+.IP "\fB\-q\fP" 10
+Force each instance of non-printable filename characters and
+<tab>
+characters to be written as the
+<question-mark>
+(\c
+.BR '?' )
+character. Implementations may provide this option by default if the
+output is to a terminal device.
+.IP "\fB\-r\fP" 10
+Reverse the order of the sort to get reverse collating sequence oldest
+first, or smallest file size first depending on the other options
+given.
+.IP "\fB\-s\fP" 10
+Indicate the total number of file system blocks consumed by each file
+displayed. If the
+.BR \-k
+option is also specified, the block size shall be 1\|024 bytes;
+otherwise, the block size is implementation-defined.
+.IP "\fB\-t\fP" 10
+Sort with the primary key being time modified (most recently modified
+first) and the secondary key being filename in the collating sequence.
+For a symbolic link, the time used as the sort key is that of the
+symbolic link itself, unless
+.IR ls
+is evaluating its file information to be that of the file referenced
+by the link (see the
+.BR \-H
+and
+.BR \-L
+options).
+.IP "\fB\-u\fP" 10
+Use time of last access (see the Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<sys_stat.h>\fP")
+instead of last modification of the file for sorting (\c
+.BR \-t )
+or writing (\c
+.BR \-l ).
+.IP "\fB\-x\fP" 10
+The same as
+.BR \-C ,
+except that the multi-text-column output is produced with entries sorted
+across, rather than down, the columns. This option disables long format
+output.
+.IP "\fB\-1\fP" 10
+(The numeric digit one.) Force output to be one entry per line.
+This option does not disable long format output. (Long format output is
+enabled by
+.BR \-g ,
+.BR \-l
+(ell),
+.BR \-n ,
+and
+.BR \-o ;
+and disabled by
+.BR \-C ,
+.BR \-m ,
+and
+.BR \-x .)
+.P
+If an option that enables long format output (\c
+.BR \-g ,
+.BR \-l
+(ell),
+.BR \-n ,
+and
+.BR "\\-o\|\" )
+is given with an option that disables long format output (\c
+.BR \-C ,
+.BR \-m ,
+and
+.BR \-x ),
+this shall not be considered an error. The last of these options
+specified shall determine whether long format output is written.
+.P
+If
+.BR \-R ,
+.BR \-d ,
+or
+.BR \-f
+are specified, the results of specifying these mutually-exclusive options
+are specified by the descriptions of these options above. If more
+than one of any of the other options shown in the SYNOPSIS section in
+mutually-exclusive sets are given, this shall not be considered an error;
+the last option specified in each set shall determine the output.
+.P
+Note that if
+.BR \-t
+is specified,
+.BR \-c
+and
+.BR \-u
+are not only mutually-exclusive with each other, they are also
+mutually-exclusive with
+.BR \-S
+when determining sort order. But even if
+.BR \-S
+is specified after all occurrences of
+.BR \-c ,
+.BR \-t ,
+and
+.BR \-u ,
+the last use of
+.BR \-c
+or
+.BR \-u
+determines the timestamp printed when producing long format output.
+.SH OPERANDS
+The following operand shall be supported:
+.IP "\fIfile\fR" 10
+A pathname of a file to be written. If the file specified is not
+found, a diagnostic message shall be output on standard error.
+.SH STDIN
+Not used.
+.SH "INPUT FILES"
+None.
+.br
+.SH "ENVIRONMENT VARIABLES"
+The following environment variables shall affect the execution of
+.IR ls :
+.IP "\fICOLUMNS\fP" 10
+Determine the user's preferred column position width for writing
+multiple text-column output. If this variable contains a string
+representing a decimal integer, the
+.IR ls
+utility shall calculate how many pathname text columns to write (see
+.BR \-C )
+based on the width provided. If
+.IR COLUMNS
+is not set or invalid, an implementation-defined number of column
+positions shall be assumed, based on the implementation's knowledge of
+the output device. The column width chosen to write the names of files
+in any given directory shall be constant. Filenames shall not be
+truncated to fit into the multiple text-column output.
+.IP "\fILANG\fP" 10
+Provide a default value for the internationalization variables that are
+unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 8.2" ", " "Internationalization Variables"
+for the precedence of internationalization variables used to determine
+the values of locale categories.)
+.IP "\fILC_ALL\fP" 10
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.IP "\fILC_COLLATE\fP" 10
+.br
+Determine the locale for character collation information in determining
+the pathname collation sequence.
+.IP "\fILC_CTYPE\fP" 10
+Determine the locale for the interpretation of sequences of bytes of
+text data as characters (for example, single-byte as opposed to multi-byte
+characters in arguments) and which characters are defined as printable
+(character class
+.BR print ).
+.IP "\fILC_MESSAGES\fP" 10
+.br
+Determine the locale that should be used to affect the format and
+contents of diagnostic messages written to standard error.
+.IP "\fILC_TIME\fP" 10
+Determine the format and contents for date and time strings written by
+.IR ls .
+.IP "\fINLSPATH\fP" 10
+Determine the location of message catalogs for the processing of
+.IR LC_MESSAGES .
+.IP "\fITZ\fP" 10
+Determine the timezone for date and time strings written by
+.IR ls .
+If
+.IR TZ
+is unset or null, an unspecified default timezone shall be used.
+.SH "ASYNCHRONOUS EVENTS"
+Default.
+.SH STDOUT
+The default format shall be to list one entry per line to standard
+output; the exceptions are to terminals or when one of the
+.BR \-C ,
+.BR \-m ,
+or
+.BR \-x
+options is specified. If the output is to a terminal, the format is
+implementation-defined.
+.P
+When
+.BR \-m
+is specified, the format used for the last element of the list
+shall be:
+.sp
+.RS 4
+.nf
+
+"%s\en", <\fIfilename\fR>
+.fi
+.P
+.RE
+.P
+The format used for each other element of the list shall be:
+.sp
+.RS 4
+.nf
+
+"%s,%s", <\fIfilename\fR>, <\fIseparator\fR>
+.fi
+.P
+.RE
+.P
+where, if there is not room for the next element of the list to fit
+within the current line length, <\fIseparator\fP> is a string containing
+an optional
+<space>
+character and a mandatory
+<newline>
+character; otherwise it is a single
+<space>
+character.
+.P
+If the
+.BR \-i
+option is specified, the file's file serial number (see the Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<sys_stat.h>\fP")
+shall be written in the following format before any other output for
+the corresponding entry:
+.sp
+.RS 4
+.nf
+
+%u ", <\fIfile serial number\fR>
+.fi
+.P
+.RE
+.P
+If the
+.BR \-l
+option is specified, the following information shall be written for
+files other than character special and block special files:
+.sp
+.RS 4
+.nf
+
+"%s %u %s %s %u %s %s\en", <\fIfile mode\fR>, <\fInumber of links\fR>,
+ <\fIowner name\fR>, <\fIgroup name\fR>, <\fIsize\fR>, <\fIdate and time\fR>,
+ <\fIpathname\fR>
+.fi
+.P
+.RE
+.P
+If the
+.BR \-l
+option is specified, the following information shall be written
+for character special and block special files:
+.sp
+.RS 4
+.nf
+
+"%s %u %s %s %s %s %s\en", <\fIfile mode\fR>, <\fInumber of links\fR>,
+ <\fIowner name\fR>, <\fIgroup name\fR>, <\fIdevice info\fR>, <\fIdate and time\fR>,
+ <\fIpathname\fR>
+.fi
+.P
+.RE
+.P
+In both cases if the file is a symbolic link and the
+.BR \-L
+option is also specified, this information shall be for the file
+resolved from the symbolic link, except that the <\fIpathname\fP> field
+shall contain the pathname of the symbolic link itself. If the file is
+a symbolic link and the
+.BR \-L
+option is not specified, this information shall be about the link itself
+and the <\fIpathname\fP> field shall be of the form:
+.sp
+.RS 4
+.nf
+
+"%s -> %s", <\fIpathname of link\fR>, <\fIcontents of link\fR>
+.fi
+.P
+.RE
+.P
+The
+.BR \-n ,
+.BR \-g ,
+and
+.BR \-o
+options use the same format as
+.BR \-l ,
+but with omitted items and their associated
+<blank>
+characters. See the OPTIONS section.
+.P
+In both the preceding
+.BR \-l
+forms, if <\fIowner name\fR> or <\fIgroup name\fR> cannot be
+determined, or if
+.BR \-n
+is given, they shall be replaced with their associated numeric values
+using the format
+.BR %u .
+.P
+The <\fIsize\fP> field shall contain the value that would be returned
+for the file in the
+.IR st_size
+field of
+.BR "struct stat"
+(see the Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<sys_stat.h>\fP").
+Note that for some file types this value is unspecified.
+.P
+The <\fIdevice\ info\fP> field shall contain implementation-defined
+information associated with the device in question.
+.P
+The <\fIdate\ and\ time\fP> field shall contain the appropriate date
+and timestamp of when the file was last modified. In the POSIX locale,
+the field shall be the equivalent of the output of the following
+.IR date
+command:
+.sp
+.RS 4
+.nf
+
+date "+%b %e %H:%M"
+.fi
+.P
+.RE
+.P
+if the file has been modified in the last six months, or:
+.sp
+.RS 4
+.nf
+
+date "+%b %e %Y"
+.fi
+.P
+.RE
+.P
+(where two
+<space>
+characters are used between
+.BR %e
+and
+.BR %Y )
+if the file has not been modified in the last six months or if the
+modification date is in the future, except that, in both cases, the final
+<newline>
+produced by
+.IR date
+shall not be included and the output shall be as if the
+.IR date
+command were executed at the time of the last modification date of the
+file rather than the current time. When the
+.IR LC_TIME
+locale category is not set to the POSIX locale, a different format and
+order of presentation of this field may be used.
+.P
+If the pathname was specified as a
+.IR file
+operand, it shall be written as specified.
+.P
+The file mode written under the
+.BR \-l ,
+.BR \-n ,
+.BR \-g ,
+and
+.BR \-o
+options shall consist of the following format:
+.sp
+.RS 4
+.nf
+
+"%c%s%s%s%s", <\fIentry type\fR>, <\fIowner permissions\fR>,
+ <\fIgroup permissions\fR>, <\fIother permissions\fR>,
+ <\fIoptional alternate access method flag\fR>
+.fi
+.P
+.RE
+.P
+The <\fIoptional\ alternate\ access\ method\ flag\fP> shall be the
+empty string if there is no alternate or additional access control
+method associated with the file; otherwise, it shall be a string
+containing a single printable character that is not a
+<blank>.
+.P
+The <\fIentry\ type\fP> character shall describe the type of file, as
+follows:
+.IP "\fRd\fP" 8
+Directory.
+.IP "\fRb\fP" 8
+Block special file.
+.IP "\fRc\fP" 8
+Character special file.
+.IP "\fRl\fP\ (ell)" 8
+Symbolic link.
+.IP "\fRp\fP" 8
+FIFO.
+.IP "\fR\-\fP" 8
+Regular file.
+.P
+Implementations may add other characters to this list to represent
+other implementation-defined file types.
+.P
+The next three fields shall be three characters each:
+.IP "<\fIowner permissions\fP>" 6
+.br
+Permissions for the file owner class (see the Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 4.5" ", " "File Access Permissions").
+.IP "<\fIgroup permissions\fP>" 6
+.br
+Permissions for the file group class.
+.IP "<\fIother permissions\fP>" 6
+.br
+Permissions for the file other class.
+.P
+Each field shall have three character positions:
+.IP " 1." 4
+If
+.BR 'r' ,
+the file is readable; if
+.BR '\-' ,
+the file is not readable.
+.IP " 2." 4
+If
+.BR 'w' ,
+the file is writable; if
+.BR '\-' ,
+the file is not writable.
+.IP " 3." 4
+The first of the following that applies:
+.RS 4
+.IP "\fRS\fR" 6
+If in <\fIowner\ permissions\fP>, the file is not executable and
+set-user-ID mode is set. If in <\fIgroup\ permissions\fP>, the file is
+not executable and set-group-ID mode is set.
+.IP "\fRs\fR" 6
+If in <\fIowner\ permissions\fP>, the file is executable and
+set-user-ID mode is set. If in <\fIgroup\ permissions\fP>, the file is
+executable and set-group-ID mode is set.
+.IP "\fRT\fR" 6
+If in <\fIother\ permissions\fP> and the file is a directory, search
+permission is not granted to others, and the restricted deletion flag
+is set.
+.IP "\fRt\fR" 6
+If in <\fIother\ permissions\fP> and the file is a directory, search
+permission is granted to others, and the restricted deletion flag
+is set.
+.IP "\fRx\fR" 6
+The file is executable or the directory is searchable.
+.IP "\fR\-\fR" 6
+None of the attributes of
+.BR 'S' ,
+.BR 's' ,
+.BR 'T' ,
+.BR 't' ,
+or
+.BR 'x'
+applies.
+.P
+Implementations may add other characters to this list for the third
+character position. Such additions shall, however, be written in
+lowercase if the file is executable or searchable, and in uppercase if
+it is not.
+.RE
+.P
+If any of the
+.BR \-l ,
+.BR \-n ,
+.BR \-s ,
+.BR \-g ,
+or
+.BR \-o
+options is specified, each list of files within the directory shall be
+preceded by a status line indicating the number of file system blocks
+occupied by files in the directory in 512-byte units if the
+.BR \-k
+option is not specified, or 1\|024-byte units if the
+.BR \-k
+option is specified, rounded up to the next integral number of units,
+if necessary. In the POSIX locale, the format shall be:
+.sp
+.RS 4
+.nf
+
+"total %u\en", <\fInumber of units in the directory\fR>
+.fi
+.P
+.RE
+.P
+If more than one directory, or a combination of non-directory files and
+directories are written, either as a result of specifying multiple
+operands, or the
+.BR \-R
+option, each list of files within a directory shall be preceded by:
+.sp
+.RS 4
+.nf
+
+"\en%s:\en", <\fIdirectory name\fR>
+.fi
+.P
+.RE
+.P
+If this string is the first thing to be written, the first
+<newline>
+shall not be written. This output shall precede the number of units in
+the directory.
+.P
+If the
+.BR \-s
+option is given, each file shall be written with the number of blocks
+used by the file. Along with
+.BR \-C ,
+.BR \-1 ,
+.BR \-m ,
+or
+.BR \-x ,
+the number and a
+<space>
+shall precede the filename; with
+.BR \-l ,
+.BR \-n ,
+.BR \-g ,
+or
+.BR \-o ,
+they shall precede each line describing a file.
+.SH STDERR
+The standard error shall be used only for diagnostic messages.
+.SH "OUTPUT FILES"
+None.
+.SH "EXTENDED DESCRIPTION"
+None.
+.SH "EXIT STATUS"
+The following exit values shall be returned:
+.IP "\00" 6
+Successful completion.
+.IP >0 6
+An error occurred.
+.SH "CONSEQUENCES OF ERRORS"
+Default.
+.LP
+.IR "The following sections are informative."
+.SH "APPLICATION USAGE"
+Many implementations use the
+<equals-sign>
+(\c
+.BR '=' )
+to denote sockets bound to the file system for the
+.BR \-F
+option. Similarly, many historical implementations use the
+.BR 's'
+character to denote sockets as the entry type characters for the
+.BR \-l
+option.
+.P
+It is difficult for an application to use every part of the file modes
+field of
+.IR ls
+.BR \-l
+in a portable manner. Certain file types and executable bits are not
+guaranteed to be exactly as shown, as implementations may have
+extensions. Applications can use this field to pass directly to a user
+printout or prompt, but actions based on its contents should generally
+be deferred, instead, to the
+.IR test
+utility.
+.P
+The output of
+.IR ls
+(with the
+.BR \-l
+and related options) contains information that logically could be used
+by utilities such as
+.IR chmod
+and
+.IR touch
+to restore files to a known state. However, this information is
+presented in a format that cannot be used directly by those utilities
+or be easily translated into a format that can be used. A character
+has been added to the end of the permissions string so that
+applications at least have an indication that they may be working in an
+area they do not understand instead of assuming that they can translate
+the permissions string into something that can be used. Future versions
+or related documents may define one or more specific characters to be
+used based on different standard additional or alternative access
+control mechanisms.
+.P
+As with many of the utilities that deal with filenames, the output of
+.IR ls
+for multiple files or in one of the long listing formats must be used
+carefully on systems where filenames can contain embedded white
+space. Systems and system administrators should institute policies and
+user training to limit the use of such filenames.
+.P
+The number of disk blocks occupied by the file that it reports varies
+depending on underlying file system type, block size units reported,
+and the method of calculating the number of blocks. On some file
+system types, the number is the actual number of blocks occupied by the
+file (counting indirect blocks and ignoring holes in the file); on
+others it is calculated based on the file size (usually making an
+allowance for indirect blocks, but ignoring holes).
+.SH EXAMPLES
+An example of a small directory tree being fully listed with
+.IR ls
+.BR "\-laRF\ a"
+in the POSIX locale:
+.sp
+.RS 4
+.nf
+
+total 11
+drwxr-xr-x 3 fox prog 64 Jul 4 12:07 ./
+drwxrwxrwx 4 fox prog 3264 Jul 4 12:09 ../
+drwxr-xr-x 2 fox prog 48 Jul 4 12:07 b/
+-rwxr--r-- 1 fox prog 572 Jul 4 12:07 foo*
+.P
+a/b:
+total 4
+drwxr-xr-x 2 fox prog 48 Jul 4 12:07 ./
+drwxr-xr-x 3 fox prog 64 Jul 4 12:07 ../
+-rw-r--r-- 1 fox prog 700 Jul 4 12:07 bar
+.fi
+.P
+.RE
+.SH RATIONALE
+Some historical implementations of the
+.IR ls
+utility show all entries in a directory except dot and dot-dot when a
+superuser invokes
+.IR ls
+without specifying the
+.BR \-a
+option. When ``normal'' users invoke
+.IR ls
+without specifying
+.BR \-a ,
+they should not see information about any files with names beginning
+with a
+<period>
+unless they were named as
+.IR file
+operands.
+.P
+Implementations are expected to traverse arbitrary depths when
+processing the
+.BR \-R
+option. The only limitation on depth should be based on running out of
+physical storage for keeping track of untraversed directories.
+.P
+The
+.BR \-1
+(one) option was historically found in BSD and BSD-derived
+implementations only. It is required in this volume of POSIX.1\(hy2017 so that conforming
+applications might ensure that output is one entry per line, even if
+the output is to a terminal.
+.P
+The
+.BR \-S
+option was added in Issue 7, but had been provided by several
+implementations for many years. The description given in the
+standard documents historic practice, but does not match much of the
+documentation that described its behavior. Historical documentation
+typically described it as something like:
+.IP "\fB\-S\fP" 10
+Sort by size (largest size first) instead of by name. Special character
+devices (listed last) are sorted by name.
+.P
+even though the file type was never considered when sorting the output.
+Character special files do typically sort close to the end of the list
+because their file size on most implementations is zero. But they are
+sorted alphabetically with any other files that happen to have the same
+file size (zero), not sorted separately and added to the end.
+.P
+This volume of POSIX.1\(hy2017 is frequently silent about what happens when mutually-exclusive
+options are specified. Except for
+.BR \-R ,
+.BR \-d ,
+and
+.BR \-f ,
+the
+.IR ls
+utility is required to accept multiple options from each
+mutually-exclusive option set without treating them as errors and to use
+the behavior specified by the last option given in each mutually-exclusive
+set. Since
+.IR ls
+is one of the most aliased commands, it is important that the
+implementation perform intuitively. For example, if the alias were:
+.sp
+.RS 4
+.nf
+
+alias ls="ls -C"
+.fi
+.P
+.RE
+.P
+and the user typed
+.IR ls
+.BR \-1
+(one), single-text-column output should result, not an error.
+.P
+The
+.BR \-g ,
+.BR \-l
+(ell),
+.BR \-n ,
+and
+.BR \-o
+options are not mutually-exclusive options. They all enable long format
+output. They work together to determine whether the file's owner is
+written (no if
+.BR \-g
+is present), file's group is written (no if
+.BR \-o
+is present), and if the file's group or owner is written whether it is
+written as the name (default) or a string representation of the UID or
+GID number (if
+.BR \-n
+is present). The
+.BR \-C ,
+.BR \-m ,
+.BR \-x ,
+and
+.BR \-1
+(one) are mutually-exclusive options and the first three of these disable
+long format output. The
+.BR \-1
+(one) option does not directly change whether or not long format output
+is enabled, but by overriding
+.BR \-C ,
+.BR \-m ,
+and
+.BR \-x ,
+it can re-enable long format output that had been disabled by one of
+these options.
+.P
+Earlier versions of this standard did not describe the BSD
+.BR \-A
+option (like
+.BR \-a ,
+but dot and dot-dot are not written out). It has been added due to
+widespread implementation.
+.P
+Implementations may make
+.BR \-q
+the default for terminals to prevent trojan horse attacks on terminals
+with special escape sequences.
+This is not required because:
+.IP " *" 4
+Some control characters may be useful on some terminals; for example, a
+system might write them as
+.BR \(dq\e001\(dq
+or
+.BR \(dq\(haA\(dq .
+.IP " *" 4
+Special behavior for terminals is not relevant to applications
+portability.
+.P
+An early proposal specified that the
+<\fIoptional\ alternate\ access\ method\ flag\fR> had to be
+.BR '\(pl'
+if there was an alternate access method used on the file or
+<space>
+if there was not. This was changed to be
+<space>
+if there is not and a single printable character if there is. This was
+done for three reasons:
+.IP " 1." 4
+There are historical implementations using characters other than
+.BR '\(pl' .
+.IP " 2." 4
+There are implementations that vary this character used in that
+position to distinguish between various alternate access methods in
+use.
+.IP " 3." 4
+The standard developers did not want to preclude future specifications
+that might need a way to specify more than one alternate access
+method.
+.P
+Nonetheless, implementations providing a single alternate access method
+are encouraged to use
+.BR '\(pl' .
+.P
+Earlier versions of this standard did not have the
+.BR \-k
+option, which meant that the
+.BR \-s
+option could not be used portably as its block size was
+implementation-defined, and the units used to specify the
+number of blocks occupied by files in a directory in an
+.IR ls
+.BR \-l
+listing were fixed as 512-byte units. The
+.BR \-k
+option has been added to provide a way for the
+.BR \-s
+option to be used portably, and for consistency it also changes the
+aforementioned units from 512-byte to 1\|024-byte.
+.P
+The <\fIdate\ and\ time\fP> field in the
+.BR \-l
+format is specified only for the POSIX locale. As noted, the format can
+be different in other locales. No mechanism for defining this is
+present in this volume of POSIX.1\(hy2017, as the appropriate vehicle is a messaging system;
+that is, the format should be specified as a ``message''.
+.SH "FUTURE DIRECTIONS"
+Allowing
+.BR \-f
+to ignore the
+.BR \-A ,
+.BR \-g ,
+.BR \-l ,
+.BR \-n ,
+.BR \-o ,
+and
+.BR \-s
+options may be removed in a future version.
+.P
+A future version of this standard may require that if the collating
+sequence for the current locale does not have a total ordering of all
+characters, any filenames or pathnames that collate equally are
+further compared byte-by-byte using the collating sequence for the
+POSIX locale.
+.SH "SEE ALSO"
+.IR "\fIchmod\fR\^",
+.IR "\fIfind\fR\^"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 7.3.2" ", " "LC_COLLATE",
+.IR "Section 4.5" ", " "File Access Permissions",
+.IR "Chapter 8" ", " "Environment Variables",
+.IR "Section 12.2" ", " "Utility Syntax Guidelines",
+.IR "\fB<sys_stat.h>\fP"
+.P
+The System Interfaces volume of POSIX.1\(hy2017,
+.IR "\fIfstatat\fR\^(\|)"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+In the event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .