More (명령어)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

`more`는 1978년 다니엘 할버트가 개발한 유닉스 계열 운영체제의 명령어이다. 이 명령어는 텍스트 파일의 내용을 한 화면씩 보여주는 기능을 수행하며, 3.0 BSD에 처음 포함된 이후 대부분의 유닉스 시스템에서 표준 프로그램으로 사용되고 있다. `more`는 MS-DOS, Windows, OS/2 등 다양한 운영 체제로 이식되었으며, MATLAB 및 GNU Octave와 같은 수치 계산 환경에서도 사용된다. 이 명령어는 사용자가 파일 내용을 탐색하고, 옵션을 통해 화면 표시 방식을 제어할 수 있도록 한다. `more` 명령어는 `less` 명령어의 등장으로 기능이 확장되었다.

More (명령어) - [IT 관련 정보]에 관한 문서
일반 정보

이미지 준비중입니다.

'more 명령어 출력 예시'
개발자'다니엘 할버트, 에릭 샤인브로드, 제프 펙, 존 포데라로, DR, 마이크로소프트, IBM, 토시바, TSL, 짐 홀'
최초 출시1978년
프로그래밍 언어'MS-DOS, PC-MOS: x86 어셈블리어
FreeDOS, ReactOS: C'
운영 체제크로스 플랫폼
장르명령
라이선스'유닉스, 유닉스 계열: BSD 라이선스, CDDL
MS-DOS: MIT
FreeDOS, ReactOS: GPL v2
PC-MOS: GPL v3'
웹사이트해당 없음
📚 더 읽어볼만한 페이지
  • 터미널 페이저 - W3m
    W3m은 "WWW를 본다"는 뜻의 일본어에서 유래한 텍스트 기반 웹 브라우저로, 키노시타 타츠야에 의해 유지 및 개발되고 있으며 탭 브라우징, 마우스 오른쪽 버튼 메뉴, 이미지/표/프레임 지원, Emacs 내 사용, 로컬 CGI 스크립트 실행, HTML 문서 플레인 텍스트 출력 등의 기능을 제공한다.
  • 터미널 페이저 - Less (유닉스)
    Less는 1983년 Mark Nudelman에 의해 개발된 유닉스 기반의 텍스트 뷰어 프로그램으로, more 명령어의 개선된 기능으로 텍스트 앞뒤 스크롤을 지원하며 다양한 운영체제로 이식되어 파일 내용을 한 페이지씩 표시하고 뷰어 환경을 설정할 수 있다.
  • 외부 도스 명령어 - COMMAND.COM
    COMMAND.COM은 MS-DOS 운영체제에서 명령줄 인터페이스를 제공하는 명령어 해석기로, 파일 관리 및 프로그램 실행 등의 작업을 수행하며, 윈도우 9x에서 MS-DOS 호환성을 위해, FreeDOS에서는 핵심 구성 요소로 사용된다.
  • 외부 도스 명령어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
  • OS/2 명령어 - 파일 전송 프로토콜
  • OS/2 명령어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.

2. 역사

`more` 명령어는 1978년 캘리포니아 대학교 버클리 대학원생이었던 다니엘 할버트(Daniel Halbert)가 처음 작성하였다. 1978년 3.0 BSD에 최초로 포함된 이후 모든 유닉스 시스템에서 표준 프로그램으로 사용되고 있다. 에릭 시엔브로드(Eric Shienbrood), 제프 펙(Geoff Peck), 존 포데로로(John Foderaro) 등이 기능을 확장하였다.

1983년부터 1985년까지 마크 누델만(Mark Nudelman)이 작성한 less 명령어는 `more` 명령어의 기능을 확장하여 파일 내에서 앞뒤로 탐색할 수 있는 기능을 제공한다. `less`는 현재 대부분의 유닉스 및 유닉스 계열 시스템에 포함되어 있다.

`more` 명령어는 MS-DOS, PC-MOS, FreeDOS, KolibriOS 등 다양한 운영 체제에도 이식되었다. MSX-DOS 버전 2용 MSX-DOS2 Tools에도 포함되었다. FreeDOS 버전은 짐 홀(Jim Hall)에 의해 개발되었으며 GPL v2에 따라 라이선스가 부여된다.

수치 계산 환경인 MATLAB 및 GNU Octave에는 출력을 페이지별로 표시하거나 표시하지 않도록 설정하는 `more` 함수가 포함되어 있다.

3. 사용법

`more` 명령어는 텍스트 파일의 내용을 한 화면씩 표시하는 데 사용되며, 사용자의 입력을 통해 제어할 수 있다. 기본적인 사용 명령문은 다음과 같다.

```
more [옵션] [파일 이름]
```

파일 이름이 주어지지 않으면, `more`는 표준 입력에서 입력을 받는다. 입력이 주어지면 현재 화면에 표시할 수 있는 만큼의 텍스트를 표시하고 사용자 입력을 기다린다. 이때, 화면 왼쪽 하단에는 "`--More--`"라는 문자와 함께 현재 위치를 백분율로 표시한다. 파일의 끝(100%)에 도달하면 `more`는 종료된다.

일반적으로 키를 누르면 한 줄씩, 키를 누르면 한 화면씩 아래로 이동할 수 있다. 폼 피드(페이지 나누기; `^L`)가 있는 경우에는 텍스트 양에 관계없이 해당 위치에서 대기한다.

더 자세한 사용법은 `more`의 manpage를 참고할 수 있다.

3.1. 유닉스 계열

more [옵션] [파일 이름]

파일 이름이 제공되지 않으면, `more`는 표준 입력에서 입력을 찾는다. 화면 왼쪽 하단에는 "--More--" 텍스트와 함께 현재 위치를 백분율로 표시한다. 파일의 끝(100%)에 도달하면 종료된다. 한 줄씩 진행하는 Enter 키와 한 화면씩 진행하는 Space 키를 사용하여 파일을 탐색한다. 폼 피드(^L)가 있는 경우, 텍스트 양에 관계없이 해당 줄에서 대기한다.

3.1.1. 옵션

옵션은 일반적으로 파일 이름 앞에 입력되지만, 환경 변수 `$MORE`에 입력할 수도 있다. 실제 명령줄에 입력된 옵션은 `$MORE` 환경 변수에 입력된 옵션을 재정의한다. 일반적인 옵션은 다음과 같다.

* ` -num`: 화면에 나타나는 줄 수를 지정한다.
* ` -d`: `more`는 글자를 입력받아야 할 때 "[계속하려면 스페이스바를 누르고, 나가려면 'q'를 누르시오.]"라는 메시지를 사용자에게 보여주고 잘못된 키를 눌렀을 때에는 소리를 내는 대신 "[도움말을 보려면 'h'를 누르시오.]"라는 메시지를 보여준다.
* ` -l`: `more`는 일반적으로 `^L`(폼 피드)를 특수 문자로 받아들이기 때문에 폼 피드를 포함하고 있는 행 다음에서는 정지하게 된다. `-l` 옵션은 이러한 상황을 방지한다.
* ` -f`: `more`가 논리적으로 화면을 구성하도록 한다. (예를 들어 긴 문장이 끊이지 않게 한다.)
* ` -p`: 스크롤을 하지 않게 한다. 대신 전체 화면을 지우고 텍스트를 보이게 한다.
* ` -c`: 스크롤을 하지 않게 한다. 대신 화면에 보이는 대로 각 행의 남아있는 것을 지우고 화면의 위에서부터 채운다.
* ` -s`: 여러 행의 빈 줄을 하나로 통합한다.
* ` -u`: 밑줄 문자열을 무시하고 보여준다.
* ` +/`: 파일이 표시되기 전에 찾을 문자열을 지정한다. (예시: `more +/Preamble gpl.txt`)
* ` +num`: `num`행 번호로부터 시작한다.

3.2. Microsoft Windows 및 ReactOS

명령어 구문은 다음과 같다.

: command | more [/c] [/p] [/s] [/tn] [+n]
: more /c] [/p] [/s] [/tn] [+n < [드라이브:] [경로] 파일 이름
: more [/c] [/p] [/s] [/tn] [+n] [파일]

ReactOS `more` 명령어
ReactOS `more` 명령어

3.2.1. 예시

`letter.txt` 파일의 내용을 표시하려면 다음 두 가지 명령 중 하나를 사용할 수 있다.

```
more < letter.txt
type letter.txt | more
```

이 명령은 `letter.txt`의 첫 화면을 보여주며, 다음 프롬프트가 나타난다.

```
-- More --
```

를 누르면 다음 화면이 나타난다.

화면을 지우고 빈 줄을 제거하려면 다음 명령을 사용한다.

```
more /c /s < letter.txt
type letter.txt | more /c /s

3.3. IBM OS/2

IBM OS/2에서 `more` 명령어의 구문은 다음과 같다.

```
MORE < [드라이브:][경로]파일명
명령어 | more
```

* `드라이브:\경로\파일명`: 한 번에 한 화면씩 표시할 파일의 위치를 지정한다.
* `명령어 |`: 출력을 표시할 명령어를 지정한다.

3.3.1. 예시

OS/2 시스템 디렉터리의 내용을 한 화면씩 표시하는 예시는 다음과 같다.

```dos
[C:\]dir C:\OS2 | more
```

위 코드는 `dir` 명령어를 사용하여 OS/2 시스템 디렉터리의 내용을 반환하고, `more` 명령어를 사용하여 한 화면씩 표시한다.

```text
[C:\]dir C:\OS2 | more

4. 같이 보기

* less