Page through text one screenful at a time, Search through output, Edit the command line. less provides more emulation plus extensive enhancements such as allowing backward paging through a file as well as forward movement.

      less [options]

      <command> | less [options]

Moving Commands:

Commands marked with * can be preceded by a number, N. Notes in parentheses indicate the behavior if N is given.

  e  ^E  j  ^N  CR  *  Forward  one line   (or N lines).
  y  ^Y  k  ^K  ^P  *  Backward one line   (or N lines).
  f  ^F  ^V  SPACE  *  Forward  one window (or N lines).
  b  ^B  ESC-v      *  Backward one window (or N lines).
  z                 *  Forward  one window (and set window to N).
  w                 *  Backward one window (and set window to N).
  ESC-SPACE         *  Forward  one window, but don't stop at end-of-file.
  d  ^D             *  Forward  one half-window (and set half-window to N).
  u  ^U             *  Backward one half-window (and set half-window to N).
  ESC-(  RightArrow *  Left  8 character positions (or N positions).
  ESC-)  LeftArrow  *  Right 8 character positions (or N positions).
  F                    Forward forever; like "tail -f"
                      (less +F polls every second, tail -f uses inotify, which is more efficient).
  r  ^R  ^L            Repaint screen.
  R                    Repaint screen, discarding buffered input.

  h  H                 Display this help.
  q  :q  Q  :Q  ZZ     Exit.

Default "window" is the screen height.
Default "half-window" is half of the screen height.

Searching Commands:

  /pattern          *  Search forward for (N-th) matching line.
  ?pattern          *  Search backward for (N-th) matching line.
  n                 *  Repeat previous search (for N-th occurrence).
  N                 *  Repeat previous search in reverse direction.
  ESC-n             *  Repeat previous search, spanning files.
  ESC-N             *  Repeat previous search, reverse dir. & spanning files.
  ESC-u                Undo (toggle) search highlighting.
        Search patterns can be modified by one or more of:
        ^N or !  Search for NON-matching lines.
        ^E or *  Search multiple files (pass thru END OF FILE).
        ^F or @  Start search at FIRST file (for /) or last file (for ?).
        ^K       Highlight matches, but don't move (KEEP position).
        ^R       Don't use REGULAR EXPRESSIONS.

Jumping commands:

  g  <  ESC-<       *  Go to first line in file (or line N).
  G  >  ESC->       *  Go to last line in file (or line N).
  p  %              *  Go to beginning of file (or N percent into file).
  {  (  [           *  Find close bracket } ) ].
  }  )  ]           *  Find open bracket { ( [.
  ESC-^F c1 c2  *  Find close bracket c2.
  ESC-^B c1 c2  *  Find open bracket c1 

Each "find close bracket" command goes forward to the close bracket matching the (N-th) open bracket in the top line.
Each "find open bracket" command goes backward to the open bracket matching the (N-th) close bracket in the bottom line.

  mletter            Mark the current position with .
  'letter            Go to a previously marked position.
  ''                   Go to the previous position.
  ^X^X                 Same as '.

A mark is any upper-case or lower-case letter. Certain marks are predefined:
^ means beginning of the file
$ means end of the file

Changing files:

  :e [file]            Examine a new file.
  ^X^V                 Same as :e.
  :n                *  Examine the (N-th) next file from the command line.
  :p                *  Examine the (N-th) previous file from the command line.
  :x                *  Examine the first (or N-th) file from the command line.
  :d                   Delete the current file from the command line list.
  =  ^G  :f            Print current file name.

Miscellaneous Commands:

  -flag           Toggle a command line option [see OPTIONS below].
  --name          Toggle a command line option, by name.
  _flag           Display the setting of a command line option.
  __name          Display the setting of an option, by name.
  +cmd        Execute the less cmd each time a new file is examined.

  !command    Execute the shell command with $SHELL.
  |Xcommand   Pipe file between current pos & mark X to shell command.
  v           Edit the current file with $VISUAL or $EDITOR.
  V           Print version number of "less".


Most options can be changed either on the command line, or from within less by using the - or -- command.
Options can be given in one of two forms: either a single character preceded by a -, or a name preceeded by --.


  -a  ........  --search-skip-screen
                  Forward search, skips current screen.
  -g  ........  --hilite-search
                  Highlight only last match for searches.
  -G  ........  --HILITE-SEARCH
                  Don't highlight any matches for searches.
  -h [N]  ....  --max-back-scroll=[N]
                  Backward scroll limit.
  -i  ........  --ignore-case
                  Ignore case in searches.
  -I  ........  --IGNORE-CASE
                  Ignore case in searches and in search patterns.
  -j [N]  ....  --jump-target=[N]
                  Screen position of target lines.
  -p [pattern]  --pattern=[pattern]
                  Start at pattern (from command line).
  -t [tag]  ..  --tag=[tag]
                  Find a tag.
  -T [tagsfile] --tag-file=[tagsfile]
                  Use an alternate tags file.
  -y [N]  ....  --max-forw-scroll=[N]
                  Forward scroll limit.


  -D [xn.n]  .  --color=xn.n
                  Set screen colors. (MS-DOS only)
  -c  -C  ....  --clear-screen  --CLEAR-SCREEN
                  Repaint by scrolling/clearing.
  -P [prompt]   --prompt=[prompt]
                  Define new prompt.
  -m  -M  ....  --long-prompt  --LONG-PROMPT
                  Set prompt style.
  -n  -N  ....  --line-numbers  --LINE-NUMBERS
                  Use line numbers.
  -r  ........  --raw-control-chars
                  Output "raw" control characters.
  -s  ........  --squeeze-blank-lines
                  Squeeze multiple blank lines.
  -S  ........  --chop-long-lines
                  Chop long lines.
  -w  ........  --hilite-unread
                  Highlight first new line after forward-screen.
  -W  ........  --HILITE-UNREAD
                  Highlight first new line after any forward movement.
  -~  ........  --tilde
                  Don't display tildes after end of file.
  -z [N]  ....  --window=[N]
                  Set size of window.


  -b [N]  ....  --buffers=[N]
                  Number of buffers.
  -B  ........  --auto-buffers
                  Don't automatically allocate buffers for pipes.
  -f  ........  --force
                  Force open non-regular files.
  -k [file]  .  --lesskey-file=[file]
                  Use a lesskey file.
  -o [file]  .  --log-file=[file]
                  Copy to log file (standard input only).
  -O [file]  .  --LOG-FILE=[file]
                  Copy to log file (unconditionally overwrite).


  -d  ........  --dumb
                  Dumb terminal.
  -e  -E  ....  --quit-at-eof  --QUIT-AT-EOF
                  Quit at end of file.
  -q  -Q  ....  --quiet  --QUIET  --silent --SILENT
                  Quiet the terminal bell.
  -u  -U  ....  --underline-special  --UNDERLINE-SPECIAL
                  Change handling of backspaces.
  -x [N]  ....  --tabs=[N]
                  Set tab stops.
  -X  ........  --no-init
                  Don't use termcap init/deinit strings.
  -" [c[c]]  .  --quotes=[c[c]]
                  Set shell quote characters.
  -?  ........  --help
                  Display help (from command line).
  -V  ........  --version
                  Display the version number of "less".

Line Editing:

These keys can be used to edit text being entered on the "command line" at the bottom of the screen.

 RightArrow                       ESC-l     Move cursor right one character.
 LeftArrow                        ESC-h     Move cursor left one character.
 CNTL-RightArrow  ESC-RightArrow  ESC-w     Move cursor right one word.
 CNTL-LeftArrow   ESC-LeftArrow   ESC-b     Move cursor left one word.
 HOME                             ESC-0     Move cursor to start of line.
 END                              ESC-$     Move cursor to end of line.
 BACKSPACE                                  Delete char to left of cursor.
 DELETE                           ESC-x     Delete char under cursor.
 CNTL-BACKSPACE   ESC-BACKSPACE             Delete word to left of cursor.
 CNTL-DELETE      ESC-DELETE      ESC-X     Delete word under cursor.
 CNTL-U           ESC (MS-DOS only)         Delete entire line.
 UpArrow                          ESC-k     Retrieve previous command line.
 DownArrow                        ESC-j     Retrieve next command line.
 TAB                                        Complete filename & cycle.
 SHIFT-TAB                        ESC-TAB   Complete filename & reverse cycle.
 CNTL-L                                     Complete filename, list all.

When the output of less is redirected to a file, it behaves like cat, no additional output is added or input requested.

“Counter to the widely held belief that industrial agriculture is more efficient and productive, small farms produce far more per acre than large farms” ~ Christos Vasilikiotis (University of California, Berkeley)


The less home page
echo - Display message on screen
head - Output the first part of file(s)
more - Display output one screen at a time
pg - Display one page at a time
tail - Output the last part of files
tee - Redirect output to multiple files
Equivalent Windows command: MORE - Display output one screen at a time.

© Copyright SS64.com 1999-2015
Some rights reserved