我在某处看到“bash 用于与 Linux 内核通信”。
是否只适用于终端?还是每个程序(包括具有 GUI 的程序)都必须通过 shell 才能完成他们愿意制作的过程?
(假设我们正在给照片上色。bash 如何知道我们在做什么?gimp 和 bash 之间是否有第三方将它们转换为 bash?)
如果您能举个例子来解释,那将非常有帮助:)
我在某处看到“bash 用于与 Linux 内核通信”。
是否只适用于终端?还是每个程序(包括具有 GUI 的程序)都必须通过 shell 才能完成他们愿意制作的过程?
(假设我们正在给照片上色。bash 如何知道我们在做什么?gimp 和 bash 之间是否有第三方将它们转换为 bash?)
如果您能举个例子来解释,那将非常有帮助:)
没有。只有用户必须通过 shell 才能与内核通信。应用程序使用API。
例如,如果我想删除一个文件,我必须使用一个 shell 或另一个,然后使用一个应用程序来删除该文件:
bash
,我可以使用rm
命令删除文件。文件管理器和
rm
反过来都可以使用unlink(3)
(或更高级别remove(3)
)函数(或系统调用)来完成实际工作。