---
name: "more"
section: "1"
platform: "linux"
package: "util-linux"
version: "2.42.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/more"
---

# more(1)

display the contents of a file in a terminal

## NAME

more - display the contents of a file in a terminal

## SYNOPSIS

**more** \[options\] *file* ...

## DESCRIPTION

**more** is a filter for paging through text one screenful at a time. This version is especially primitive. Users should realize that [**less**(1)](/less/1.md) provides [**more**(1)](/more/1.md) emulation plus extensive enhancements.

## OPTIONS

Options are also taken from the environment variable **MORE** (make sure to precede them with a dash (**-**)) but command-line options will override those.

- **-d**, **--silent**

  Prompt with "\[Press space to continue, 'q' to quit.\]", and display "\[Press 'h' for instructions.\]" instead of ringing the bell when an illegal key is pressed.

- **-l**, **--logical**

  Do not pause after any line containing a **^L** (form feed).

- **-e**, **--exit-on-eof**

  Exit on End-Of-File, enabled by default if POSIXLY\_CORRECT environment variable is not set or if not executed on terminal.

- **-f**, **--no-pause**

  Count logical lines, rather than screen lines (i.e., long lines are not folded).

- **-p**, **--print-over**

  Do not scroll. Instead, clear the whole screen and then display the text. Notice that this option is switched on automatically if the executable is named **page**.

- **-c**, **--clean-print**

  Do not scroll. Instead, paint each screen from the top, clearing the remainder of each line as it is displayed.

- **-s**, **--squeeze**

  Squeeze multiple blank lines into one.

- **-u**, **--plain**

  Suppress underlining. This option is silently ignored as backwards compatibility.

- **-n**, **--lines** *number*

  Specify the *number* of lines per screenful. The *number* argument is a positive decimal integer. The **--lines** option shall override any values obtained from any other source, such as number of lines reported by terminal.

- **-***number*

  A numeric option means the same as **--lines** option argument.

**+***number*

Start displaying each file at line *number*.

**+**/*string*

The *string* to be searched in each file before starting to display it.

- **-h**, **--help**

  Display help text and exit.

- **-V**, **--version**

  Display version and exit.

## COMMANDS

Interactive commands for **more** are based on [**vi**(1)](/vi/1.md). Some commands may be preceded by a decimal number, called k in the descriptions below. In the following descriptions, **^X** means **control-X**.

**h** or **?**

Help; display a summary of these commands. If you forget all other commands, remember this one.

**SPACE**

Display next k lines of text. Defaults to current screen size.

**z**

Display next k lines of text. Defaults to current screen size. Argument becomes new default.

**RETURN**

Display next k lines of text. Defaults to 1. Argument becomes new default.

**d** or **^D**

Scroll k lines. Default is current scroll size, initially 11. Argument becomes new default.

**q** or **Q** or **INTERRUPT**

Exit.

**s**

Skip forward k lines of text. Defaults to 1.

**f**

Skip forward k screenfuls of text. Defaults to 1.

**b** or **^B**

Skip backwards k screenfuls of text. Defaults to 1. Only works with files, not pipes.

**'**

Go to the place where the last search started.

**=**

Display current line number.

**/pattern**

Search for kth occurrence of regular expression. Defaults to 1.

**n**

Search for kth occurrence of last regular expression. Defaults to 1.

**!command** or **:!command**

Execute *command* in a subshell.

**v**

Start up an editor at current line. The editor is taken from the environment variable **VISUAL** if defined, or **EDITOR** if **VISUAL** is not defined, or defaults to [**vi**(1)](/vi/1.md) if neither **VISUAL** nor **EDITOR** is defined.

**^L**

Redraw screen.

**:n**

Go to kth next file. Defaults to 1.

**:p**

Go to kth previous file. Defaults to 1.

**:f**

Display current file name and line number.

**.**

Repeat previous command.

## SECURITY

When either MORESECURE or PAGERSECURE is set, **more** will run in "secure" mode and effectively disable the following commands:

**!command** or **:!command**

Execute *command* in a subshell.

**v**

Start up an editor.

## ENVIRONMENT

The **more** command respects the following environment variables, if they exist:

**MORE**

This variable may be set with favored options to **more**.

**SHELL**

Current shell in use (normally set by the shell at login time).

**TERM**

The terminal type used by **more** to get the terminal characteristics necessary to manipulate the screen.

**VISUAL**

The editor the user prefers. Invoked when command key *v* is pressed.

**EDITOR**

The editor of choice when **VISUAL** is not specified.

**POSIXLY\_CORRECT**

Disable exit-on-eof (see option **-e** for more details).

**MORESECURE**

Run **more** in "secure" mode. See SECURITY for details.

**PAGERSECURE**

Equivalent to MORESECURE.

**MORE\_SHELL\_LINES**

Specify the *number* of lines the shell prompt occupies on the terminal screen. If this value is set, the *number* of lines for the shell prompt is subtracted from the number of lines used to print a page on the screen. The value must be greater than zero and less than the current number of lines per screen; otherwise it is silently ignored. This is useful in situations where the printed page has to remain on the screen after exiting [**more**(1)](/more/1.md) without scrolling up too much as the shell prints a new prompt.

## HISTORY

The **more** command appeared in 3.0BSD. This man page documents **more** version 5.19 (Berkeley 6/29/88), which is currently in use in the Linux community. Documentation was produced using several other versions of the man page, and extensive inspection of the source code.

## AUTHORS

Eric Shienbrood, UC Berkeley.

Modified by Geoff Peck, UCB to add underlining, single spacing.

Modified by John Foderaro, UCB to add -c and MORE environment variable.

Modified by Christian Goeschel Ndjomouo to add MORESECURE, PAGERSECURE and MORE\_SHELL\_LINES environment variables, and a SECURITY section

## SEE ALSO

[**less**(1)](/less/1.md), [**vi**(1)](/vi/1.md)

## REPORTING BUGS

For bug reports, use the *issue tracker* \<https://github.com/util-linux/util-linux/issues\>.

## AVAILABILITY

The **more** command is part of the util-linux package which can be downloaded from *Linux Kernel Archive* \<https://www.kernel.org/pub/linux/utils/util-linux/\>.
