1. 관계 비유

더보기

🧑 사용자 → 터미널 앱 →  → 운영체제

 

  • 터미널은 셸을 보여주는 화면 창이고
  • 셸은 그 안에서 실제로 명령어를 실행하는 프로그램입니다.
용어 설명 예시
콘솔 (Console) 과거의 물리적인 입력/출력 장치. 현재는 일반적으로 시스템과 직접 상호작용하는 기본 입출력 창을 의미함. 예전의 모니터 + 키보드, 현재는 TTY(가상 콘솔) 같은 것
터미널 (Terminal Emulator) GUI 환경에서 셸을 사용할 수 있도록 해주는 프로그램. 터미널은 셸을 담는 그릇 같은 역할을 함. GNOME Terminal, KDE Konsole, Windows Terminal, xterm 등
셸 (Shell) 사용자가 명령어를 입력하면 해석하여 운영체제에 전달하는 명령어 해석기 bash, zsh, fish, sh, dash 등

 

 

2. 콘솔

더보기

텍스트 기반의 1)입력 장치와 2)출력 출력장치 환경을 가진 하드웨어, 기계를 의미한다.

일반적으로 컴퓨터에서,  대표적인 콘솔은 키보드 + 모니터다.

 

 

 

콘솔에 입력해 = 콘솔 하드웨어를 사용해서 명령어를 입력해

 

콘솔 프로그램이란?

- 터미널 + 쉘

- 콘솔 창을 기반으로 작동하는 프로그램

 

콘솔 창의 명칭은 OS마다 다르다.

Windows - 명령프롬프트

Linux  - 쉘

 

3. 터미널

더보기

콘솔이라는 기계가 서버로 접속할 수 있도록 구현한 소프트웨어를 의미한다. 

간단히 설명하자면, 웹 브라우저와 같은 사용자의 인터페이스 역할이다.

 

웹 브라우저(GUI)  ≒  터미널(CLI)

 

4. 쉘

더보기

실제 사용자로부터 명령을 받아 해석하고 커널 명령을 처리하는 소프트웨어, 프로그램이다.

 

우분투에서는 기본적으로 bash가 쓰이며, 다른 셸을 사용할 수도 있다.

 

Unix와 Unix-like 시스템에서 널리 사용되는 셸로는 sh, bash, ksh, zsh 등이 있다.


쉘 종류 특징
bash 기본 셸 (Bourne Again Shell), 우분투 기본
zsh bash보다 확장성이 강하고 테마가 풍부함 (oh-my-zsh 등)
sh POSIX 호환 기본 셸
fish 자동 완성과 직관적 사용법 제공

 

쉘 ≒ 프로그램 로직