Unix에는 두 가지 유형의 "쉘"이 있습니까? [반복하다]

Unix에는 두 가지 유형의 "쉘"이 있습니까? [반복하다]

Linux를 자동으로 사용하는 것이 아니라 정말로 Linux를 이해하고 싶은 Linux 초보자로서 저는 "Shell"이라는 용어가 기본적으로 실행 및 작동할 수 있는 서비스를 포함하는 커널 위의 소프트웨어 계층을 설명한다는 것을 이해합니다.유용커널보다 훨씬 "쉽습니다".

제가 올바르게 이해한 바에 따르면, 웹 서버 소프트웨어(예: Apache, MySQL, PHP)는 "고급" 프로그래밍 언어로 작성되었으며 쉘 소프트웨어 블록을 사용하여 "웹 서버"로 함께 실행될 수 있습니다. ~에서 실행되다2층"웹 서버"를 손상시킵니다.

그렇다면 "Shell"이라는 소프트웨어 계층과 내가 Ubuntu에서 사용하는 터미널의 차이점은 무엇입니까?Shell이라고도 알려진 Wikipedia?

제가 보기에는 Linux의 "Shell"이라는 단어에 두 개의 "컨텍스트"가 있거나 일부 사용자가 터미널(예: Bash 터미널)을 "Shell"이라고 잘못 부르는 것 같습니다.

답변1

A는 terminal다른 시스템에 연결할 수 있게 해주는 장치 또는 애플리케이션입니다. Unix에서 이러한 연결을 만들면 에 연결됩니다 shell.

쉘은 사용자가 다른 프로그램 실행을 포함하여 다양한 작업을 수행할 수 있도록 하는 응용 프로그램입니다. 대부분의 프로그램에는 쉘이 필요하지 않습니다. 쉘은 사용자 제어를 위해서만 존재합니다.

따라서 shell내부에 존재 terminal하지만 도망치지는 않습니다.

마지막으로 실제로는많은다양한 터미널 에뮬레이터그리고껍데기.

답변2

"쉘"과 "터미널"은 종종 같은 의미로 사용됩니다.

차이점은 Ubuntu에서 여는 터미널이 터미널이라는 것입니다.에뮬레이터. 시스템에는 다양한 에뮬레이터가 상호 작용하는 실제 "터미널" 또는 "셸"만 있습니다.

Bash는 fish, zsh 등과 같은 내부 쉘과 상호작용하기 위한 구문일 뿐입니다.

관련 정보