coreutils: General output formatting
10.1.4 General output formatting
--------------------------------
These options affect the appearance of the overall output.
‘-1’
‘--format=single-column’
List one file per line. This is the default for ‘ls’ when standard
output is not a terminal. See also the ‘-b’ and ‘-q’ options to
suppress direct output of newline characters within a file name.
‘-C’
‘--format=vertical’
List files in columns, sorted vertically. This is the default for
‘ls’ if standard output is a terminal. It is always the default
for the ‘dir’ program. GNU ‘ls’ uses variable width columns to
display as many files as possible in the fewest lines.
‘--color [=WHEN]’
Specify whether to use color for distinguishing file types. WHEN
may be omitted, or one of:
• none - Do not use color at all. This is the default.
• auto - Only use color if standard output is a terminal.
• always - Always use color.
Specifying ‘--color’ and no WHEN is equivalent to ‘--color=always’.
If piping a colorized listing through a pager like ‘less’, use the
‘-R’ option to pass the color codes to the terminal.
Note that using the ‘--color’ option may incur a noticeable
performance penalty when run in a directory with very many entries,
because the default settings require that ‘ls’ ‘stat’ every single
file it lists. However, if you would like most of the file-type
coloring but can live without the other coloring options (e.g.,
executable, orphan, sticky, other-writable, capability), use
‘dircolors’ to set the ‘LS_COLORS’ environment variable like this,
eval $(dircolors -p | perl -pe \
's/^((CAP|S[ET]|O[TR]|M|E)\w+).*/$1 00/' | dircolors -)
and on a ‘dirent.d_type’-capable file system, ‘ls’ will perform
only one ‘stat’ call per command line argument.
‘-F’
‘--classify’
‘--indicator-style=classify’
Append a character to each file name indicating the file type.
Also, for regular files that are executable, append ‘*’. The file
type indicators are ‘/’ for directories, ‘@’ for symbolic links,
‘|’ for FIFOs, ‘=’ for sockets, ‘>’ for doors, and nothing for
regular files. Do not follow symbolic links listed on the command
line unless the ‘--dereference-command-line’ (‘-H’),
‘--dereference’ (‘-L’), or
‘--dereference-command-line-symlink-to-dir’ options are specified.
‘--file-type’
‘--indicator-style=file-type’
Append a character to each file name indicating the file type.
This is like ‘-F’, except that executables are not marked.
‘--hyperlink [=WHEN]’
Output codes recognized by some terminals to link to files using
the ‘file://’ URI format. WHEN may be omitted, or one of:
• none - Do not use hyperlinks at all. This is the default.
• auto - Only use hyperlinks if standard output is a terminal.
• always - Always use hyperlinks.
Specifying ‘--hyperlink’ and no WHEN is equivalent to
‘--hyperlink=always’.
‘--indicator-style=WORD’
Append a character indicator with style WORD to entry names, as
follows:
‘none’
Do not append any character indicator; this is the default.
‘slash’
Append ‘/’ for directories. This is the same as the ‘-p’
option.
‘file-type’
Append ‘/’ for directories, ‘@’ for symbolic links, ‘|’ for
FIFOs, ‘=’ for sockets, and nothing for regular files. This
is the same as the ‘--file-type’ option.
‘classify’
Append ‘*’ for executable regular files, otherwise behave as
for ‘file-type’. This is the same as the ‘-F’ or ‘--classify’
option.
‘-k’
‘--kibibytes’
Set the default block size to its normal value of 1024 bytes,
overriding any contrary specification in environment variables
(⇒Block size). If ‘--block-size’, ‘-h’, ‘--human-readable’,
or ‘--si’ options are used, they take precedence over ‘-k’ or
‘--kibibytes’ even if ‘-k’ or ‘--kibibytes’ is placed after the
other options.
The ‘-k’ or ‘--kibibytes’ option affects the per-directory block
count written by the ‘-l’ and similar options, and the size written
by the ‘-s’ or ‘--size’ option. It does not affect the file size
written by ‘-l’.
‘-m’
‘--format=commas’
List files horizontally, with as many as will fit on each line,
separated by ‘, ’ (a comma and a space).
‘-p’
‘--indicator-style=slash’
Append a ‘/’ to directory names.
‘-x’
‘--format=across’
‘--format=horizontal’
List the files in columns, sorted horizontally.
‘-T COLS’
‘--tabsize=COLS’
Assume that each tab stop is COLS columns wide. The default is 8.
‘ls’ uses tabs where possible in the output, for efficiency. If
COLS is zero, do not use tabs at all.
Some terminal emulators might not properly align columns to the
right of a TAB following a non-ASCII byte. You can avoid that
issue by using the ‘-T0’ option or put ‘TABSIZE=0’ in your
environment, to tell ‘ls’ to align using spaces, not tabs.
‘-w COLS’
‘--width=COLS’
Assume the screen is COLS columns wide. The default is taken from
the terminal settings if possible; otherwise the environment
variable ‘COLUMNS’ is used if it is set; otherwise the default is
80. With a COLS value of ‘0’, there is no limit on the length of
the output line, and that single output line will be delimited with
spaces, not tabs.