터미널은 우리가 컴퓨터에 데이터를 입력하거나 볼 때 쓰는 기기입니다.
다만 제가 알고 싶은 터미널은 리눅스 운영체제에서 말하는 용어입니다.
궁금해서 찾아볼수록 터미널/콘솔/쉘 등이 헷갈려지더라고요.
그에 대해서 이해한 지점까지 설명해드리려고 합니다.
터미널이란?
컴퓨터가 가정에 보급되기 전에는 대학과 기업이 소유하는 거대한 다중 사용자 시스템이었습니다.
이 컴퓨터에 직접적으로 사람이 오가지 않고 터미널을 통해 상호 작용했다고 해요.
초창기에는 터미널이(TTY) 였습니다. 나중에는 키보드가 있는 디스플레이로 바뀌었다고 합니다.
콘솔이란?
여기서부터 저도 헷갈립니다.일단 윈도우에서 쓰는 콘솔이랑 터미널이 같다는 의견도 있었어요.콘솔이 윈도우에만 사용하나..? 했는데 리눅스에서도 사용하더라구요?리눅스의 콘솔은 컴퓨터를 구성 및 제어하고 운영 체제의 메시지를 보는 데 사용되는 인터페이스를 제공합니다.
서버와 상호 작용할 때 콘솔에서 실행중인 프로그램에 터미널을 연결합니다.그래서 콘솔이 조금 더 넓은 의미이고 터미널이 콘솔의 한 파트로 보는 분들이 많더라구요.
쉘이란?
쉘의 가장 넓은 정의는 다른 프로그램을 실행하는 프로그램입니다.
Linux 세계관의 쉘은 사용자가 명령을 입력하는 명령행 인터페이스를 작성하고 관리하는 프로그램이라고 합니다.
예를 들어 SSH로 Linux 서버에 연결된 터미널에 "ls"를 입력하면 쉘에 "ls"프로그램을 실행하고 현재 디렉토리의 파일 목록을 터미널에 출력하도록 요청합니다.
쉘은 또한 여러 명령을 묶는 데 사용할 수 있는 프로그래밍 언어인 쉘 스크립트를 제공합니다.
찾기 전에 제가 알고 있던 쉘은 그저 터미널 명령어들을 한꺼번에 모아 놓은 것이었는데 그건 쉘 스크립 트였나 봅니다.
요약
사실 우리는 콘솔/쉘/터미널을 구분해야 할 필요는 없습니다.혼용해서 쓰는 경우가 더러 있거든요.그렇지만 간단하게 알아두면 저처럼 따로 찾지는 않아도 되겠지요.
터미널 = tty = 텍스트 입출력 환경
콘솔 = 물리적 터미널
쉘 = 커맨드 라인 명령어를 작성하고 관리하는 프로그램
지금까지 읽어주셔서 감사합니다.
'TechTalk' 카테고리의 다른 글
메인 페이지 수정하기 (0) | 2020.07.28 |
---|---|
회원가입 기능 구현하기 (0) | 2020.07.27 |
로그인 기능 구현하기(DB이용) (0) | 2020.07.24 |
로그인 기능 구현하기 - 에러 (0) | 2020.07.23 |
회원 데이터베이스 생성 및 로그인 기능 구현하기 - 준비단계 (0) | 2020.07.22 |