Unix Less Command: 10 Tips for Effective Navigation

by Ramesh Natarajan on February 1, 2010

I personally prefer to use less command to view files (instead of opening the file to view in an editor). Less is similar to more command, but less allows both forward and backward movements. Moreover, less don’t require to load the whole file before viewing. Try opening a large log file in Vim editor and less — you’ll see the speed difference.

The navigation keys in less command are similar to Vim editor. In this article, let us look at few less command navigation and other operations which will make you a better command line warrior.

1. Less Command – Search Navigation

Once you’ve opened a log file (or any file) using less file-name, use the following keys to search. Please note that the match will be highlighted automatically by default.

Forward Search

  • / – search for a pattern which will take you to the next occurrence.
  • n – for next match in forward
  • N – for previous match in backward

Backward Search

  • ? – search for a pattern which will take you to the previous occurrence.
  • n – for next match in backward direction
  • N – for previous match in forward direction

Tip: If you dont bother about which direction the search is happening, and you want to search file path, or URL, such as “/home/ramesh/”, you can use backward search (?pattern) which will be handy as you don’t want to escape slashes each time.

Search Path
In forward: /\/home\/ramesh\/
In backward: ?/home/ramesh/

2. Less Command – Screen Navigation

Use the following screen navigation commands while viewing large log files.

  • CTRL+F – forward one window
  • CTRL+B – backward one window
  • CTRL+D – forward half window
  • CTRL+U – backward half window

3. Less Command – Line navigation

In a smaller chunk of data, where you want to locate particular error, you may want to navigate line by line using these keys:

  • j – navigate forward by one line
  • k – navigate backward by one line

4. Less Command – Other Navigations

The following are other navigation operations that you can use inside the less pager.

  • G – go to the end of file
  • g – go to the start of file
  • q or ZZ – exit the less pager

5. Simulate tail -f inside less pager – Press F

Once you’ve opened a file using less command, any content that is appended to the file after that will not be displayed automatically. However, you can press F less command will show the status ‘waiting for data‘. This is as similar to ‘tail -f’.

Also, refer to our earlier article about how to view multiple logs files using tail -f.

6. Less Command – Count magic

Similar to Vim editor navigation command, you can give 10j to scroll 10 lines down, or 10k to go up by 10 lines.

  • 10j – 10 lines forward.
  • 10k – 10 lines backward.
  • CTRL+G – show the current file name along with line, byte and percentage statistics.

7. Other useful Less Command Operations

  • v – using the configured editor edit the current file.
  • h – summary of less commands
  • &pattern – display only the matching lines, not all.

8. Open any types of files using less command

As we discussed in our earlier article, you can use less command to Open & view 10 different file types.

9. Less Command – Marked navigation

When you are viewing a large log file using less command, you can mark a particular position and return back to that place again by using that mark.

  • ma – mark the current position with the letter ‘a’,
  • ‘a – go to the marked position ‘a’.

10. Less Command – Multiple file paging

Method 1: You can open multiple files by passing the file names as arguments.

$ less file1 file2

Method 2: While you are viewing file1, use :e to open the file2 as shown below.

$ less file1
:e file2

Navigation across files: When you opened more than two files ( for e.g – less * ), use the following keys to navigate between files.

  • :n – go to the next file.
  • :p – go to the previous file.

Linux Sysadmin Course Linux provides several powerful administrative tools and utilities which will help you to manage your systems effectively. If you don’t know what these tools are and how to use them, you could be spending lot of time trying to perform even the basic administrative tasks. The focus of this course is to help you understand system administration tools, which will help you to become an effective Linux system administrator.
Get the Linux Sysadmin Course Now!

If you enjoyed this article, you might also like..

  1. 50 Linux Sysadmin Tutorials
  2. 50 Most Frequently Used Linux Commands (With Examples)
  3. Top 25 Best Linux Performance Monitoring and Debugging Tools
  4. Mommy, I found it! – 15 Practical Linux Find Command Examples
  5. Linux 101 Hacks 2nd Edition eBook Linux 101 Hacks Book

Bash 101 Hacks Book Sed and Awk 101 Hacks Book Nagios Core 3 Book Vim 101 Hacks Book

{ 27 comments… read them below or add one }

1 thx4 February 1, 2010 at 2:44 am

How could I live without this hacks :D . Good stuff.

2 pupu February 1, 2010 at 3:38 am

I often find ‘-i’ command line switch useful. It makes searches case insensitive.

3 Gareth Williams February 1, 2010 at 5:19 am

Nice guide, I thought I knew more about “less” :) , obviously not!

4 Athul February 1, 2010 at 6:35 am

Good Article Ramesh ,
Eventhough I knew about the existence of the command , I didnt know it was this much powerful and extensive.

5 Geoff February 1, 2010 at 9:17 am

Wow – never noticed the “F” option. Can’t imagine how many times I’ve exited “less” and typed “tail -f “.

Thanks!

6 S.RAGHU February 1, 2010 at 11:33 pm

Power of ‘less’ is truly ‘more’ than what I had thought.Nice article.Thank you.

7 Ramesh Natarajan February 2, 2010 at 1:21 am

@thx4, Gareth, Athul, Raghu,

Thanks for your comments. You are right — Less is More. :-)

@Papu,

Thanks for mentioning about -i command line option for less command.

For those who are interested, here is the info from man pages about the -i option.

       -i or --ignore-case
              Causes  searches  to ignore case; that is, uppercase and lower-
              case are considered identical.  This option is ignored  if  any
              uppercase letters appear in the search pattern; in other words,
              if a pattern contains uppercase letters, then that search  does
              not ignore case.

       -I or --IGNORE-CASE
              Like  -i, but searches ignore case even if the pattern contains
              uppercase letters.

@Geoff,

Yep. “F” option can come-in very handy while viewing a log file that keeps changing.

8 Ramesh Raman February 2, 2010 at 6:04 am

Dear Ramesh,

First up all, I would like to thank you for your information. I highly enjoyed reading your article, keep up posting such good articles. at the same time you can release server(NFS,NIS,Apache,web,DNS,FTP) configuration related articles.

Regards Ramesh R

9 Jens February 6, 2010 at 3:14 pm

Hm, 7. “&pattern” doesn’t work here.

~/tmp$ less -V
less 418

10 balta March 16, 2010 at 8:32 am

Unfortunately, tips 7 (&pattern) doesn’t work for me. This would be an invaluable feature for me :( . I’m using the latest version 418. Do I need a patch to get the &pattern command?

11 Brown May 26, 2010 at 10:47 am

The &pattern command was apparently added after 418. The current version is 436, available here: http://www.greenwoodsoftware.com/less/download.html.

12 Chandana June 30, 2010 at 3:48 am

Please let me know how to do the following.

I want to limit the buffer space used by less to 2K
# export LESS=”-b2″
# cat file_sized_16K | less
In the less view, I enter
s
log file: mylog.txt
: q
I see that the log file is all the 16K and not limited to 2K buffer space that i specified.

Please give your inputs.

Thanks,
Chandana.

13 Sadish December 27, 2010 at 4:26 am

NICE one. Helped a lot.

14 geoff December 13, 2011 at 11:32 am

thanks for the tip, very useful

15 Avinash January 11, 2012 at 4:51 pm

Thanks Mate ! Very useful!

16 Drizzt January 25, 2012 at 7:45 am

Excelent! Thanks.

17 srujan kumar March 27, 2012 at 12:43 pm

-F option is so useful, I felt bad that I didn’t know about this before..

U write very good articles ramesh.. keep it up.. thanks a lot..

18 Shiva August 19, 2012 at 4:45 am

Thank You Ramesh..its Very informative..

19 Karthik August 30, 2012 at 9:53 am

Thanks Ramesh. Very helpful for new linux users like me.

20 vr September 14, 2012 at 1:43 pm

Is there a way to copy all lines between 2 marked points, or copy lines 100 to 200. Also, how come I cannot highlight text and scroll down:(, thanks for the info

21 srujan October 16, 2012 at 12:39 pm

thanks ramesh, I was wondering if provide less with a “search string” like “Exception” can it take me directly to that first line with the “search string”. If less is not having that feature does any other linux command has this feature?

Thanks again.

22 Gorak February 5, 2013 at 6:09 am

is it not a unix command?it is not working in my Unix server.

23 Gayathri February 22, 2013 at 4:17 am

This is a very helpful article, thanks Ramesh!!

24 Sri August 23, 2013 at 6:36 am

Thanks for sharing

25 Biswabhusan September 18, 2013 at 6:57 am

This is very useful commands.Thanks for sharing.

26 Joshan George September 19, 2013 at 11:18 am

This is a very good less command cheat sheet, Thank you so much for sharing.

27 suzee April 3, 2014 at 11:46 am

Awesome tutorial! Keep up the great work on geek stuff :)

Leave a Comment

Previous post:

Next post: