ls more, less List information

 ls -la | more 
 ls -la | less 

List information about files.

ls [Options]… [File]…

Sort entries alphabetically if none of -cftuSUX nor –sort.

-a, –all List all entries including those starting with a dot .

-A, –almost-all List all entries including those starting with a dot .
Except for . and .. (implied)

-b, –escape Print octal escapes for nongraphic characters

–block-size=SIZE Use SIZE-byte blocks

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

-c Sort by change time; with -l: show ctime

-C List entries by columns

–color[=WHEN] Control whether color is used to distinguish file
types. WHEN can be `never’, `always’, or `auto’

-d, –directory List directory entries instead of contents

-D, –dired Generate output designed for Emacs’ dired mode

-f Do not sort, enable -aU, disable -lst

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

–format=WORD Across -x, commas -m, horizontal -x, long -l,
single-column -1, verbose -l, vertical -C

–full-time List both full date and full time

-g (ignored)

-G, –no-group Inhibit display of group information

-h, –human-readable Print sizes in human readable format (e.g., 1K 234M 2G)
-H, –si Likewise, but use powers of 1000 not 1024

–indicator-style=WORD Append indicator with style WORD to entry names:
none (default), classify (-F), file-type (-p)

-i, –inode Print index number of each file

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

-k, –kilobytes Like –block-size=1024

-l Use a long listing format

-L, –dereference List entries pointed to by symbolic links

-m Fill width with a comma separated list of entries

-n, –numeric-uid-gid List numeric UIDs and GIDs instead of names

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

-o Use long listing format without group info

-p, –file-type Append indicator (one of /=@|) to entries

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

–show-control-chars Show non graphic characters as-is (default)

-Q, –quote-name Enclose entry names in double quotes
–quoting-style=WORD Use quoting style WORD for entry names:
literal, shell, shell-always, c, escape

-r, –reverse Reverse order while sorting

-R, –recursive List subdirectories recursively

-s, –size Print size of each file, in blocks

-S Sort by file size

–sort=WORD time -t, version -v, status -c
size -S, extension -X, none -U
atime -u, access -u, use -u

–time=WORD Show time as WORD instead of modification time:
atime, access, use, ctime or status;
also use this as a sort key if –sort=time

-t sort by modification time

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

-u sort by last access time; with -l: show atime

-U do not sort; list entries in directory order

-v sort by version

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

-x list entries by lines instead of by columns

-X sort alphabetically by entry extension

-1 list one file per line

–help display help and exit

–version output version information and exit
The most common options are -a (all files) and -l (long or details)

Tab completion is supported and can be configured with .inputrc

When output to file the files are listed one per line.

By default, colour 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).


# List the contents of your home directory
$ ls ~

# list everything in a vertical list:
$ ls -al

total 109
drwxr-xr-x 18 root root 4096 Jun 9 21:12 ./
drwxr-xr-x 18 root root 4096 Jun 9 21:12 ../
drwxr-xr-x 2 root root 4096 Jun 9 21:14 bin/
drwxr-xr-x 3 root root 1024 Jun 9 20:32 boot/
drwxr-xr-x 6 root root 36864 Jul 12 10:26 dev/
drwxr-xr-x 34 root root 4096 Jul 12 10:25 etc/
the first column is the file type
d = directory
f = file

# List the directories in the current directory:
$ ls -d */

# List all subdirectories:
$ ls *

List all files, one per line, including subdirectories – using find
$ find ~/Documents/ -type f

The default behaviour of ls is to only pass color control codes to tty output –color=auto.
To pipe the output to a second command complete with color codes then set –color=always

$ ls -lAXh –color=auto|less -R

A list of environment variables that affect ls (colour, column width, blocksize etc)

“If the doors of perception were cleansed every thing would appear to man as it is, infinite” ~ William Blake

Leave a Reply

Your email address will not be published. Required fields are marked *