more — View a file one screen at a time (basic pager) across all 5 shells
Equivalents in every shell
more file.txtExternal pager that came with original AT&T Unix. `SPACE` advances one screen; `ENTER` advances one line; `q` quits. NO backward scrolling on older versions — that was the gap `less` filled (hence "less is more"). GNU `more` (util-linux) gained backward navigation in 2.30+.
more file.txtSame external. Zsh-specific completion (`more <TAB>`) understands `more`-specific flags like `+/pattern` (start at first match). Internal pager fallback (`$PAGER` parameter) defaults to `more` on minimal systems where `less` is absent.
more file.txtSame external. Fish completion (`more <TAB>`) lists files first, then options. Fish does not auto-page long output; for that, pipe explicitly each time (`cmd | more`) or wrap in a helper function.
more file.txt`more` is a built-in COMMAND on Windows (since DOS) AND a PowerShell ALIAS for an internal paging function in PS 5.1+. PS 7 keeps the alias. `Out-Host -Paging` is the cmdlet-flavoured form: `Get-Content file.txt | Out-Host -Paging`.
more file.txtBuilt-in. `SPACE` advances one screen, `ENTER` advances one line, `q` quits. Supports `more +5 file.txt` to skip the first 5 lines. NO regex search, NO `/pattern` jump, NO backward scrolling. The limited feature set is the main reason to install `less` on Windows.
Worked examples
Page through a file from the top
more app.logmore app.logmore app.logmore app.logmore app.logPage output of another command (pipeline)
ls -la /etc | morels -la /etc | moreGet-ChildItem -Force C:\Windows | Out-Host -Pagingdir /a C:\Windows | moreStart paging at the first match of a pattern
more +/ERROR app.logmore +/ERROR app.logGet-Content app.log | Select-String -Context 5 ERROR | Out-Host -PagingGotchas
- `more` is the LIMITED Unix pager — `less` is the strict superset and is the modern default (`man` pipes through `less` on most systems). New scripts should default to `${PAGER:-less}` for forward compatibility; reach for `more` only when targeting environments without `less` installed.
- Old SVR4 / Solaris `more` does NOT exit cleanly on `Ctrl-C` — it can leave the terminal in raw mode requiring `stty sane` to recover. GNU `more` (util-linux) and modern BSD `more` accept `Ctrl-C` cleanly. Any script that traps SIGINT and pipes into `more` must test across distros.
- `more` differs from `less` chiefly in lacking BACKWARD scroll and (on most versions) REGEX search. GNU `more` 2.30+ added forward `/pattern` search; backward navigation never landed. For interactive log inspection, `less` is almost always the better default.
- `more file1.txt file2.txt` (multi-file) shows filename HEADERS between files. cmd's `more` uses `:File: name:` separators; GNU `more` uses `::::::::::::::` lines. Scripts that parse paged multi-file output must match the right separator format for the target system.
- PowerShell's `more` ALIAS wraps an internal paging function, NOT the Windows `more.com`. The two read input differently — the alias buffers via the pipeline, while `more.com` reads from a redirected file descriptor. Piping objects (`Get-Process | more`) goes through the alias; the executable is only invoked when called explicitly as `more.com`.