ls

v0.0.26
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 all files, including hidden files:

ls -a

List all files, with trailing / added to directory names:

ls -F

Long format list (permissions, ownership, size, and modification date) of all files:

ls -la

Long format list with size displayed using human-readable units (KiB, MiB, GiB):

ls -lh

Long format list sorted by size (descending) recursively:

ls -lSR

Long format list of all files, sorted by modification date (oldest first):

ls -ltr

Only list directories:

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.