블로그 이름

[Linux] 콘솔, 터미널, 쉘 차이점 본문

개발/리눅스

[Linux] 콘솔, 터미널, 쉘 차이점

Hide 2024. 11. 17. 19:34

터미널이란 컴퓨터에 데이터를 입력하거나, 명령어를 입력하거나 볼 때 쓰는 기기이다.

 

터미널과 콘솔 쉘의 개념이 헷갈려서 찾아보고자 한다.

 

1. 터미널이란?

컴퓨터가 가정에 보급되기 전 대학, 기업이 소유하는 다중 사용자 시스템이었다.

해당 컴퓨터에 직접 사람이 오가지 않고 터미널을 통해 상호작용했었다. 

 

2. 콘솔이란?

리눅스의 콘솔은 컴퓨터를 구성 및 제어하고 운영체제의 메세지를 보는 데 사용되는 인터페이스를 제공한다.

서버와 상호 작용할 때 콘솔에서 실행중인 프로그램에 터미널을 연결하기 때문에 콘솔이 조금 더 넓은 의미이고 터미널이 콘솔의 한 파트라고 생각한다.

 

3. 쉘이란?

가장 넓은 정의는 다른 프로그램을 실행하는 프로그램이다.

linux 세계관의 쉘은 사용자가 명령을 입력하는 명령행 인터페이스를 작성하고 관리하는 프로그램이라고 한다.

 

예를 들어 SSH로 linux 서버에 연결된 터미널에 ls를 입력하면 쉘에 ls 프로그램을 실행하고 현재 디렉토리 파일 목록을 터미널에 출력하도록 요청한다. 쉘은 여러 명령을 묶는 데 사용할 수 있는 프로그래밍 언어인 쉘 스크립트를 제공한다.

 

터미널/콘솔/쉘을 구분해서 사용할 필요는 없고, 혼용해서 사용하기도 한다. 

 

터미널은 tty = 텍스트 입출력 환경이고,

콘솔은 물리적 터미널이고,

쉘은 커맨드라인 명령어를 작성하고 관리하는 프로그램이다.