터미널

이명환·2020년 11월 2일
0

BackEnd

목록 보기
3/14
post-thumbnail

터미널 이란?

터미널이란 무엇일까? 위키백과의 정의를 보자

단말기 또는 터미널은 컴퓨터나 컴퓨팅 시스템에 데이터를 입력하거나 표시하는 데 쓰이는 전자 하드웨어 기기이다. 컴퓨터 터미널은 인간과 컴퓨터의 인터페이스 의 한 예이다. 터미널의 기능은 데이터를 보여 주고 입력하는 데 제한을 받는다.

터미널을 하드웨어 기기라고 정의하고 있지만, 현재로서는 소프트웨어인 프로그램을 일컫는 말로 더 쓰이는 것 같다. Terminal은 한국어로 '단말기'인데 이름 때문인지 더욱 혼동되는 느낌이 든다.

아무튼 이 백엔드 로드맵에서 말하는 터미널 또한 소프트웨어 프로그램을 말하는 것 같다. 그렇다면 소프트웨어 적으로 터미널은 어떠한 역할을 할까?

터미널을 간략하게 설명한다면

서버의 로컬 또는 원격으로 접속할 수 있는 콘솔을 구현한 소프트웨어

라고 말할 수 있다. 그렇다면 여기서 또 콘솔이 무엇일까

콘솔은 서버의 로컬 장치에서 직접 명령어를 작성할 수 있는 입출력 장치이다. 콘솔이 물리적인 장치라면 터미널은 원격제어 환경까지 포함하는 더 넓은 의미라고 할 수 있다.

그래서 윈도우의 cmd 를 예를 들어서 본다면

파란색 테두리가 터미널 이고 cd document라고 입력한 부분이 콘솔이라고 볼 수 있다.

이렇게 터미널 안에 콘솔을 이용해서 명령어를 입력하면 쉘(shell)이 OS커널에 명령어를 전달해 준다.

여기서 쉘은 아래와 같이 설명할 수 있다.

실제로 명령어를 전달하고 결과를 전달받는 프로그램

그런데 조사를 좀 해보니까 사실상 터미널과 콘솔은 거의 혼용해서 쓰고 쉘과 터미널도 유의미하게 구분해서 쓰는 것 같지가 않다. (이건 나의 뇌피셜..)


GUI와 CLI

GUI(Graphical User Interface)는 일반 사용자가 보편적으로 사용하는 인터페이스이다. 바탕화면에 있는 프로그램 아이콘들, 마우스 우클릭으로 쓸 수 있는 명령어들을 그래픽으로 보여주는 방식이 GUI이다.

반대로 터미널은 CLI(Command Line Interface)인데, 직접 명령어를 한줄씩 작성해서 컴퓨터를 제어하는 방식이다. 소프트웨어 모듈 설치나 git과 같은 프로젝트 관리를 위해 개발자가 사용한다.


요약

터미널(Terminal): 시스템에 접속하여 입출력을 가능하게 하는 단말장치(형태: 하드웨어 or 소프트웨어)
콘솔(Console): 콘솔은 터미널의 일종. 시스켐 제어등을 위한 특수목적의 터미널
쉘(Shell) : CLI 명령을 해석하는 소프트웨어. 커널(kernel)의 반댓말로 껍데기라는 의미. unix/linux의 bash, windows의 cmd

그런데 내가 생각하기에 현재로선 이 세가지 용어를 혼용해서 사용하는 것 같다. 그래도 조금 구분해서 알아두면 좋지 않을까.



참조: https://sonysame.tistory.com/36
http://blog.naver.com/asianchairshot/221383363419
profile
Si vales bene, valeo

1개의 댓글

comment-user-thumbnail
2021년 8월 29일

감사합니다. 요약있어서 최종 정리가 잘되네요~

답글 달기