He visto en alguna parte que "bash se usa para comunicarse con el kernel de Linux".
¿Es aplicable sólo al terminal? ¿O todos los programas (incluidos los programas que tienen GUI) tienen que pasar por el shell para completar el proceso que desean realizar?
(Considere que estamos coloreando una foto. ¿Cómo sabe bash lo que estamos haciendo? ¿Existe un tercero entre gimp y bash para convertirlos a bash?)
Sería muy útil si pudieras tomar un ejemplo para explicarlo :)
Respuesta1
No. Sólo los usuarios tienen que pasar por un shell para comunicarse con el Kernel. Uso de aplicacionesAPI.
Por ejemplo, si quiero eliminar un archivo, tengo que usar un shell u otro y luego una aplicación para eliminar el archivo:
- Con un shell de interfaz de línea de comandos (CLI), como
bash
, puedo usar elrm
comando para eliminar el archivo. - Con un shell GUI (como Unity o GNOME Shell), puedo usar otra cosa, como el Administrador de archivos, para eliminar el archivo. El shell GUI, a su vez, no necesita utilizar un shell CLI.
Tanto el Administrador de Archivos como rm
a su vez podrán utilizar la función unlink(3)
(o la de nivel superior remove(3)
) (ollamada al sistema) para hacer el trabajo real.