The more command was originally written by Daniel Halbert, a graduate student at the University of California, Berkeley, in 1978. It was later expanded on by Eric Shienbrood, Geoff Peck (added underlining, single spacing) and John Foderaro (added -c, more environment variable history). It was first included in 3.0 BSD, and has since become a standard program in all Unix systems. less, a similar command with the extended capability of allowing both forward and backward navigation through the file, was written by Mark Nudelman between 1983 and 1985 and is now included in most Unix and Unix-like systems.
The command is available in MS-DOS versions 2 and later.[9] A more command is also part of ASCII's MSX-DOS2 Tools for MSX-DOS version 2.[10]The Software Link's PC-MOS includes an implementation of more.[11] Like the rest of the operating system, it is licensed under the GPL v3.[12] The FreeDOS version was developed by Jim Hall and is licensed under the GPL v2.[13] The command is also available in the KolibriOS Shell.[14]
If no file name is provided, more looks for input from standard input.
Once more has obtained input, it displays as much as can fit on the current screen and waits for user input to advance, with the exception that a form feed (^L) will also cause more to wait at that line, regardless of the amount of text on the screen. In the lower-left corner of the screen is displayed the text "--More--" and a percentage, representing the percent of the file that more has paged through. (This percentage includes the text displayed on the current screen.) When more reaches the end of a file (100%) it exits. The most common methods of navigating through a file are Enter, which advances the output by one line, and Space, which advances the output by one screen.
There are also other commands that can be used while navigating through the document; consult more's man page for more details.[17]
Options
Options are typically entered before the file name, but can also be entered in the environment variable$MORE. Options entered in the actual command line will override those entered in the $MORE environment variable. Available options may vary between Unix systems, but a typical set of options is as follows:
-num: This option specifies an integer which is the screen size (in lines).
-d: more will prompt the user with the message [Press space to continue, 'q' to quit.] and will display [Press 'h' for instructions.] instead of ringing the bell when an illegal key is pressed.
-l: more usually treats ^L (form feed) as a special character, and will pause after any line that contains a form feed. The -l option will prevent this behavior.
-f: Causes more to count logical, rather than screen lines (i.e., long lines are not folded).
-p: Do not scroll. Instead, clear the whole screen and then display the text.
-c: Do not scroll. Instead, paint each screen from the top, clearing the remainder of each line as it is displayed.
-s: Squeeze multiple blank lines into one.
-u: Backspaces and carriage returns to be treated as printable characters;
+/: This option specifies a string that will be searched for before each file is displayed. (Ex.: more +/Preamble gpl.txt)