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. Later options override earlier options that
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.3 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.
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’.