207

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?

11 Answers 11

274

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.

7
  • 3
    Ctrl-b works, but b (by itself) also does. Jun 16, 2010 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, 2010 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, 2015 at 14:32
  • 7
    in fact, ? = shift + /, / is to search forwards.
    – HongboZhu
    May 23, 2016 at 13:11
  • 2
    In fact Shift + G goes to the bottom of the file
    – Alex78191
    Jun 6, 2018 at 21:57
98

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

tac filename | less
5
  • 1
    That's mostly a linux / gnuism...
    – chris
    Jun 16, 2010 at 13:58
  • 65
    Fun fact: tac is cat backwards
    – dKen
    Mar 21, 2016 at 15:57
  • 9
    This was my childhood cat's name. I don't think I realized why until now.
    – vaughan
    Nov 26, 2017 at 12:46
  • 1
    Anybody heard of anything like ztac for gzipped files (ie zcat but backwards)?
    – irbanana
    Dec 4, 2018 at 23:16
  • 1
    @irbanana: One way. But it doesn't save any time on large files because the whole file has to be decompressed. Dec 4, 2018 at 23:47
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.

3
  • 6
    This not only goes to the end of the file, it waits for additional output at the end, like tail -f. If this isn't what you want, you should use +G instead. Aug 1, 2018 at 18:31
  • you're right @MichaelHampton Aug 1, 2018 at 18:49
  • 1
    and you can stop waiting for additional output by pressing CTRL+C. It stops waiting for new data but does not exit less.
    – xdevs23
    Nov 7, 2019 at 22:01
8

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

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?

2
  • Using tail (GNU coreutils) 8.13 on Ubuntu 12.02 here. No such option as -r.
    – JHH
    Mar 30, 2016 at 6:47
  • I think tail -r is a BSD/macOS thing - those environments don't have tac.
    – fzzfzzfzz
    Apr 27, 2017 at 15:24
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.

0
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.

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 =)

2
  • I don't need cat with grep -- grep $StRING $FILENAME | less Nov 10, 2016 at 8:55
  • Imho, that's an absolutely different question. Mar 23, 2017 at 7:57
-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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.