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.
Comments on this entry are closed.
How could I live without this hacks :D. Good stuff.
I often find ‘-i’ command line switch useful. It makes searches case insensitive.
Nice guide, I thought I knew more about “less” :), obviously not!
Good Article Ramesh ,
Eventhough I knew about the existence of the command , I didnt know it was this much powerful and extensive.
Wow – never noticed the “F” option. Can’t imagine how many times I’ve exited “less” and typed “tail -f “.
Thanks!
Power of ‘less’ is truly ‘more’ than what I had thought.Nice article.Thank you.
@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.
@Geoff,
Yep. “F” option can come-in very handy while viewing a log file that keeps changing.
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
Hm, 7. “&pattern” doesn’t work here.
~/tmp$ less -V
less 418
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?
The &pattern command was apparently added after 418. The current version is 436, available here: http://www.greenwoodsoftware.com/less/download.html.
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.
NICE one. Helped a lot.
thanks for the tip, very useful
Thanks Mate ! Very useful!
Excelent! Thanks.
-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..
Thank You Ramesh..its Very informative..
Thanks Ramesh. Very helpful for new linux users like me.
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
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.
is it not a unix command?it is not working in my Unix server.
This is a very helpful article, thanks Ramesh!!
Thanks for sharing
This is very useful commands.Thanks for sharing.
This is a very good less command cheat sheet, Thank you so much for sharing.
Awesome tutorial! Keep up the great work on geek stuff 🙂
Very clear concise and informative article Ramesh.
Keep up the good work, I find reading your articles for UNIX more intersting than MAN pages :-p
Very helpful article
I too prefer viewers to editors especially for log files.
A small suggestion to use non-capital letters under “2. Less Command – Screen Navigation”, i.e CTRL + f instead of CTRL F as the indicated a Shift key. Goes with the convention you used in the rest of your article.
Thanks for this useful brief.
Is there a command to reload a file, where you don’t have to interrupt (ctrl-c) afterwards?
@sic
you can launch the tail mode (Shift + F) then cancel it (CTRL + C)
Fabulous piece!!! I tried to search a pattern in a huge log yet the result doesn’t carry timestamp. I used the methods described here to navigation back and forth and finally was able to see the date & time associated with the error pattern. Compared to the common sed and grep methods, I’m fond of the LESS command!