WebMasterCampus
WEB DEVELOPER Resources

Linux less Command

Learn Linux less Command with example


Linux less Command

In Linux we use “less” command line utility that displays the contents of a file or a command output, one page at a time.

The less command is mostly used for opening large files because less doesn’t read the entire file which results in much faster load times.

less Command Syntax

~$  less [OPTIONS] filename

less Command Example

~$  less /usr/share/common-licenses/Apache-2.0

To quit less and go back to the command line press q.

  • To go forward to the next page press either the f key or Space bar.
  • Press either the Down arrow or Enter to scroll forward by one line and Up arrow scroll backward by one line.
  • To go back to the previous page hit the b key. Move up for a specific number of lines, by typing the number followed by the b key.
  • When the end of the file is reached, the string (END) is shown at the bottom of the screen.

less -N to Show Line Numbers

If you want less to shows line numbers launch the program with the -N option:

~$  less -N filename

less -X cleared from the screen

By default, when less command exits, it cleared the contents from the screen. To leave file contents as it is on screen, use the -X option.

~$  less -X filename

less +F Watch the File Contents for Changes

less Command +F option tells less to watch the file contents for changes. This can be useful when opening log files.

~$  less +F /var/log/messages

less +F behaves pretty much the same as tail -f.

Command Action
Down arrow - Enter - e - or j Move forward one line.
Up arrow - y or k Move backward one line.
Space bar or f Move Forward one page.
b Move Backward one page.
G Go to the last line in the file.
g Go to the first line in the file.
h Display help.
Ng Go to the N-th line in the file.
n Repeat previous search.
N Repeat previous search in reverse direction.
p Go to the beginning of fthe ile.
Np Go to N percent into file.
/pattern Search forward for matching patterns.
?pattern Search backward for matching patterns.
q Exit less.

less Command in Linux (Documentation)


NAME
       less - opposite of more

SYNOPSIS
       less -?
       less --help
       less -V
       less --version
       less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
            [-b space] [-h lines] [-j line] [-k keyfile]
            [-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
            [-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]
            [-# shift] [+[+]cmd] [--] [filename]...
       (See the OPTIONS section for alternate option syntax with long option names.)

DESCRIPTION
       Less  is  a  program similar to more (1), but it has many more features.  Less
       does not have to read the entire input file before starting, so with large in‐
       put  files it starts up faster than text editors like vi (1).  Less uses term‐
       cap (or terminfo on some systems), so it can run on a  variety  of  terminals.
       There  is  even limited support for hardcopy terminals.  (On a hardcopy termi‐
       nal, lines which should be printed at the top of the screen are prefixed  with
       a caret.)
 Commands are based on both more and vi.  Commands may be preceded by a decimal
       number, called N in the descriptions below.  The number is used by  some  com‐
       mands, as indicated.

COMMANDS
       In  the following descriptions, ^X means control-X.  ESC stands for the ESCAPE
       key; for example ESC-v means the two character sequence "ESCAPE", then "v".

       h or H Help: display a summary of these commands.  If you forget all the other
              commands, remember this one.

       SPACE or ^V or f or ^F
              Scroll forward N lines, default one window (see option -z below).  If N
              is more than the screen size, only the final  screenful  is  displayed.
              Warning: some systems use ^V as a special literalization character.

       z      Like SPACE, but if N is specified, it becomes the new window size.

       ESC-SPACE
              Like  SPACE,  but  scrolls a full screenful, even if it reaches end-of-
              file in the process.

       ENTER or RETURN or ^N or e or ^E or j or ^J
              Scroll forward N lines, default 1.  The entire N lines  are  displayed,
              even if N is more than the screen size.
 d or ^D
              Scroll  forward  N lines, default one half of the screen size.  If N is
              specified, it becomes the new default for subsequent d and u commands.

       b or ^B or ESC-v
              Scroll backward N lines, default one window (see option -z below).   If
              N is more than the screen size, only the final screenful is displayed.

       w      Like ESC-v, but if N is specified, it becomes the new window size.

       y or ^Y or ^P or k or ^K
              Scroll  backward N lines, default 1.  The entire N lines are displayed,
              even if N is more than the screen size.  Warning: some systems  use  ^Y
              as a special job control character.

       u or ^U
              Scroll  backward N lines, default one half of the screen size.  If N is
              specified, it becomes the new default for subsequent d and u commands.

       J      Like j, but continues to scroll beyond the end of the file.

       K or Y Like k, but continues to scroll beyond the beginning of the file.

 ESC-) or RIGHTARROW
              Scroll horizontally right N characters, default half the  screen  width
              (see  the  -#  option).  If a number N is specified, it becomes the de‐
              fault for future RIGHTARROW and LEFTARROW commands.  While the text  is
              scrolled, it acts as though the -S option (chop lines) were in effect.

       ESC-( or LEFTARROW
              Scroll  horizontally  left  N characters, default half the screen width
              (see the -# option).  If a number N is specified, it  becomes  the  de‐
              fault for future RIGHTARROW and LEFTARROW commands.

       ESC-} or ^RIGHTARROW
              Scroll  horizontally  right  to  show  the end of the longest displayed
              line.

       ESC-{ or ^LEFTARROW
              Scroll horizontally left back to the first column.

       r or ^R or ^L
              Repaint the screen.

       R      Repaint the screen, discarding any buffered input.  Useful if the  file
              is changing while it is being viewed.

       F      Scroll  forward,  and  keep  trying  to  read  when  the end of file is
              reached.  Normally this command would be used when already at  the  end
 of  the file.  It is a way to monitor the tail of a file which is grow‐
              ing while it is being viewed.  (The behavior is similar  to  the  "tail
              -f" command.)

       ESC-F  Like  F,  but  as soon as a line is found which matches the last search
              pattern, the terminal bell is rung and forward scrolling stops.

       g or < or ESC-<
              Go to line N in the file, default 1  (beginning  of  file).   (Warning:
              this may be slow if N is large.)

       G or > or ESC->
              Go  to line N in the file, default the end of the file.  (Warning: this
              may be slow if N is large, or if N is not specified and standard input,
              rather than a file, is being read.)

       ESC-G  Same as G, except if no number N is specified and the input is standard
              input, goes to the last line which is currently buffered.

       p or % Go to a position N percent into the file.  N should be  between  0  and
              100, and may contain a decimal point.

       P      Go to the line containing byte offset N in the file.

       {      If  a  left  curly  bracket  appears  in  the top line displayed on the
        screen, the { command will go to the matching right curly bracket.  The
              matching  right  curly  bracket is positioned on the bottom line of the
              screen.  If there is more than one left curly bracket on the top  line,
              a number N may be used to specify the N-th bracket on the line.

       }      If  a  right  curly bracket appears in the bottom line displayed on the
              screen, the } command will go to the matching left curly bracket.   The
              matching  left  curly  bracket  is  positioned  on  the top line of the
              screen.  If there is more than one right curly bracket on the top line,
              a number N may be used to specify the N-th bracket on the line.

       (      Like {, but applies to parentheses rather than curly brackets.

       )      Like }, but applies to parentheses rather than curly brackets.

       [      Like {, but applies to square brackets rather than curly brackets.

       ]      Like }, but applies to square brackets rather than curly brackets.

       ESC-^F Followed by two characters, acts like {, but uses the two characters as
              open and close brackets, respectively.  For example, "ESC ^F < >" could
              be used to go forward to the > which matches the < in the top displayed
              line.

       ESC-^B Followed by two characters, acts like }, but uses the two characters as
        open and close brackets, respectively.  For example, "ESC ^B < >" could
              be used to go backward to the < which matches the > in the bottom  dis‐
              played line.

       m      Followed  by  any  lowercase  or uppercase letter, marks the first dis‐
              played line with that letter.  If the status column is enabled via  the
              -J option, the status column shows the marked line.

       M      Acts  like  m, except the last displayed line is marked rather than the
              first displayed line.

       '      (Single quote.)  Followed by any lowercase or uppercase letter, returns
              to the position which was previously marked with that letter.  Followed
              by another single quote, returns to the  position  at  which  the  last
              "large"  movement command was executed.  Followed by a ^ or $, jumps to
              the beginning or end of the file  respectively.   Marks  are  preserved
              when a new file is examined, so the ' command can be used to switch be‐
              tween input files.

       ^X^X   Same as single quote.

       ESC-m  Followed by any lowercase or uppercase letter, clears the mark  identi‐
              fied by that letter.

       /pattern
              Search forward in the file for the N-th line containing the pattern.  N
        defaults to 1.  The pattern is a regular expression, as  recognized  by
              the  regular  expression  library  supplied by your system.  The search
              starts at the first line displayed (but see  the  -a  and  -j  options,
              which change this).

              Certain  characters are special if entered at the beginning of the pat‐
              tern; they modify the type of search rather than  become  part  of  the
              pattern:

              ^N or !
                     Search for lines which do NOT match the pattern.

              ^E or *
                     Search  multiple  files.  That is, if the search reaches the END
                     of the current file without finding a match, the search  contin‐
                     ues in the next file in the command line list.

              ^F or @
                     Begin the search at the first line of the FIRST file in the com‐
                     mand line list, regardless of what is currently displayed on the
                     screen or the settings of the -a or -j options.

              ^K     Highlight  any  text  which  matches  the pattern on the current
                     screen, but don't move to the first match  (KEEP  current  posi‐
                     tion).
            ^R     Don't interpret regular expression metacharacters; that is, do a
                     simple textual comparison.

            ?pattern
              Search backward in the file for the N-th line containing  the  pattern.
              The search starts at the last line displayed (but see the -a and -j op‐
              tions, which change this).

              Certain characters are special as in the / command:

              ^N or !
                     Search for lines which do NOT match the pattern.

              ^E or *
                     Search multiple files.  That is, if the search reaches  the  be‐
                     ginning  of the current file without finding a match, the search
                     continues in the previous file in the command line list.

              ^F or @
                     Begin the search at the last line of the last file in  the  com‐
                     mand line list, regardless of what is currently displayed on the
                     screen or the settings of the -a or -j options.

              ^K     As in forward searches.

              ^R     As in forward searches.
    
    ESC-/pattern
              Same as "/*".

    ESC-?pattern
              Same as "?*".

       n      Repeat previous search, for N-th line containing the last pattern.   If
              the previous search was modified by ^N, the search is made for the N-th
              line NOT containing the pattern.  If the previous search  was  modified
              by  ^E, the search continues in the next (or previous) file if not sat‐
              isfied in the current file.  If the previous search was modified by ^R,
              the  search is done without using regular expressions.  There is no ef‐
              fect if the previous search was modified by ^F or ^K.

       N      Repeat previous search, but in the reverse direction.

       ESC-n  Repeat previous search, but crossing file boundaries.  The effect is as
              if the previous search were modified by *.

       ESC-N  Repeat  previous search, but in the reverse direction and crossing file
              boundaries.

       ESC-u  Undo search highlighting.  Turn off highlighting  of  strings  matching
              the  current search pattern.  If highlighting is already off because of
              a previous ESC-u command, turn highlighting back on.  Any  search  com‐
              mand  will  also  turn highlighting back on.  (Highlighting can also be
disabled by toggling the -G option; in that case search commands do not
              turn highlighting back on.)

       &pattern
              Display  only  lines  which match the pattern; lines which do not match
              the pattern are not displayed.  If pattern is empty (if you type &  im‐
              mediately  followed  by  ENTER),  any  filtering is turned off, and all
              lines are displayed.  While filtering is in  effect,  an  ampersand  is
              displayed at the beginning of the prompt, as a reminder that some lines
              in the file may be hidden.

              Certain characters are special as in the / command:

              ^N or !
                     Display only lines which do NOT match the pattern.

              ^R     Don't interpret regular expression metacharacters; that is, do a
                     simple textual comparison.

       :e [filename]
              Examine  a  new  file.   If the filename is missing, the "current" file
              (see the :n and :p commands below) from the list of files in  the  com‐
              mand  line  is  re-examined.  A percent sign (%) in the filename is re‐
              placed by the name of the current file.  A pound sign (#)  is  replaced
              by  the name of the previously examined file.  However, two consecutive
        percent signs are simply replaced with a single percent sign.  This al‐
              lows  you to enter a filename that contains a percent sign in the name.
              Similarly, two consecutive pound signs are replaced with a single pound
              sign.   The filename is inserted into the command line list of files so
              that it can be seen by subsequent :n and :p commands.  If the  filename
              consists of several files, they are all inserted into the list of files
              and the first one is examined.  If the filename contains  one  or  more
              spaces,  the  entire filename should be enclosed in double quotes (also
              see the -" option).

       ^X^V or E
              Same as :e.  Warning: some systems use ^V as a  special  literalization
              character.  On such systems, you may not be able to use ^V.

       :n     Examine  the  next  file  (from  the list of files given in the command
              line).  If a number N is specified, the N-th next file is examined.

       :p     Examine the previous file in the command line list.  If a number  N  is
              specified, the N-th previous file is examined.

       :x     Examine  the  first  file  in  the command line list.  If a number N is
              specified, the N-th file in the list is examined.

       :d     Remove the current file from the list of files.

       t      Go to the next tag, if there were more than one matches for the current

       T      Go  to  the  previous  tag, if there were more than one matches for the
              current tag.

       = or ^G or :f
              Prints some information about the file being viewed, including its name
              and the line number and byte offset of the bottom line being displayed.
              If possible, it also prints the length of the file, the number of lines
              in the file and the percent of the file above the last displayed line.

       -      Followed by one of the command line option letters (see OPTIONS below),
              this will change the setting of that option and  print  a  message  de‐
              scribing  the  new setting.  If a ^P (CONTROL-P) is entered immediately
              after the dash, the setting of the option is changed but no message  is
              printed.   If the option letter has a numeric value (such as -b or -h),
              or a string value (such as -P or -t), a new value may be entered  after
              the  option  letter.   If no new value is entered, a message describing
              the current setting is printed and nothing is changed.

       --     Like the - command, but takes a long option name  (see  OPTIONS  below)
              rather than a single option letter.  You must press ENTER or RETURN af‐
              ter typing the option name.  A ^P immediately  after  the  second  dash
              suppresses  printing of a message describing the new setting, as in the
              - command.

       -+     Followed by one of the command line option letters this will reset  the
        option  to  its  default setting and print a message describing the new
              setting.  (The "-+X" command does the same thing as "-+X" on  the  com‐
              mand line.)  This does not work for string-valued options.

       --+    Like  the -+ command, but takes a long option name rather than a single
              option letter.

       -!     Followed by one of the command line option letters, this will reset the
              option to the "opposite" of its default setting and print a message de‐
              scribing the new setting.  This does not work for  numeric  or  string-
              valued options.

       --!    Like  the -! command, but takes a long option name rather than a single
              option letter.

       _      (Underscore.)  Followed by one of the command line option letters, this
              will  print  a  message  describing the current setting of that option.
              The setting of the option is not changed.

       __     (Double underscore.)  Like the _ (underscore) command, but takes a long
              option  name  rather than a single option letter.  You must press ENTER
              or RETURN after typing the option name.

       +cmd   Causes the specified cmd to be executed each time a new file  is  exam‐
              ined.   For  example,  +G  causes  less  to initially display each file
              starting at the end rather than the beginning.

       V      Prints the version number of less being run.

       q or Q or :q or :Q or ZZ
              Exits less.

       The following four commands may or may not be valid, depending on your partic‐
       ular installation.

       v      Invokes an editor to edit the current file being viewed.  The editor is
              taken from the environment variable VISUAL if  defined,  or  EDITOR  if
              VISUAL is not defined, or defaults to "vi" if neither VISUAL nor EDITOR
              is defined.  See also the discussion of LESSEDIT under the  section  on
              PROMPTS below.

       ! shell-command
              Invokes  a shell to run the shell-command given.  A percent sign (%) in
              the command is replaced by the name of the current file.  A pound  sign
              (#)  is replaced by the name of the previously examined file.  "!!" re‐
              peats the last shell command.  "!" with no shell command simply invokes
              a  shell.   On  Unix  systems,  the shell is taken from the environment
              variable SHELL, or defaults to "sh".  On MS-DOS and OS/2  systems,  the
              shell is the normal command processor.
        | <m> shell-command
              <m>  represents  any mark letter.  Pipes a section of the input file to
              the given shell command.  The section of the file to be  piped  is  be‐
              tween  the  position  marked by the letter and the current screen.  The
              entire current screen is included, regardless of whether the marked po‐
              sition  is  before or after the current screen.  <m> may also be ^ or $
              to indicate beginning or end of file respectively.  If <m> is . or new‐
              line, the current screen is piped.

       s filename
              Save  the input to a file.  This only works if the input is a pipe, not
              an ordinary file.
Created with love and passion.