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.
Syntax 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".
OPTIONS:
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 –.
FINDING: -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. DISPLAY OPTIONS: -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. FILE OPTIONS: -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). MISC OPTIONS: -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.
Related linux commands:
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.