203

I've found one way so far: less +G filename, but it scrolls up line-by-line only with .

What's a more powerful less usage which provides scrolling by page, backward pattern search, and so on?

Paul
  • 2,755
  • 6
  • 24
  • 35
yetanothercoder
  • 2,135
  • 2
  • 13
  • 6

11 Answers11

271

I'm sure someone else has a better answer, but

With "less" after you've opened the file:

G goes to the bottom of the file

^b goes up one page

? searches backwards.

As you said, you can open the file with +G and then use ? and ^b to scroll up. There are likely clever awk things you can do to achieve the same thing in a script.

chris
  • 11,784
  • 6
  • 41
  • 51
  • 3
    Ctrl-b works, but b (by itself) also does. – Dennis Williamson Jun 16 '10 at 13:31
  • Oops! I'm so conditioned to use vi keys that I just use those in less as well. Yes -- b moves you up a page in less, but only backwards one word at a time in vi. I'm impatient; I want a page at a time, and my walnut sized brain can't remember if I'm in vi or less sometimes... – chris Jun 16 '10 at 14:06
  • 2
    less your file, then type 'h' => you get a nice per-operation manual. Very neat, no need for external guides or the manpage IMO. – Kharski Jan 21 '15 at 14:32
  • 7
    in fact, `? = shift + /`, `/` is to search forwards. – HongboZhu May 23 '16 at 13:11
  • 2
    In fact `Shift + G` goes to the bottom of the file – Alex78191 Jun 06 '18 at 21:57
  • @HongboZhu in us keyboard layout, but I don't think on others – eis Aug 02 '18 at 05:31
  • Using `+G` on the command line works for the first file. But when viewing multiple files with `less +G` only the first file will be shown from the end, the rest of the files are still shown from the beginning. – kasperd Oct 13 '18 at 09:39
98

For variety, if you actually want/need to read a file backwards (last line first):

tac filename | less
Dennis Williamson
  • 60,515
  • 14
  • 113
  • 148
12

use:

less +F /path/to/your/file

that's less but starting from the bottom. Also, with +F, if the file is being written to while you are using less, that additional content gets output. This can be useful for logs.

Use the up arrow key to go backwards line by line or ctl+b to go page by page.

Ruben Estrada
  • 221
  • 2
  • 4
8

w goes up by page. ? does reverse search. h brings up online help.

Ignacio Vazquez-Abrams
  • 45,019
  • 5
  • 78
  • 84
4

tail -r | less

I don't know why anyone didn't think of this one. Tail grabs the end of a file really easy. Is -r not a common option?

3

I'm surprised nobody brought this up before, but:

?pattern searches for pattern backwards.

N finds the previous match of the pattern (that is, searching backwards).

For reference, /pattern searches for pattern forward and n finds the next match of the pattern. That's the way the search is commonly used.

dr_
  • 1,035
  • 11
  • 19
2

While using more or journalctl -xe using space bar takes you 1 page down. That worked for me. Hope this helps.

1

Another alternative, after you have started less on a file:

alt + "end-key"

With "end-key" I mean the key that is usually located below the "home-key" on a keyboard.

ria
  • 111
  • 2
0

Open the file straight to the end (+G) with less +G path/to/filename.

It will automatically start "calculating line numbers." If the file is huge (ex: many GiB), press Ctrl + C to stop that, since it could take forever.

Now, here are some keys to navigate:

  1. Up Arrow = scroll one line up
  2. Down Arrow = scroll one line down
  3. u = scroll a half page up
  4. d = scroll a half page down
  5. PageUp = scroll a full page up
  6. PageDown = scroll a full page down
  7. Use / to search forwards, pressing n to go to the next match down, and Shift + n to go to the next match up.
  8. Use ? to search backwards, pressing n to go to the next match up, and Shift + n to go to the next match down.

References

  1. The question itself, which reminded me of less +G filename to open the file straight to the end.
  2. This answer.
  3. My own knowledge.
  4. man less
-1

If you're looking for something specific, this might do it:

cat yourfile.txt | grep "something specific" | less

I use it for searching log files. It's still in the 'wrong' order though, but much shorter.

After reading Dennis Williamson's answer, that's my new method =)

Rudie
  • 335
  • 1
  • 2
  • 13
-1

Perhaps some people did not understood what dr01 meant. I try to put it in other words.

  • Open the file in less
  • Forward search: Enter the key /
  • Backward search: Enter the key ?
  • For both of the preceding: Enter your search term now
  • Press enter
  • Press n to search for the next finding
  • Press N to search for the previous finding
keocra
  • 99
  • 1