쉘, 콘솔 및 터미널의 차이점은 무엇입니까?


답변:


168

리눅스 세계에서 그들은 키보드에서 사용자의 관점에서 모두 똑같이 보일 수 있습니다. 차이점은 그들이 서로 상호 작용하는 방식에 있습니다.

쉘은 실제로 명령과 반환 출력을 처리하는 프로그램입니다. 대부분의 셸은 포 그라운드 및 백그라운드 프로세스, 명령 기록 및 명령 줄 편집도 관리합니다. 이러한 기능 (및 그 이상)은 bash최신 Linux 시스템에서 가장 일반적인 쉘인 표준입니다 .

단말 쉘 실행 래퍼 프로그램을 말한다. 수십 년 전, 이것은 모니터와 키보드만으로 구성된 물리적 장치였습니다. 유닉스 / 리눅스 시스템이 더 나은 멀티 프로세싱 및 윈도우 시스템을 추가함에 따라이 터미널 개념은 소프트웨어로 추상화되었습니다. 이제 Gnome Terminal 과 같은 프로그램 을 통해 Gnome 창 환경에서 창을 시작하여 명령을 입력 할 수 있는 을 실행할 수 있습니다.

콘솔 의 특별한 일종의 터미널 . 역사적으로 콘솔은 단일 키보드와 모니터로 운영 체제와의 낮은 수준에서 직접 통신하는 데 사용되는 컴퓨터의 전용 직렬 콘솔 포트에 연결되었습니다. 현대 리눅스 시스템은 가상 콘솔을 제공합니다 . 이것들은 리눅스 운영 체제의 낮은 수준에서 처리되는 키 조합 (예 : Alt+ F1또는 Ctrl+ Alt+ F1; 기능 키 번호가 다른 콘솔)을 통해 액세스됩니다 . . 콘솔과의 상호 작용은 프로그램을 사용하여 수행됩니다 .


1
터미널은 키보드가있는 모니터 였기 때문에 전기식 타자기 같은 텔레타이프였습니다. en.wikipedia.org/wiki/Teleprinter
Kevin Panko

13
콘솔은 때때로 "이 컴퓨터에 물리적으로 연결된 키보드 및 모니터"를 의미합니다. 예 : "서버가 네트워크에 응답하지 않아서 콘솔에서 로그온했습니다."
Kevin Panko

1
@Doug Harris : 이야기하고있는 하드웨어 사진을 추가 할 수 있습니까?
발톱

1
1980 년대 후반에 대학에있을 때 DEC VT220 터미널 ( en.wikipedia.org/wiki/VT220) 에 대해 많은 작업을했습니다. 이것이 제가 설명한 물리적 장치의 좋은 예입니다.
더그 해리스

5
따라서 현대에 터미널콘솔 이 각각 소프트웨어로 구현되어 있다면 두 가지 (현재)의 차이점은 무엇입니까?
Gavin Hope

15

쉘은 프롬프트를 표시하고 명령을 입력하기를 기다리는 프로그램입니다. 그것들을 실행 한 다음 다른 프롬프트를 인쇄합니다. 따라서 Windows의 CMD 또는 Unix의 Bash와 같습니다. 터미널이나 콘솔에서 실행할 수 있습니다.

콘솔은 원래 물리적 인 제어판이었습니다. 컴퓨팅 용어로 일반적으로 GUI가 시작되기 전 또는 완료된 후에 표시되는 화면을 의미합니다. 때로는 GUI 대신 표시로 전환 할 수 있습니다. 운영 체제가 오류 메시지를 인쇄하는 곳입니다. 다중 사용자 컴퓨터에서는 실제로 컴퓨터에 연결된 디스플레이입니다. 혼동을 피하기 위해 Windows에서는 명령 쉘이있는 창, 즉 터미널을 의미 할 수도 있습니다.

터미널은 원래 하드웨어였으며 컴퓨터와 통신하는 데 사용되었습니다. 요즘은 일반적으로 GUI 창이나 GUI 대신 나타날 수있는 명령 줄 (쉘)이있는 창을 말합니다.


2

터미널은 텍스트 기반 인터페이스입니다 (쉘일 수 있음)

콘솔과 쉘의 차이점은 아직 이해하지 못하지만 터미널이 쉘과 어떻게 다른지 알려줄 수 있습니다.

단말기 (인 위키에 따른 ) "텍스트 입력 및 디스플레이를위한 일련의 컴퓨터 인터페이스. 정보는 사전 선택된 형성된 문자의 배열로 표시된다."

터미널을 사용하여 쉘과 상호 작용할 수 있지만 터미널 사용자 인터페이스 라고도 하는 텍스트 기반 GUI 와 상호 작용할 수도 있습니다 . 예를 들면 다음과 같습니다.

  • Vim 에는 줄 번호와 이름이 지정된 탭을 포함한 GUI 요소가 있습니다
  • Nano 에는 명령의 도움말 메뉴를 포함한 GUI 요소가 있습니다
  • Tmux 에는 상태 표시 줄 및 창 사이의 구분선을 포함한 GUI 요소가 있습니다.
  • Minicom 에는 메뉴 및 상태 표시 줄을 포함한 GUI 요소가 있습니다.

각각의 경우에 GUI 요소는 픽셀이 아닌 텍스트로 "그립니다".


텍스트 기반이라는 정의가 확실하지 않습니다. 어떤 방식으로 일부 GUI는 터미널 imo로 간주 될 수 있습니다.
jiggunjer

2

초보자 초보자

자세한 설명은 https://askubuntu.com/a/506628/130518

  • 터미널 = 텍스트 입출력 환경
  • 콘솔 = 물리적 터미널
  • 쉘 = 명령 줄 인터프리터

다음 텍스트에서 가장 일반적인 사용 사례를 설명하겠습니다.

터미널 쉘을 사용 합니다. 터미널없이 쉘을 실행할 수 있습니다.

일상 용품과 관련이있는 경우 :

  • 터미널-> 집의 TV 화면
  • 쉘-> TV 화면에서 실행중인 프로그램

그것을 보는 또 다른 방법 : 귀 (입력) 및 입 (출력)은 소리의 터미널입니다. 당신의 두뇌는 특정 셸 (처리)을 사용하여 그 소리를 해석하는 사람입니다.

터미널은 우리를위한 것이므로 쉘에서 읽고 쓸 수 있습니다. 쉘은 cron 작업과 같이 사람과의 상호 작용이 필요없는 백그라운드 프로세스에서 실행될 수 있으므로 터미널이 필요하지 않습니다.

존재하는 터미널의 몇 가지 예 :

  • 명령 프롬프트
  • 구워
  • 그놈 터미널
  • 터미네이터

존재하는 쉘의 몇 가지 예 :

  • 세게 때리다
  • sh (본 쉘)
  • PowerShell [창]
  • zsh (Z 쉘)

나는이 두 가지가 정상적으로 작동하는 방식을 작성했지만 다른 방법이 있지만 더 고급 사용자를위한 것입니다.


1

다른 맥락, 즉 개발이라고 생각하십시오.
개발에 대한 깊은 지식이 없더라도 기본 사항을 알고있을 것입니다. 즉, 프로그램을 편집하고 컴파일러 또는 컴파일 된 응용 프로그램을 빌드하는 인터프리터에 제출해야합니다.
콘솔은 프로그램의 편집기와 같습니다. 작성 하는 데 도움이 되지만 실제로 아무것도 실행하지는 않습니다. 완료되면 컴파일러에 보내십시오.

선호하는 편집기, vim, gedit, emacs, notepad ++, Netbeans, eclise 등을 사용할 수 있지만 마지막에는 도구가 다릅니다. 같은 프로그램을 작성하면 출력이 동일합니다.
이 은유에서 쉘은 컴파일러입니다. 터미널에 입력 된 명령은이를 해석하고 즉시 실행하는 쉘로 전송됩니다.
따라서 터미널은 쉘의 프론트 엔드이지만 쉘은 컴파일러에서와 같이 실제 언어를 포함합니다.

분명히 터미널은 텍스트 편집기가 아닙니다. 주로 파일을 생성하지 않고 텍스트를 기본 쉘로 보내고 출력을 검색하기 때문입니다.

그리고 쉘은 컴파일러가 아니며 실제로는 명령을 해석하고 실행 파일을 빌드하는 대신 즉시 실행합니다.

이 큰 차이점조차도, 나는이 은유 가이 아이디어를 이해하는 데 많은 도움이된다는 것을 알았습니다.


0

큰 차이는 없습니다. "쉘 (shell)"이 프로그램이었던 과거로 돌아가서 "터미널 (terminal)"은이 프로그램에 대한 프론트 엔드 랩퍼 (frontend wrapper)였으며 "콘솔 (console)"은 컴퓨터 (키보드 / 스크린)와의 물리적 연결이었다.

실행중인 OS에 따라 차이가 있습니다. "표준"쉘은 BASH 이며, Linux / Unix의 모든 버전에서 일반적으로 사용 가능합니다. Windows는 완전히 다른 쉘을 사용합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.