## Name

ls - list directory contents

## Synopsis

```**sh
$ ls [options...] [path...]
```

## Description

`ls` lists directory contents and attributes.

If no *path* argument is provided the current working directory is used.

## Options

* `--help`: Display this message
* `-a`, `--all`: Show dotfiles
* `-A`: Do not list implied . and .. directories
* `-B`, `--ignore-backups`: Do not list implied entries ending with ~
* `-F`, `--classify`: Append a file type indicator to entries
* `-p`: Append a '/' indicator to directories
* `-d`, `--directory`: List directories themselves, not their contents
* `-l`, `--long`: Display long info
* `-t`: Sort files by timestamp (newest first)
* `-S`: Sort files by size (largest first)
* `-r`, `--reverse`: Reverse sort order
* `-G`: Use pretty colors
* `-i`, `--inode`: Show inode ids
* `-I`, `--raw-inode`: Show raw inode ids if possible (see Notes to understand when this will not work)
* `-n`, `--numeric-uid-gid`: In long format, display numeric UID/GID. Implies `-l`
* `-o`: In long format, do not show group information. Implies `-l`
* `-g`: In long format, do not show owner information. Implies `-l`
* `-h`, `--human-readable`: Print human-readable sizes
* `--si`: Print human-readable sizes in SI units
* `-K`, `--no-hyperlinks`: Disable hyperlinks
* `-R`, `--recursive`: List subdirectories recursively
* `-1`: List one file per line

## Arguments

* `path`: Directory to list

## Examples

```sh
# List contents of working directory
$ ls
# List contents of working directory including hidden dot files
$ ls -la
# List contents of working directory and its subdirectories
$ ls -R
# List contents of /etc/ directory
$ ls /etc
# List contents of /etc/ directory including hidden dot files
$ ls -la /etc
```

## Notes

Printing raw inode numbers is only possible when listing an entire directory.
This happens because the program uses the LibC `readdir` function, which
will provide the raw inode numbers as they're appearing "on disk".
In other cases, when strictly using the LibC `lstat` function the kernel
will resolve the inode number with respect to the mount table, so if there
is a mounted filesystem on a directory entry, `lstat` will give the root
inode number for that filesystem.

## See also
* [`tree`(1)](help://man/1/tree) to show the contents of the directory and subdirectories in a tree visualization
