What are the differences between most, more and less?

more

more is an old utility. When the text passed to it is too large to fit on one screen, it pages it. You can scroll down but not up.

Some systems hardlink more to less, providing users with a strange hybrid of the two programs that looks like more and quits at the end of the file like more but has some less features such as backwards scrolling. This is a result of less's more compatibility mode. You can enable this compatibility mode temporarily with LESS_IS_MORE=1 less ....

more passes raw escape sequences by default. Escape sequences tell your terminal which colors to display.

less

less was written by a man who was fed up with more's inability to scroll backwards through a file. He turned less into an open source project and over time, various individuals added new features to it. less is massive now. That's why some small embedded systems have more but not less. For comparison, less's source is over 27000 lines long. more implementations are generally only a little over 2000 lines long.

In order to get less to pass raw escape sequences, you have to pass it the -r flag. You can also tell it to only pass ANSI escape characters by passing it the -R flag.

See less FAQs for more details: http://www.greenwoodsoftware.com/less/faq.html

most

most is supposed to be more than less. It can display multiple files at a time. By default, it truncates long lines instead of wrapping them and provides a left/right scrolling mechanism. most's website has no information about most's features. Its manpage indicates that it is missing at least a few less features such as log-file writing (you can use tee for this though) and external command running.

By default, most uses strange non-vi-like keybindings. man most | grep '\<vi.?\>' doesn't return anything so it may be impossible to put most into a vi-like mode.

most has the ability to decompress gunzip-compressed files before reading. Its status bar has more information than less's.

most passes raw escape sequences by default.


Short answer:

Just use less and forget about more

Longer version:

more is old utility

You can't browse step wise with more, you can use space to browse page wise, or enter line by line, that is about it.

less is more + more additional features

You can browse page wise, line wise both up and down, search


There is one single application whereby I prefer more to less:

To check my LATEST modified log files (in /var/log/), I use ls -AltF | more.

While less deletes the screen after exiting with q, more leaves those files and directories listed by ls on the screen, sparing me memorizing their names for examination.

(Should anybody know a parameter or configuration enabling less to keep it's text after exiting, that would render this post obsolete.)