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]
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.
/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.
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
: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.
-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 --.
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".
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)
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.