책 본문에 콘솔(터미널, 명령 프롬프트)라고 괄호 안에 들어가 있는데요,
책, 위키, 검색으로도 기본적인 용어 정리가 안 되어서 여쭙니다.
물론, 깊이 파고들면 끝도 없지만... 어떤 차이가 있는지 궁금해서요.
(가상)콘솔/(가상)터미널/명령 프롬프트/cmd 등의 용어 정리 간략하게 부탁드립니다.
구분 없이 쓰이고 있고, 앞으로도 그럴 겁니다.
역사적으로는 컴퓨터는 매우 비쌌고, 이를 제어하기 위해 쓰던 장비가 콘솔입니다. 콘솔이 가장 오래된 단어겠지요.
콘솔은 여전히 볼 수 있는데, 은행이 그렇습니다. 메인프레임 서버가 있고, 여기에 수없이 연결된 콘솔에서 업무를 처리하죠.
오늘날의 컴퓨터와 달리 콘솔은 화면, 키보드 같은 것들로만 구성되어 있었고, 저장 장치는 달려 있지 않았겠죠.
그래서 콘솔이라고 하면 여전히 하드웨어라고 생각하는 경향이 강합니다.
서버와 연결하는 세션을 터미널이라고 합니다. GUI 시대가 되고, 동시에 여러 서버에 접속하거나 같은 서버에 여러 개가 동시에 접속할 수 있는 시대가 되었습니다. 세션의 의미가 강조되어 터미널이라는 표현을 더 많이 쓰게 되었습니다. 리눅스나 맥 같은 경우에는 프로그램 이름이 터미널인 경우도 많고, 터미널 앱을 실행하면 제목 표시줄에는 console이라고 표시되기도 하죠.
윈도에서는 CUI 환경에서 PC를 제어하는 환경을 명령 프롬프트라고 부릅니다. 이는 DOS 시절에 명령 프롬프트라고 불렀던 것의 의미가 강합니다. 단, 여기에는 원격 연결 기능은 없습니다.
UNIX 환경에서부터 시작했던 서버/클라이언트 구조에서는 콘솔 = 원격 연결이었습니다. 중앙에 있는 서버에 접속할 수 있는 단말의 뜻이 더 강했습니다. 콘솔/터미널를 구분해서는 잘 안 쓰지만, 요즘은 앱 이름이 terminal이어서 터미널이라는 이름을 더 많이 쓰기도 합니다.
원격이든 로컬이든 터미널에서 접근하고 서버를 제어할 수 있습니다.
하드웨어와 물리적으로 연결해서 쓰던 장비가 콘솔이지만, 원격 접속인데도 console이라고 띄우는 프로그램들도 여전히 있습니다.
명령 프롬프트는 DOS 시절부터 이어져온 이름으로 윈도에서도 여전히 쓰이는 이름입니다.
프롬프트는 ~$이나 C:\>처럼 명령어 입력을 받을 수 있는 상태임을 나타내는 용어입니다.
UNIX 계열(리눅스, macOS 포함)이면 터미널이라는 이름을 쓰고,
윈도 계열이면 명령 프롬프트라는 이름을 씁니다.
콘솔은 역사상 가장 오래된 표현인데 UNIX 계열에서 터미널과 구분 없이 널리 쓰이고 있습니다. 예전에는 물리적으로 연결된 단말기가 콘솔이었습니다. 이 당시의 콘솔이란 전원을 켜면 서버에 자동으로 접속되어 해당 업무만 볼 수 있었습니다. 오늘날의 PC와는 많이 다릅니다.
굳이 집착할 필요가 없습니다. 어차피 현업 개발자나 강사들도 엉뚱한 의미로 쓰고 있고, 설명이 틀린 경우도 많습니다.
"콘솔(console)이라는 용어도 커맨드 라인 인터페이스를 뜻하는 말이다."
맞다면 맞고, 틀리다면 틀린 설명이죠.
컴퓨터 콘솔: 컴퓨터를 동작시키는 물리 장치로 단말기를 칭한다.[1]
https://ko.wikipedia.org/wiki/%EC%BD%98%EC%86%94
여전히 물리적인 장치라는 뜻이 남아 있어서 게임기 콘솔이나 콘솔 게임 시장 같은 표현을 씁니다. 보통 플레이스테이션, 닌텐도 스위치 등을 가리키죠.
반면에 PC 게임 시장을 가리킬 때는 물리적으로 연결되어 있음에도 '콘솔'이라는 표현은 쓰지 않습니다. 은행원의 콘솔처럼 특정 업무만 할 수 있다라는 뜻이 포함된 것인지도 모르겠습니다.
콘솔이 물리적 연결이라고 해서 로컬 연결로만 한정해서 생각하는 경우가 많지만,
실제 워크스테이션과 콘솔의 연결이 터미널 서버(T/S)를 통한 경우도 많아서 반드시 로컬 연결이라고만 할 수는 없습니다.
과거 은행이나 우체국의 직원들이 쓰던 단말은 터미널 서버를 통해 서버에 연결되어 있었습니다. IDC에서 장비에 직접 연결하는 콘솔만 콘솔이라고 하지는 않습니다.