1. Home
  2. Directory Operations
  3. ls Command Examples and Usage

ls Command Examples and Usage

The ls is a command to list computer files in Unix and Unix-like operating systems. ls is specified by POSIX and the Single UNIX Specification. When invoked without any arguments, ls lists the files in the current working directory. The command is also available in the EFI shell. In other environments, such as DOS, OS/2, and Microsoft Windows, similar functionality is provided by the dir command. The numerical computing environments MATLAB and GNU Octave include an ls function with similar. The ls command examples help you learn Linux command line faster.

NAME: ls – list directory contents


ls [OPTION]… [FILE]…


The ls command is a command-line utility for listing the contents of a directory or directories given to it via standard input. It sorts entries alphabetically if none of cftuvSUX nor –sort is specified.


   Mandatory  arguments  to  long  options are mandatory for short options

   -a, --all
          do not ignore entries starting with .

   -A, --almost-all
          do not list implied . and ..

          with -l, print the author of each file

   -b, --escape
          print C-style escapes for nongraphic characters

          with  -l,  scale  sizes  by  SIZE  when  printing  them;   e.g.,
          '--block-size=M'; see SIZE format below

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

   -c     with -lt: sort by, and show, ctime (time of last modification of
          file status information); with -l: show ctime and sort by  name;
          otherwise: sort by ctime, newest first

   -C     list entries by columns

          colorize  the output; WHEN can be 'always' (default if omitted),
          'auto', or 'never'; more info below

   -d, --directory
          list directories themselves, not their contents

   -D, --dired
          generate output designed for Emacs' dired mode

   -f     do not sort, enable -aU, disable -ls --color

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

          likewise, except do not append '*'

          across -x, commas -m, horizontal -x, long -l, single-column  -1,
          verbose -l, vertical -C

          like -l --time-style=full-iso

   -g     like -l, but do not list owner

          group directories before files;

          can   be  augmented  with  a  --sort  option,  but  any  use  of
          --sort=none (-U) disables grouping

   -G, --no-group
          in a long listing, don't print group names

   -h, --human-readable
          with -l and -s, print sizes like 1K 234M 2G etc.

   --si   likewise, but use powers of 1000 not 1024

   -H, --dereference-command-line
          follow symbolic links listed on the command line

          follow each command line symbolic link

          that points to a directory

          do not list implied entries matching shell  PATTERN  (overridden
          by -a or -A)

          hyperlink file names; WHEN can be 'always' (default if omitted),
          'auto', or 'never'

          append indicator with style WORD to entry names: none (default),
          slash (-p), file-type (--file-type), classify (-F)

   -i, --inode
          print the index number of each file

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

   -k, --kibibytes
          default  to  1024-byte  blocks for disk usage; used only with -s
          and per directory totals

   -l     use a long listing format

   -L, --dereference
          when showing file information for a symbolic link, show informa‐
          tion  for  the file the link references rather than for the link

   -m     fill width with a comma separated list of entries

   -n, --numeric-uid-gid
          like -l, but list numeric user and group IDs

   -N, --literal
          print entry names without quoting

   -o     like -l, but do not list group information

   -p, --indicator-style=slash
          append / indicator to directories

   -q, --hide-control-chars
          print ? instead of nongraphic characters

          show nongraphic characters as-is (the default, unless program is
          'ls' and output is a terminal)

   -Q, --quote-name
          enclose entry names in double quotes

          use  quoting style WORD for entry names: literal, locale, shell,
          shell-always,  shell-escape,  shell-escape-always,   c,   escape
          (overrides QUOTING_STYLE environment variable)

   -r, --reverse
          reverse order while sorting

   -R, --recursive
          list subdirectories recursively

   -s, --size
          print the allocated size of each file, in blocks

   -S     sort by file size, largest first

          sort  by  WORD instead of name: none (-U), size (-S), time (-t),
          version (-v), extension (-X)

          with -l, show time as WORD instead of default modification time:
          atime  or  access  or  use  (-u); ctime or status (-c); also use
          specified time as sort key if --sort=time (newest first)

          time/date format with -l; see TIME_STYLE below

   -t     sort by modification time, newest first

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

   -u     with -lt: sort by, and show, access time; with -l:  show  access
          time  and  sort  by name; otherwise: sort by access time, newest

   -U     do not sort; list entries in directory order

   -v     natural sort of (version) numbers within text

   -w, --width=COLS
          set output width to COLS.  0 means no limit

   -x     list entries by lines instead of by columns

   -X     sort alphabetically by entry extension

   -Z, --context
          print any security context of each file

   -1     list one file per line.  Avoid '\n' with -q or -b

   --help display this help and exit

          output version information and exit

   The 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).

   The TIME_STYLE argument can be  full-iso,  long-iso,  iso,  locale,  or
   +FORMAT.   FORMAT  is  interpreted  like in date(1).  If FORMAT is FOR‐
   MAT1FORMAT2, then FORMAT1 applies to non-recent files and FOR‐
   MAT2  to  recent files.  TIME_STYLE prefixed with 'posix-' takes effect
   only outside the POSIX locale.  Also the TIME_STYLE  environment  vari‐
   able sets the default style to use.

   Using  color  to distinguish file types is disabled both by default and
   with --color=never.  With --color=auto, ls emits color codes only  when
   standard  output is connected to a terminal.  The LS_COLORS environment
   variable can change the settings.  Use the dircolors command to set it.

The main short list options of ls command example with description.

ls -alist all files including hidden file starting with ‘.’
ls –colorcolored list [=always/never/auto]
ls -dlist directories – with ‘ */’
ls -Fadd one char of */=>@| to enteries
ls -ilist file’s inode index number
ls -llist with long format – show permissions
ls -lalist long format including hidden files
ls -lhlist long format with readable file size
ls -lslist with long format with file size
ls -rlist in reverse order
ls -Rlist recursively directory tree
ls -slist file size
ls -Ssort by file size
ls -tsort by time & date
ls -Xsort by extension name
ls command examples


The ls command without options.

ls Command Examples
ls Command Examples

List files one per line:

ls -1
ls command - List file and Directories
ls command – List file and Directories

The -a option, list all files, including hidden files. Some files begin with or .. and those files are hidden from the user by default. 

ls -a
ls Command Examples - List hidden files
ls Command Examples – List hidden files

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 (KB, MB, GB):

ls -lh

Long format list sorted by size (descending):

ls -lS

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

ls -ltr

I always use the ll command to list all files, directories …

ls Command Examples - List All
ls Command Examples – List All

Updated on August 19, 2020

Was this article helpful?

Related Articles

Leave a Comment