--- id: 터미널 에뮬레이터(Terminal Emulator) 20260407 created: 2026-04-07 14:01 tags: aliases: --- ## 💡 생각 이곳에 하나의 생각 또는 아이디어를 작성합니다. --- ## 📑 개념 **터미널 에뮬레이터(Terminal Emulator)** 는 쉽게 말해 **"진짜 물리적인 터미널 기계가 없어도, 소프트웨어로 그 기계가 있는 것처럼 흉내 내어 컴퓨터와 대화하게 해주는 프로그램"** 입니다. 이 개념을 이해하려면 과거의 하드웨어 터미널이 무엇이었는지 먼저 아는 것이 중요합니다. --- ## 1. 과거의 "진짜" 터미널 (Hard Terminal) 아주 옛날에는 컴퓨터(메인프레임)가 집채만 했습니다. 그래서 사용자는 컴퓨터 본체에 직접 앉을 수 없었고, **화면과 키보드만 달린 입력 장치**를 멀리 떨어진 곳에 두고 통신선으로 연결해서 썼습니다. 이걸 **터미널(단말기)** 이라고 불렀습니다. - **본체:** 계산과 처리를 담당 (거대한 서버) - **터미널:** 명령어를 입력하고 결과를 화면에 뿌려주는 역할만 수행 (두뇌가 없음) ![[Pasted image 20260407140335.png]] ## 2. 터미널 "에뮬레이터"의 등장 세월이 흘러 개인용 PC(데스크톱)가 보급되면서, 더 이상 화면만 달린 커다란 터미널 기계가 필요 없게 되었습니다. 하지만 서버나 운영체제는 여전히 과거 터미널 방식의 **텍스트 기반 명령어**로 대화하도록 설계되어 있었죠. 그래서 PC 안에서 **"마치 내가 예전의 그 터미널 기계인 것처럼 속여서"** 운영체제와 대화할 수 있게 해주는 소프트웨어를 만들었는데, 이것이 바로 터미널 에뮬레이터입니다. - **하는 일:** 사용자가 키보드로 친 글자를 운영체제에 전달하고, 운영체제가 보낸 텍스트 결과를 화면에 예쁘게 그려줍니다. - **대표적인 예:** * **Windows:** 명령 프롬프트(CMD), PowerShell, Windows Terminal - **macOS:** Terminal.app, iTerm2 - **Linux:** GNOME Terminal, xterm > [!warning] 셸(Shell)과의 차이점 (중요!) 많은 분이 헷갈려 하시는데, 둘은 역할이 다릅니다. - **터미널 에뮬레이터:** 글자가 보여지는 **창(Window)** 그 자체입니다. (껍데기) - **셸(Shell):** 그 창 안에서 내 명령을 해석해서 실행해주는 **프로그램(통역사)** 입니다. (예: bash, zsh) 즉 터미널 에뮬레이터는 putty와 매우 비슷하다고 보면 됨.