명령 줄 인터페이스
위키백과 ― 우리 모두의 백과사전.
명령 줄 인터페이스(CLI, Command line interface) 또는 명령어 인터페이스는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방법을 뜻한다. 즉, 작업 명령은 사용자가 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다. 명령 줄 인터페이스는 1950년대 텔레타이프라이터가 컴퓨터에 연결되어 사용된 때로부터 유래된다. 즉각적인 상호 작용과 피드백을 할 수 있었기 때문에 천공 카드에 비해 진보한 방식으로 여겨졌다.
브라운관이 인터페이스 장비로 사용되면서 명령 줄 인터페이스는 마이크로소프트 윈도, 맥 오에스, 엑스 윈도 시스템과 같은 그래픽 사용자 인터페이스로 발전하기 시작했으며, 특히 1984년 애플사의 매킨토시 오에스 출시에 뒤이은 이듬해 마이크로소프트사의 윈도 출시 이래로 그래픽 사용자 인터페이스에 의해 명령 줄 인터페이스가 상당 부분 대체되었다. 그러나 일부 사용자들은 아직도 명령 줄 인터페이스가 더 나은 생산성을 제공한다며 선호하고 있다.
명령 줄 인터페이스는 프로그래머, (특히 UNIX 기반 운영 체제의) 시스템 관리자, 공학 및 과학 분야 종사자, 일부 고급 개인 사용자들에 의해 주로 사용되고 있다. 시각 장애를 가진 일부 사용자들도 명령 줄 인터페이스를 사용한다.
가장 간단한 형태의 명령 줄 인터페이스는 명령 프롬프트를 표시해 사용자의 명령어 입력을 기다리며, 사용자의 명령어 입력이 완료(보통 엔터키를 누름)되면 해당 명령어를 실행하고, 결과를 문자열 형태로 출력한다.
그래픽 사용자 인터페이스의 단추 또는 메뉴와는 달리, 명령 줄은 그 자체로 사용자가 원하는 작업을 정확히 표현할 수 있다. 또한, 명령 줄은 다른 결과를 원할 경우 바꿔서 사용할 수 있는 기본값들을 포함하고 있다. 명령 줄은 개별 명령 또는 여러 개의 명령을 순차적으로 묶어서 추후에 사용할 수 있도록 특정 문자 열이나 별명에 지정할 수 있다.
이 같은 인터페이스를 제공하는 프로그램을 명령 줄 해석기(command line interpreter) 또는 셸(shell)이라고 부른다. 이를테면, 유닉스 셸(sh, ksh, csh, tcsh, bash 등)과 CP/M, 도스의 command.com("명령 프롬프트") 등이 있다. 이 중 CP/M과 command.com은 DEC사의 RSX와 RSTS를 기반으로 하고 있다. 2006년 후반기에, 마이크로소프트는 전통적인 유닉스 셸과 자사의 객체 지향적 .NET 프레임워크의 기능을 조합한 윈도 파워셸(개발명 "모나드 Monad")을 출시할 예정이다. 윈도에서 현재 사용되는 명령 줄 인터페이스 프로그램인 도스와 윈도 스크립트 호스트는 일반적으로 그 기능이 불충분하거나 불안정하다고 여겨지고 있다. 윈도에서 유닉스 명령 줄 인터페이스를 사용할 수 있는 소프트웨어에는 MinGW 등이 있다.
오토캐드와 같은 일부의 프로그램들은 명령 줄 인터페이스와 그래픽 사용자 인터페이스를 동시에 지원하기도 한다. 공학/과학 수치 계산 패키지인 매틀랩은 일부 계산 작업에 대해 그래픽 사용자 인터페이스를 제공하지 않지만, 명령 줄 인터페이스를 사용하면 모든 계산 작업을 수행할 수 있다.
명령 줄 인터페이스에서 사용되는 명령어는 보통 다음과 같은 구조로 되어 있다.
[할 일] [작업 방법] [대상 파일들]
또는
[할 일] [작업 방법] < [입력 파일] > [출력 파일]
"할 일"은 작업의 큰 목적을 제시하며 "작업 방법"은 작업을 수행하는 세부 방법을 지정한다. "대상 파일들"은 작업을 수행할 대상 파일들을 지정한다. 두 번째 형태에서 '>' 및 '<'(꺾은 괄호), '|'(세로 막대)는 리디렉션 문자로, 입출력을 화면이 아닌 다른 장비(명령 문자열이 기록된 파일, 모뎀, 프린터 등)를 통해 수행할 것을 지정하거나 입출력을 연결시키는 역할을 한다.
[편집] 함께 읽기
- 그래픽 사용자 인터페이스(GUI)
- 텍스트 사용장 인터페이스
- 마이크로소프트 파워셸(MSH)
- Bash (Linux의 기본 셸)
[편집] 바깥 고리
- ((영어)) Linux Command Line — 유닉스 셸 명령어 모음.
- ((영어)) Coming Soon to Windows: The Microsoft Shell (MSH) by Jason Nadal - 마이크로소프트 파워셸에 대한 설명.
- ((영어)) "GetPot. 객체 지향 명령 줄 파싱." C++, Python, Java, Ruby 등에서 사용 가능한 라이브러리.