ls
ls [OPTION]... [FILE]...
List directory contents. Ignore files and directories starting with a '.' by default
Options
--help
-
Print help information.
--format
-
Set the display format.
-C
-
Display the files in columns.
--long
,-l
-
Display detailed information.
-x
-
List entries in rows instead of in columns.
--tabsize=<COLS>
,-T <COLS>
-
Assume tab stops at each COLS instead of 8 (unimplemented)
-m
-
List entries separated by commas.
--zero
-
List entries separated by ASCII NUL characters.
--dired
,-D
-
generate output designed for Emacs' dired (Directory Editor) mode
--hyperlink=<WHEN>
-
hyperlink file names WHEN
-1
-
List one file per line.
-o
-
Long format without group information. Identical to --format=long with --no-group.
-g
-
Long format without owner information.
--numeric-uid-gid
,-n
-
-l with numeric UIDs and GIDs.
--quoting-style
-
Set quoting style.
--literal
,-N
-
Use literal quoting style. Equivalent to
--quoting-style=literal
--escape
,-b
-
Use escape quoting style. Equivalent to
--quoting-style=escape
--quote-name
,-Q
-
Use C quoting style. Equivalent to
--quoting-style=c
--hide-control-chars
,-q
-
Replace control characters with '?' if they are not escaped.
--show-control-chars
-
Show control characters 'as is' if they are not escaped.
--time=<field>
-
Show time in
:
access time (-u): atime, access, use;
change time (-t): ctime, status.
birth time: birth, creation; -c
-
If the long listing format (e.g., -l, -o) is being used, print the status change time (the 'ctime' in the inode) instead of the modification time. When explicitly sorting by time (--sort=time or -t) or when not using a long listing format, sort according to the status change time.
-u
-
If the long listing format (e.g., -l, -o) is being used, print the status access time instead of the modification time. When explicitly sorting by time (--sort=time or -t) or when not using a long listing format, sort according to the access time.
--hide=<PATTERN>
-
do not list implied entries matching shell PATTERN (overridden by -a or -A)
--ignore=<PATTERN>
,-I <PATTERN>
-
do not list implied entries matching shell PATTERN
--ignore-backups
,-B
-
Ignore entries which end with ~.
--sort=<field>
-
Sort by
: name, none (-U), time (-t), size (-S), extension (-X) or width -S
-
Sort by file size, largest first.
-t
-
Sort by modification time (the 'mtime' in the inode), newest first.
-v
-
Natural sort of (version) numbers in the filenames.
-X
-
Sort alphabetically by entry extension.
-U
-
Do not sort; list the files in whatever order they are stored in the directory. This is especially useful when listing very large directories, since not doing any sorting can be noticeably faster.
--dereference
,-L
-
When showing file information for a symbolic link, show information for the file the link references rather than the link itself.
--dereference-command-line-symlink-to-dir
-
Do not follow symlinks except when they link to directories and are given as command line arguments.
--dereference-command-line
,-H
-
Do not follow symlinks except when given as command line arguments.
--no-group
,-G
-
Do not show group in long format.
--author
-
Show author in long format. On the supported platforms, the author always matches the file owner.
--all
,-a
-
Do not ignore hidden files (files with names that start with '.').
--almost-all
,-A
-
In a directory, do not ignore all file names that start with '.', only ignore '.' and '..'.
--directory
,-d
-
Only list the names of directories, rather than listing directory contents. This will not follow symbolic links unless one of
--dereference-command-line (-H)
,--dereference (-L)
, or--dereference-command-line-symlink-to-dir
is specified. --human-readable
,-h
-
Print human readable file sizes (e.g. 1K 234M 56G).
--kibibytes
,-k
-
default to 1024-byte blocks for file system usage; used only with -s and per directory totals
--si
-
Print human readable file sizes using powers of 1000 instead of 1024.
--block-size=<BLOCK_SIZE>
-
scale sizes by BLOCK_SIZE when printing them
--inode
,-i
-
print the index number of each file
--reverse
,-r
-
Reverse whatever the sorting method is e.g., list files in reverse alphabetical order, youngest first, smallest first, or whatever.
--recursive
,-R
-
List the contents of all directories recursively.
--width=<COLS>
,-w <COLS>
-
Assume that the terminal is COLS columns wide.
--size
,-s
-
print the allocated size of each file, in blocks
--color
-
Color output based on file type.
--indicator-style
-
Append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F)
--classify=<when>
,-F <when>
-
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. when may be omitted, or one of:
none - Do not classify. This is the default.
auto - Only classify if standard output is a terminal.
always - Always classify.
Specifying --classify and no when is equivalent to --classify=always. This will 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
-
Same as --classify, but do not append '*'
-p
-
Append / indicator to directories.
--time-style=<TIME_STYLE>
-
time/date format with -l; see TIME_STYLE below
--full-time
-
like -l --time-style=full-iso
--context
,-Z
-
print any security context of each file
--group-directories-first
-
group directories before files; can be augmented with a --sort option, but any use of --sort=none (-U) disables grouping
The TIME_STYLE argument can be full-iso, long-iso, iso, locale or +FORMAT. FORMAT is interpreted like in date. Also the TIME_STYLE environment variable sets the default style to use.
Examples
List files one per line:
ls -1
List [a]ll files, including hidden files:
ls -a
List files with a trailing symbol to indicate file type (directory/, symbolic_link@, executable*, ...):
ls -F
List [a]ll files in [l]ong format (permissions, ownership, size, and modification date):
ls -la
List files in [l]ong format with size displayed using [h]uman-readable units (KiB, MiB, GiB):
ls -lh
List files in [l]ong format, sorted by [S]ize (descending) [R]ecursively:
ls -lSR
List files in [l]ong format, sorted by [t]ime the file was modified and in [r]everse order (oldest first):
ls -ltr
Only list [d]irectories:
ls -d */
The examples are provided by the tldr-pages project under the CC BY 4.0 License.
Please note that, as uutils is a work in progress, some examples might fail.