命令줄 인터페이스

위키百科, 우리 모두의 百科事典.

배시 세션의 스크린샷 - 젠투 리눅스 에서

命令줄 인터페이스 ( 英語 : 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 辭意 RSX RSTS 를 基盤으로 하고 있다. 2006年 後半에 마이크로소프트 는 傳統的인 유닉스 셸과 自社의 客體 志向的 .NET 프레임워크 의 機能을 組合한 윈도우 파워셸 (開發名 "모나드 Monad")을 出市했다. 윈도우에서 現在 쓰이는 命令줄 인터페이스 프로그램인 도스와 윈도우 스크립트 호스트 는 一般的으로 그 機能이 充分치 않거나 不安定하다고 여겨지고 있다. 윈도우에서 유닉스 命令줄 인터페이스를 使用할 수 있는 소프트웨어에는 MinGW 等이 있다.

오토캐드 와 같은 一部의 프로그램들은 命令줄 인터페이스와 그래픽 使用者 인터페이스를 同時에 支援하기도 한다. 工學/科學 數値 計算 패키지인 매틀랩 은 一部 計算 作業에 對해 그래픽 使用者 인터페이스를 提供하지 않지만, 命令줄 인터페이스를 使用하면 모든 計算 作業을 遂行할 수 있다.

命令줄 인터페이스에서 使用되는 命令語는 普通 다음과 같은 構造로 되어 있다.

[할 일] [作業 方法] [대상 파일들]

또는

[할 일] [作業 方法] < [入力 파일] > [出力 파일]

"할 일"은 作業의 큰 目的을 提示하며 "作業 方法"은 作業을 修行하는 細部 方法을 指定한다. "對象 파일들"은 作業을 遂行할 對象 파일들을 指定한다. 두 番째 形態에서 '>' 및 '<'(꺾은 括弧), '|' (세로 莫大)는 리디렉션 文字로, 入出力을 畵面이 아닌 다른 裝備(命令 文字列이 記錄된 파일, 모뎀, 프린터 等)를 통해 遂行할 것을 指定하거나 入出力을 連結시키는 役割을 한다.

같이 보기 [ 編輯 ]

外部 링크 [ 編輯 ]