“쉘”이라는 용어가 궁금합니다. 나는 그것이 무엇인지 알고 있다고 생각하지만 ( “쉘”과 “터미널”의 구별은 여전히 모호하지만) 왜 “쉘”이라는 단어가 이런 유형의 프로그램을 설명하기 위해 선택 되었습니까?
이것은 중요하지 않은 것처럼 보일 수 있지만 일반적으로 선택이라는 단어가 나를 미스터리하게 만들면 내 이해에 차이가 있음을 나타냅니다.
답변
멀 틱스 용어는 단서를 제공 할 수 있습니다. 쉘은 다음과 같이 정의됩니다.
Multics 명령 프로세서는 셸이라고 불렀습니다. 이 프로그램에는 리스너가 실행할 명령 행이 전달됩니다. 행을 명령 이름과 인수로 구문 분석하고 명령을 찾아서 시작한 다음 PL / I 문자열 인 인수를 사용하여 명령 프로그램을 호출합니다. cu_ $ set_cp를 호출하여 기본 시스템 제공 쉘을 사용자 제공 프로그램으로 간단하게 교체 할 수 있습니다 (abbrev 참조). 유닉스 쉘은 Multics 의미에서 쉘과 리스너의 개념을 모두 포함합니다.
껍질 과 청취자 의 관계는 어원 적으로 그리고 은유 적 으로 의미가있다 [1].
[1] “껍데기는 권위, 연설 및 청각의 상징이기 때문에 예언의 상징이라고 할 수 있습니다.”
답변
유추에는 너트가 있습니다 . 외부는 쉘이고 내부는 커널입니다.
답변
에서 http://en.wikipedia.org/wiki/Thompson_shell#History
“명령 줄 인터프리터의 이름”shell “과 운영 체제 커널 외부에서 사용자 프로그램으로 쉘을 만드는 개념은 Unix의 전구체 Multics에 도입되었습니다.”
wikipedia 토끼 구멍 아래로 “Louis Pouzin, Multics에서 사용되는 명령 언어에 대한 쉘이라는 용어가 도입되었습니다”라는 문구가 있습니다.
나는 그것을 완전히 읽지는 않았지만 여기에 쓴 글은 당신에게 답을 줄 것입니다 :
http://www.multicians.org/shell.html
편집 : 실제로 설명되지 않았습니다. 그는 단지 그 용어를 “동전”했다. 당신이 기대하던 재미있는 이야기가 아니 었습니까?
답변
어쩌면 표면이기 때문에 내부 커널을 사용자로부터 보호합니까? 따라서 커널은 쉘 내부의 진주 일 것입니다.
답변
답이 여기에있는 것처럼 보입니다.
역사적 메모 : 원래 Multics 쉘 (센스 1)은 쉘 (센스 3)이기 때문에 그렇게 불렀습니다. 별도의 프로세스를 시작하지 않고 프로그램을 자체 코드에 동적으로 링크하고 서브 루틴으로 호출 한 다음 리턴시 동적으로 링크를 해제하여 사용자 프로그램을 실행했습니다. VMS 명령 인터프리터는 여전히 이와 같은 작업을 수행합니다.
– 위키 백과
즉, “쉘 (shell)”은 유닉스의 전신 인 멀티 크 (Multics)가 어떻게 프로그램을 실행했는지에 대한 훌륭한 실제 비유였습니다.
답변
내가 이해하는 것처럼 “쉘”은 이제 “기본 사용자 인터페이스”라고 부르는 용어의 오래된 용어입니다. 현대의 모든 유사한 시스템은 데스크탑 은유를 사용하기 때문에 현대의 유사한 용어는 “데스크탑 환경”입니다.
답변
커널은 시스템의 핵심이며 쉘은이를 둘러싸고 있으며 커널과 사용자 사이의 인터페이스입니다.
모든 UNIX 시스템 내에서, 심지어 Linux 시스템에서도 쉘은 시스템 관리자가 시스템을 구성하고 관리하는 장소입니다.
현대 용어는 종종 CLI 또는 명령 행 인터페이스라는 용어를 사용하여 쉘 프롬프트를 설명합니다. 이것은 GUI 또는 그래픽 사용자 인터페이스와 관련이 있습니다. 그러나 실제 Sysadmin은 GUI 도구를 사용하여 UNIX / Linux를 구성하지 말고 쉘 명령 프롬프트에서만 직접 작업해야한다는 것을 알고 있습니다.
오늘날 일부 Linux 애호가가 “리눅스를 사용하지만 실제로 CLI를 배우지 못했습니다”와 같은 말을 듣는 것은 더욱 관련이 있습니다.
구식 속담이 진행되면서 “쉘 프롬프트에서 할 수 없다면 할 수 없습니다.”