ls: List directory contents
ls program lists information about files (of any type,
including directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by default
ls lists the contents of directories, not recursively, and
omitting files with names beginning with ‘.’. For other non-option
arguments, by default
ls lists just the file name. If no
non-option argument is specified,
ls operates on the current
directory, acting as if it had been invoked with a single argument of ‘.’.
By default, the output is sorted alphabetically, according to the locale settings in effect.4 If standard output is a terminal, the output is in columns (sorted vertically) and control characters are output as question marks; otherwise, the output is listed one per line and control characters are output as-is.
ls is such a fundamental program, it has accumulated many
options over the years. They are described in the subsections below;
within each section, options are listed alphabetically (ignoring case).
The division of options into the subsections is not absolute, since some
options affect more than one aspect of
0 success 1 minor problems (e.g., failure to access a file or directory not specified as a command line argument. This happens when listing a directory in which entries are actively being removed or renamed.) 2 serious trouble (e.g., memory exhausted, invalid option, failure to access a file or directory specified as a command line argument or a directory loop)
Also see Common options.
|• Which files are listed|
|• What information is listed|
|• Sorting the output|
|• General output formatting|
|• Formatting file timestamps|
|• Formatting the file names|
If you use a non-POSIX
locale (e.g., by setting
LC_ALL to ‘en_US’), then
produce output that is sorted differently than you’re accustomed to.
In that case, set the
LC_ALL environment variable to ‘C’.