是不是每個程式都必須透過shell來完成他們願意做的過程?

是不是每個程式都必須透過shell來完成他們願意做的過程?

我在某處看到過“bash 用於與 Linux 核心通訊”。

是否只適用於終端?或者每個程式(包括具有 GUI 的程式)都必須透過 shell 來完成它們願意執行的過程嗎?

(假設我們正在為照片上色。bash 如何知道我們在做什麼?gimp 和 bash 之間是否有第三方將它們轉換為 bash?)

如果您能舉個例子來解釋的話,那將非常有幫助:)

答案1

沒有。只有使用者必須透過 shell 才能與核心進行通訊。應用程式使用蜜蜂

例如,如果我想刪除一個文件,我必須使用一個 shell 或另一個 shell,然後使用一個應用程式來刪除該文件:

  1. 透過命令列介面 (CLI) shell,例如bash,我可以使用rm命令來刪除檔案。
  2. 透過 GUI shell(如 Unity 或 GNOME Shell),我可以使用其他工具(例如檔案管理器)來刪除檔案。 GUI shell 則不需要使用 CLI shell。

檔案管理器 和rm依序可以使用unlink(3)(或更高層級的remove(3))功能(或系統調用)去做實際工作。

相關內容