문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [include(틀:다른 뜻1, other1=텍스트 기반 인터페이스, rd1=TUI)] http://upload.wikimedia.org/wikipedia/commons/2/29/Linux_command-line._Bash._GNOME_Terminal._screenshot.png?width=512px 대표적인 CLI 환경 bash [목차] == 개요 == 명령어 기반 인터페이스(Character User Interface), Command-line User Interface 또는 CLI(Command-Line Interface).TUI와 헷갈리지 말자. 사람들에게 친숙한 예로는 [[도스]]가 있다. ~~[[보통명사가 된 고유명사들|거의 DOS가 CLI의 대명사급]]~~[* 일례로 [[리눅스]] 터미널을 켜놓고 작업하면 관련이 없는 사람이 보이는 반응은 [[도스]] 켜놓고 뭐하냐는 질문(..)] 현재 많이 쓰이는 환경은 bash로 대표되는 [[유닉스]] 쉘 환경. CLI는 명령어 및 인자들을 입력하여 컴퓨터를 작동시키는 방식인데, 현재 엔드유저용으로는 직관적인 [[GUI]]에 밀려 거의 쓰이지 않는다. 하지만 반대로 익숙해진다면 같은일도 더 빨리 처리할 수 있다. ~~그리고 아무런 이유없이 작업 하나를 할때마다 ls를 치는 자신을 볼 수 있다.~~ 일반적으로 CLI 환경은 초보자에게 불친절한 환경으로 여겨진다. CLI환경에 익숙해지려면 기본적인 명령어들을 외워야 하는 것부터 난관인데, 깊게 들어갈수록 [[프로그래밍]]과 관련있는 파이프 및 쉘 스크립트까지 내려가기 때문에 진입장벽이 높은 인터페이스이라고 할 수 있다. 당연히 아무것도 모른채로 컴퓨터를 운용하고 싶어하는 유저들은 키보드 및 마우스를 통하여 접근하는 직관적인 [[GUI]]를 선호할 수 밖에 없다. 따라서 많은 사람들에게 검은 바탕에 흰 글씨의 터미널을 가져다 주면 당황하기 마련이고, OS가 깨져서 복구모드를 들어갔는데 CLI밖에 안뜨면 대부분 패닉하기 마련이다. 현재 CLI가 많이 쓰이는 경우는 사실상 서버나 [[프로그래밍]]과 접점이 닿아있는 부분이다. 즉, [[서버]] 관리 및 서버 [[프로그래밍]], 그리고 [[프로그래머]] 기초 교육용. 서버의 경우 일단 만지는 사람이 엔드유저가 아닌 충분히 교육된 사람이기에 진입장벽정도는 넘을 수 있고, CLI는 자원을 적게 잡아 먹으면서 고유의 안정성이 있다는 장점이 있다.[* 하드웨어의 발달에 따라 GUI 또한 사용할 수 있다. 다만 GUI의 장점을 살릴 수 있는 경우가 많이 없는편이다. 보안 측면에서 볼 경우, 사용하는 모든 프로그램이 결국 약점이 될 가능성이 있기 때문에 돌아가는 프로세스 수를 최대한 줄이는 것이 기본이다. 서버로 많이 쓰이는 [[리눅스]] 계열에서는 이 환경을 '''[[쉘]]'''이라고 부른다.] 게다가 CLI가 익숙해지면 [[GUI]]보다 편하다고 여기는 사람도 많다. 서버 쪽에서는 작업 자동화가 필요한 경우가 많은데 파이프와 쉘 스크립트를 이용하는 CLI가 압도적인 효율을 보여준다. 사실 CLI 와 GUI 는 서로 완전히 충돌한다기보다 각각 장단점이 존재하는 인터페이스라 보는것이 맞을것이다. GUI 는 간단한 명령은 엄청나게 쉽게 내릴 수 있게 해주지만, 선택지가 많고 명령이 복잡해지면 옵션폭탄이 등장한다던가, 그냥 GUI 의 탈을 쓴 CLI 가 된다던가 하면서 그 한계를 드러내게 된다. 반면, CLI 는 간단한 명령이건 복잡한 명령이건 인터페이스 측면에서 큰 차이는 없다. 게다가 어느 정도의 반복 작업이 필요한 명령들의 경우, 보통 그런 걸 제공해주지 않는 GUI 환경에서는 극심한 노가다가 되버리거나 딱 원하는 그 기능을 제공해주는 프로그램을 찾아헤매야 하는데, CLI 는 보통 그 자체로 하나의 프로그래밍 환경이라 간단히 처리할 수 있는 경우가 많다. 요즘 컴퓨터 성능으로는 자동 완성 속도도 즉시라 해도 좋을 정도로 빨라졌고, 거기다가 커맨드 히스토리 검색이나 alias 기타등등을 활용하는 것에 익숙하다는 전제 하에 GUI 가 강점을 갖는 저 쉬운 명령 기준으로도 CLI가 그리 딸리는 환경은 아니다. 주로 [[리눅스]] 커뮤니티 쪽이 이런 CLI 환경에 익숙한 편이다. 이런 사람들은 GUI 윈도우 매니저 위에 '터미널 에뮬레이터'를 이용하여 CLI를 부분적으로 통합시켜서 쓴다. [* 윈도에서 [[cmd]]나 COMMAND.COM을 띄워 놓고 사용한다고 생각 하면 된다. 물론 차이는 엄청나다.] 프로그래밍 교육의 경우 말할 것도 없는데, 당장 프로그래밍 첫 예제가 [[Hello, world!|무엇인지]] 생각하면 간단할 것이다. 우선, GUI 프로그래밍에 비해 사전지식이 매우 적게 요구되며, 실제로 프로그래밍을 할 때 가장 많이 다루는 데이터셋이 문자열이기도 한데다가, 문자열만 가지고도 거의 모든종류의 알고리즘 연습은 다 가능하기때문에 CLI부터 시작하는 것.[* 물론 [[액션스크립트]] 등의 예외도 있다. 액션스크립트만으로 출력 하나 하려면 빡친다(...)] 뭔가 알아볼수 없는 글자들이 내려오면서 실행되는 모습이 신기한지, 미디어에서는 [[해커]]나 컴퓨터 계열 [[천재]]속성의 캐릭터가 자주 사용한다. 그리고 유독 ~~멋지다고 생각하는지~~ 바탕색은 검정색으로 하는 경우가 많다.--사실은 리눅스 민트 제외하고 대부분 검은색이 기본 설정이라 그냥 써서 그렇다.-- 사실 실제 사용자들은 가독성 때문에 흰 바탕을 쓰는 경우가 적지 않다. 물론 이것도 다 취향따라 제각각이긴 하지만(...) == 관련 항목 == * [[GUI]] * [[DOS]] * '''[[TUI]]''' * [[셸]] [[분류:UI]] CLI 문서로 돌아갑니다.