rbash
지금은 , bash
, dash
또는 와 함께 CLI(명령줄 인터페이스)를 사용하고 있습니다 sh
. 이 사실을 고려하면 CLI가 다음과 같이 가정할 수 있습니다.아니요쉘 관련, 이러한 쉘을 모두 제거하더라도 일부 기본/기본/매우 제한적인 CLI를 계속 사용할 수 있습니다.
내 질문
GUI가 없는 OS에서 위의 셸을 모두 제거해도 일종의 기본 CLI가 그대로 유지됩니까?
노트
나는 CLI가 커널의 일부가 될 것이라고 생각하지 않습니다. 내가 이해하는 바에 따르면 커널은 일반적으로 셸과 같은 프록시를 통해서만 액세스할 수 있기 때문입니다.
나는 또한 tmux와 screen을 고려하고 있었지만 제목과 질문에서 제거했습니다.
답변1
아니요. 이러한 다양한 쉘은 모두 매우 유사하기 때문에 좀 더 기본적인 CLUI 위에서 실행된다고 가정하는데 이는 잘못된 것입니다. 각 셸은 커널에 대해 별도의 CLI 인터페이스를 구현하며 모두 다소 비슷해 보입니다(모두 "Unix" 셸이고 허용되는 표준을 어느 정도 엄격하게 준수하며 모두 동일한 유형의 터미널 장치에서 실행되기 때문입니다). CLUI는 각 셸 프로그램에 개별적으로 코딩됩니다. 이들은 독립적이며 일부 기본 CLUI를 공유하지 않습니다.
모든 쉘을 제거하면 CLUI가 없습니다. 이로 인해 꼬마 펭귄이 울었습니다 :(
답변2
두 가지 대답이 있습니다: 예와 아니오:
아니요
셸을 제거하면 시스템 작동이 중지됩니다. 쉘은 매우 중요한 용도로 널리 사용되고 사용됩니다. 예를 들어, 로그인 프로그램은 쉘 스크립트에 의해 시작됩니다(다른 모든 것도 일반적으로 이 목적으로 사용되는 쉘인 쉘 스크립트에 의해 시작됩니다 sh
). 따라서 쉘이 없으면 로그인할 수 없습니다. 쉘이 아닌 환경에 로그인하더라도 마찬가지입니다.
예
확인하신 대로 다양한 구성요소가 있습니다.
- 커널(예: Linux, BSD 커널, cygwin),
- 가상 터미널/터미널 에뮬레이터(예:
konsole
Linuxxterm
콘솔), - 멀티플렉서(예
screen
: ,tmux
), - 셸(예
bash
:dash
), 셸(예: , )csh
에서 실행되는 프로그램입니다 .ls
grep
이들 중 하나를 변경하고 다양한 조합으로 사용할 수 있습니다.