명령 줄 인터페이스

위키백과, 우리 모두의 백과사전.
(명령행 인터페이스에서 넘어옴)
둘러보기로 가기 검색하러 가기
배시 세션의 스크린

명령 줄 인터페이스(Command-line interface) CLI, 커맨드 라인 인터페이스) 또는 명령어 인터페이스가상 터미널 또는[텍스트 터미널]을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다. 즉, 작업 명령은 사용자가 툴바 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다.

역사[편집]

전신 인자기(TTY) 머신을 통해 인간이 원격으로 정보를 교환하였고 일반적으로 한 번에 텍스트 한 줄을 보냈는데, 명령 줄 인터페이스는 이렇게 인간이 수행한 다이얼로그의 한 형태에서 발전하였다. 즉각적인 상호 작용과 피드백을 할 수 있었기 때문에 천공 카드에 비해 진보한 방식으로 여겨졌다. 초기 컴퓨터 시스템들은 종종 인간 운영자와 상호 작용을 하기 위한 수단으로 전신 인자기를 사용하였다.

명령 줄 인터페이스는 프로그래머, (특히 유닉스 기반 운영 체제의) 시스템 관리자, 공학 및 과학 분야 종사자, 일부 고급 개인 사용자들이 주로 사용하고 있다. 시각 장애를 가진 일부 사용자들도 명령 줄 인터페이스를 사용한다.

초기 마이크로컴퓨터 자체는 CP/M, MS-DOS, 애플소프트 베이직과 같은 명령 줄 인터페이스 기반이었다. 1980년대부터 1990년대까지(특히 애플 매킨토시마이크로소프트 윈도우의 도입 이후) 명령 줄 인터페이스는 대중적으로 사용되는 그래픽 사용자 인터페이스로 대체되었다. 명령 줄은 현재도 사용되지만 시스템 관리자와 기타 시스템 관리, 컴퓨터 프로그래밍, 배치 처리를 맡은 고급 사용자들이 주로 사용한다.

개요[편집]

가장 간단한 형태의 명령 줄 인터페이스는 명령 프롬프트를 표시해 사용자의 명령어 입력을 기다리며, 사용자의 명령어 입력이 완료(보통 엔터키를 누름)되면 해당 명령어를 실행하고, 결과를 문자열 형태로 출력한다.

그래픽 사용자 인터페이스의 단추 또는 메뉴와는 달리, 명령 줄은 그 자체로 사용자가 원하는 작업을 정확히 표현할 수 있다. 또한, 명령 줄은 다른 결과를 원할 경우 바꿔서 사용할 수 있는 기본값들을 포함하고 있다. 명령 줄은 개별 명령 또는 여러 개의 명령을 순차적으로 묶어서 추후에 사용할 수 있도록 특정 문자 열이나 별명에 지정할 수 있다.

이 같은 인터페이스를 제공하는 프로그램을 명령 줄 해석기 또는 이라고 부른다. 이를테면, 유닉스 셸(sh, ksh, csh, tcsh, bash 등)과 CP/M, 도스command.com("명령 프롬프트") 등이 있다. 이 중 CP/M과 command.com은 DEC사의 RSXRSTS를 기반으로 하고 있다. 2006년 후반에, 마이크로소프트는 전통적인 유닉스 셸과 자사의 객체 지향적 .NET 프레임워크의 기능을 조합한 윈도 파워셸(개발명 "모나드 Monad")을 출시했다. 윈도에서 현재 쓰이는 명령 줄 인터페이스 프로그램인 도스윈도 스크립트 호스트는 일반적으로 그 기능이 충분치 않거나 불안정하다고 여겨지고 있다. 윈도에서 유닉스 명령 줄 인터페이스를 사용할 수 있는 소프트웨어에는 MinGW 등이 있다.

오토캐드와 같은 일부의 프로그램들은 명령 줄 인터페이스와 그래픽 사용자 인터페이스를 동시에 지원하기도 한다. 공학/과학 수치 계산 패키지인 매틀랩은 일부 계산 작업에 대해 그래픽 사용자 인터페이스를 제공하지 않지만, 명령 줄 인터페이스를 사용하면 모든 계산 작업을 수행할 수 있다.

명령 줄 인터페이스에서 사용되는 명령어는 보통 다음과 같은 구조로 되어 있다.

[할 일] [작업 방법] [대상 파일들]

또는

[할 일] [작업 방법] < [입력 파일] > [출력 파일]

"할 일"은 작업의 큰 목적을 제시하며 "작업 방법"은 작업을 수행하는 세부 방법을 지정한다. "대상 파일들"은 작업을 수행할 대상 파일들을 지정한다. 두 번째 형태에서 '>' 및 '<'(꺾은 괄호), '|'(세로 막대)는 리디렉션 문자로, 입출력을 화면이 아닌 다른 장비(명령 문자열이 기록된 파일, 모뎀, 프린터 등)를 통해 수행할 것을 지정하거나 입출력을 연결시키는 역할을 한다.

같이 보기[편집]

외부 링크[편집]