Вопрос Должна ли каждая программа проходить через оболочку, чтобы завершить процесс, который они хотят сделать?


Я где-то видел, что «bash используется для связи с ядром Linux».

Это применимо только к терминалу? Или каждая программа (включая программы с GUI) должна пройти через оболочку, чтобы завершить процесс, который они хотят сделать?

(Подумайте, мы раскрашиваем фотографию. Как bash знает, что мы делаем? Есть ли третья сторона между gimp и bash, чтобы преобразовать их в bash?)

Было бы очень полезно, если бы вы могли привести пример, чтобы объяснить :)


1
2017-12-01 14:58


происхождения




ответы:


Неа. Только пользователи должны проходить через оболочку для связи с ядром. Использование приложений API-интерфейсы,

Например, если я хочу удалить файл, я должен использовать одну оболочку или другую, а затем приложение для удаления файла:

  1. С оболочкой командной строки (CLI), такой как bash, Я могу использовать rm для удаления файла.
  2. С оболочкой GUI (например, Unity или GNOME Shell) я могу использовать что-то другое, например File Manager, для удаления файла. В оболочке GUI, в свою очередь, не требуется использовать оболочку CLI.

Как диспетчер файлов, так и rm в свою очередь, может использовать unlink(3) (или более высокий уровень remove(3)) (или системный вызов), чтобы выполнить фактическую работу.


4
2017-12-01 15:13



| Я должен использовать одну оболочку или другую | сколько оболочек есть в ОС? если это гном, существуют ли только оболочки bash и gnome? или мы можем установить много? - Srinesh
@Srinesh Как много оболочек, как вы можете найти (хотя некоторые могут быть несовместимы с другими). - muru
@Srinesh по умолчанию, Ubuntu поставляется с dash (Debian Amquist Shell) и bash (Bourne Again Shell), которые используются для интерактивного и сценарирования в текстовом интерфейсе. Red Hat Linux, с другой стороны, поставляется с bash а также tcsh , Gnome а также Unity являются графическими оболочками. Можно установить столько, сколько нужно, например, у меня есть bash, dash, mksh , ksh, tcsh, а также zsh установлен. Для 99% повседневных задач вы можете использовать bash, Разработчики, хакеры и просто технические наркоманы, возможно, многие из них были установлены. Зачем ? Поскольку каждая оболочка имеет ряд уникальных функций - Sergiy Kolodyazhnyy