Linux "ls" Command Line Options and Examples
list directory contents

List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandatory arguments to long options are mandatory for short options too.


Usage:

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




Command Line Options:

-a
do not ignore entries starting with .
ls -a ...
-A
do not list implied . and ..
ls -A ...
--author
with -l, print the author of each file
ls --author ...
-b
print C-style escapes for nongraphic characters
ls -b ...
--block-size
scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE formatbelow
ls --block-size ...
-B
do not list implied entries ending with ~
ls -B ...
-C
list entries by columns
ls -C ...
--color[
colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below
ls --color[ ...
-d
list directories themselves, not their contents
ls -d ...
-D
generate output designed for Emacs' dired mode
ls -D ...
-f
enable -aU disable -ls --color
ls -f ...
-F
append indicator (one of */=>@|) to entries
ls -F ...
--file-type
likewise, except do not append '*'
ls --file-type ...
--format
across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C
ls --format ...
--full-time
like -l --time-style=full-iso
ls --full-time ...
-g
but do not list owner
ls -g ...
--group-directories-first
group directories before files;can be augmented with a --sort option, but any use of --sort=none (-U) disables grouping
ls --group-directories-first ...
-G
in a long listing, don't print group names
ls -G ...
-h
with -l and/or -s, print human readable sizes (e.g., 1K 234M 2G)
ls -h ...
--si
but use powers of 1000 not 1024
ls --si ...
-H
follow symbolic links listed on the command line
ls -H ...
--dereference-command-line-symlink-to-dir
follow each command line symbolic linkthat points to a directory
ls --dereference-command-line-symlink-to-dir ...
--hide
do not list implied entries matching shell PATTERN (overridden by -a or -A)
ls --hide ...
--hyperlink[
hyperlink file names; WHEN can be 'always' (default if omitted), 'auto', or 'never'
ls --hyperlink[ ...
--indicator-style
append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F)
ls --indicator-style ...
-i
print the index number of each file
ls -i ...
-I
do not list implied entries matching shell PATTERN
ls -I ...
-k
default to 1024-byte blocks for disk usage
ls -k ...
-l
use a long listing format
ls -l ...
-L
when showing file information for a symbolic link, show information for the file the link references rather than for the linkitself
ls -L ...
-m
fill width with a comma separated list of entries
ls -m ...
-n
like -l, but list numeric user and group IDs
ls -n ...
-N
print entry names without quoting
ls -N ...
-o
but do not list group information
ls -o ...
-p
append / indicator to directories
ls -p ...
-q
print ? instead of nongraphic characters
ls -q ...
--show-control-chars
show nongraphic characters as-is (the default, unless program is 'ls' and output is a terminal)
ls --show-control-chars ...
-Q
enclose entry names in double quotes
ls -Q ...
--quoting-style
use quoting style WORD for entry names: literal, locale, shell, shell-always, shell-escape, shell-escape-always, c, escape
ls --quoting-style ...
-r
reverse order while sorting
ls -r ...
-R
list subdirectories recursively
ls -R ...
-s
print the allocated size of each file, in blocks
ls -s ...
--sort
sort by WORD instead of name: none (-U), size (-S), time (-t), version (-v), extension (-X)
ls --sort ...
--time
with -l, show time as WORD instead of default modification time: atime or access or use (-u); ctime or status (-c); also usespecified time as sort key if --sort=time (newest first)
ls --time ...
--time-style
with -l, show times using style STYLE: full-iso, long-iso, iso, locale, or +FORMAT; FORMAT is interpreted like in 'date'; ifFORMAT is FORMAT1<newline>FORMAT2, then FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixedwith 'posix-', STYLE takes effect only outside the POSIX locale
ls --time-style ...
-t
sort by modification time, newest first
ls -t ...
-T
assume tab stops at each COLS instead of 8
ls -T ...
-U
do not sort; list entries in directory order
ls -U ...
-v
natural sort of (version) numbers within text
ls -v ...
-w
set output width to COLS. 0 means no limit
ls -w ...
-x
list entries by lines instead of by columns
ls -x ...
-X
sort alphabetically by entry extension
ls -X ...
-Z
print any security context of each file
ls -Z ...
-1
list one file per line. Avoid '\n' with -q or -b
ls -1 ...
--help
display this help and exit
ls --help ...
--version
output version information and exitThe SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,...(powers of 1000).Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codesonly when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolorscommand to set it.Exit status:0 if OK,1 if minor problems (e.g., cannot access subdirectory),2 if serious trouble (e.g., cannot access command-line argument).AUTHORWritten by Richard M. Stallman and David MacKenzie.REPORTING BUGSGNU coreutils online help: <http://www.gnu.org/software/coreutils/>Report ls translation bugs to <http://translationproject.org/team/>COPYRIGHTCopyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
ls --version ...