> Linux Man Page: "ls"


Search with Google


The Linux Documentation Project maintains an archive of snaphots of the (English language) core Linux manual pages that are maintained by Michael Kerrisk. Corrections and additions are welcome, but review the "Help Wanted" list, first.

Man pages belonging to programs are usually distributed together with those programs. Therefore, the core Linux man-pages mainly contains the pages for system calls and library routines, special devices, and file formats. However, it also contains documentation for a few programs, in cases where the authors or maintainers of the program do not distribute man pages themselves.

This page is part of release 3.11 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at


man page(1) manual page Table of Contents


ls - list directory contents


ls [OPTION]... [FILE]...


List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort.

Mandatory arguments to long options are mandatory for short options too.

-a, --all
do not ignore entries starting with .

-A, --almost-all
do not list implied . and ..

with -l, print the author of each file

-b, --escape
print octal escapes for nongraphic characters

use SIZE-byte blocks

-B, --ignore-backups
do not list implied entries ending with ~

with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime

list entries by columns

control whether color is used to distinguish file types. WHEN may be ‘never’, ‘always’, or ‘auto’

-d, --directory
list directory entries instead of contents, and do not dereference symbolic links

-D, --dired
generate output designed for Emacs’ dired mode

do not sort, enable -aU, disable -ls --color

-F, --classify
append indicator (one of */=>@|) to entries

likewise, except do not append ‘*’

across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C

like -l --time-style=full-iso

like -l, but do not list owner

group directories before files

-G, --no-group
in a long listing, don’t print group names

-h, --human-readable
with -l, print sizes in human readable format (e.g., 1K 234M 2G)

likewise, but use powers of 1000 not 1024

-H, --dereference-command-line
follow symbolic links listed on the command line

follow each command line symbolic link that points to a directory

do not list implied entries matching shell PATTERN (overridden by -a or -A)

append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F)

-i, --inode
print the index number of each file

-I, --ignore=PATTERN
do not list implied entries matching shell PATTERN

like --block-size=1K

use a long listing format

-L, --dereference
when showing file information for a symbolic link, show information for the file the link references rather than for the link itself

fill width with a comma separated list of entries

-n, --numeric-uid-gid
like -l, but list numeric user and group IDs

-N, --literal
print raw entry names (don’t treat e.g. control characters specially)

like -l, but do not list group information

-p, --indicator-style=slash
append / indicator to directories

-q, --hide-control-chars
print ? instead of non graphic characters

show non graphic characters as-is (default unless program is ‘ls’ and output is a terminal)

-Q, --quote-name
enclose entry names in double quotes

use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape

-r, --reverse
reverse order while sorting

-R, --recursive
list subdirectories recursively

-s, --size
print the size of each file, in blocks

sort by file size

sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v

with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time

with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like ‘date’; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with ‘posix-’, STYLE takes effect only outside the POSIX locale

sort by modification time

-T, --tabsize=COLS
assume tab stops at each COLS instead of 8

with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time

do not sort; list entries in directory order

sort by version

-w, --width=COLS
assume screen width instead of current value

list entries by lines instead of by columns

sort alphabetically by entry extension

list one file per line

SELinux options:

Display security context. Enable -l. Lines will probably be too wide for most displays.

-Z, --context
Display security context so it fits on most displays. Displays only mode, user, group, security context and file name.

Display only security context and file name.

--help display this help and exit

output version information and exit

SIZE may be (or may be an integer optionally followed by) one of following: kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.

By default, color is not used to distinguish types of files. That is equivalent to using --color=none. Using the --color option without the optional WHEN argument is equivalent to using --color=always. With --color=auto, color codes are output only if standard output is connected to a terminal (tty). The environment variable LS_COLORS can influence the colors, and can be set easily by the dircolors command.

Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.


Written by Richard Stallman and David MacKenzie.

Reporting Bugs

Report bugs to <>.


Copyright © 2007 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <>. There is NO WARRANTY, to the extent permitted by law.

See Also

The full documentation for ls is maintained as a Texinfo manual. If the info and ls programs are properly installed at your site, the command

info ls

should give you access to the complete manual.

Table of Contents

use open software!