모든 프로그램이 원하는 프로세스를 완료하려면 셸을 거쳐야 합니까?

모든 프로그램이 원하는 프로세스를 완료하려면 셸을 거쳐야 합니까?

"bash는 Linux 커널과 통신하는 데 사용됩니다."라는 말을 어디선가 본 적이 있습니다.

단말기에만 적용되나요? 아니면 모든 프로그램(GUI가 있는 프로그램 포함)이 원하는 프로세스를 완료하기 위해 셸을 거쳐야 합니까?

(사진을 색칠한다고 생각해보세요. bash는 우리가 하는 일을 어떻게 알 수 있나요? gimp와 bash 사이에 bash로 변환할 제3자가 있나요?)

예시를 들어 설명해주시면 정말 도움이 될 것 같아요 :)

답변1

아니요. 사용자만이 커널과 통신하려면 셸을 거쳐야 합니다. 응용 프로그램 사용아피스.

예를 들어, 파일을 삭제하려면 하나의 셸 또는 다른 셸을 사용한 다음 파일을 삭제하는 애플리케이션을 사용해야 합니다.

  1. 와 같은 명령줄 인터페이스(CLI) 셸을 사용하면 명령을 사용하여 파일을 삭제할 bash수 있습니다 .rm
  2. Unity 또는 GNOME Shell과 같은 GUI 셸을 사용하면 파일 관리자와 같은 다른 것을 사용하여 파일을 삭제할 수 있습니다. GUI 셸은 CLI 셸을 사용할 필요가 없습니다.

파일 관리자와 rm차례로 둘 다 unlink(3)(또는 더 높은 수준의 remove(3)) 기능을 사용할 수 있습니다.시스템 호출) 실제 작업을 수행합니다.

관련 정보