GUI를 사용하여 일부 Linux 배포판을 설치하면 셸 sh
과 Bash
CLI가 함께 제공됩니다. CLI를 사용하면 CLI를 통해 sh
운영 체제에 액세스 할 수 있지만 Bash
GUI는 어떻습니까? GUI를 사용하여 시스템을 작동할 수 있습니까 sh
? Bash
아니면 사용자와 커널 사이를 중재하는 자체 쉘이 있습니까?
답변1
컴퓨팅 측면에서 쉘은 운영 체제의 가장 바깥쪽 레이어입니다.즉사용자와 상호 작용하는 운영 체제의 일부입니다. (JdeBP의 내용도 참조하세요.슈퍼유저에 대한 훌륭한 설명.) 따라서 Windows에서 일반적인 셸은 Explorer(관리 데스크톱)이고, 다양한 버전의 Mac OS에서는 Finder이며, Unix 스타일 시스템에서는 사용자가 시스템의 기본 인터페이스로 구성하는 모든 것입니다 /bin/bash
. 또는 콘솔의 다른 것 /bin/ksh
, GNOME, Looking Glass, CDE 또는 목록이 계속됩니다) 등)./bin/*sh
twm
그러나 많은 독자들은 쉘에 다음이 있는 POSIX를 언급할 것입니다.구체적인 정의:
쉘은 명령 언어 해석기입니다.
...특정 구문과 명령이 있으며 모두 POSIX에 정의되어 있으며 오늘날의 일반적인 셸 구현에 의해 다양하게 확장됩니다.
두 유형의 셸 모두 최소한 Unix 스타일 시스템에서 커널과 상호 작용하기 위해 동일한 유형의 방법을 사용합니다. 일반적으로 일종의 라이브러리(C 라이브러리)로 래핑되지만 궁극적으로 시스템 호출을 사용합니다. 이는 다양한 유형의 쉘을 포함하여 커널과 모든 실행 프로그램 간의 중앙 명령 인터페이스입니다. Bash는 시스템 호출을 사용하고, GNOME 쉘은 시스템 호출을 사용하고, Nautilus는 시스템 호출을 사용합니다. GUI를 사용하지 않고도 완전히 사용할 수 있습니다 /bin/sh
.
(일반적인 GUI의 다양한 구성 요소가 다른 도구(물론 "CLI" 쉘 포함)를 사용하여 구현될 수 있다는 사실을 알게 되면 이 모든 것이 약간 혼란스러워집니다. 따라서 Linux GUI의 일부는 종종 다음을 사용하여 구현됩니다. 구현했지만 /bin/sh
그렇지 않습니다.가지다이 되다. )