nextuppreviouscontents
Next:Выход из системыUp:Основные понятия системы LinuxPrevious:Виртуальная консоль

Оболочки и команды

  Большая часть общения с системой Linux происходит через посредство командных оболочек (shell). Командная оболочка -- это программа, которая воспринимает команды, вводимые с клавиатуры, и преобразует их в инструкции операционной системе. Аналогичные функции исполняет программа COMMAND.COM в системе MS-DOS. Командная оболочка является одним из интерфейсов системы Linux. Существует еще много различных интерфейсов -- например, X Window System, в котором команды могут исполняться путем действий с клавиатурой и мышью.

После того, как вы вошли в систему, операционная система запускает командную оболочку, и вы можете вводить команды. Приведем простой пример. Пусть Лэрри входит в систему и ожидает приглашения (prompt) системы.

mousehouse login:  larry
Password:  пароль пользователя larry
Welcome to Mousehouse!

/home/larry\#
  Последняя строчка этого текста является приглашением командной оболочки. Появление этого приглашения свидетельствует о том, что оболочка готова воспринимать команды. Ниже будет объяснено, что приглашение само по себе значит.

А теперь попробуем заставить систему сделать кое-что забавное:

/home/larry\# make love
make: *** No way to make target `love'. Stop. 
/home/larry\#
Как оказывается, make является именем некоторой системной программы, и оболочка исполнила эту программу, когда ей дали такую команду. К сожалению, в этот раз операционной системе не все в этой команде понравилось.

  Итак, что же такое команда? Обратимся к приведенному выше примеру. Командой является первое слово в командной строке -- "make"; это называется именем команды. Все остальное в командной строке воспринимается в качестве аргументов этой команды. В следующем примере:

/home/larry\# cp foo bar
имя команды -- "cp", а аргументы -- "foo" и "bar".

Когда вы вводите команду, оболочка производит несколько действий. Во-первых, она проверяет, является ли команда внутренней для оболочки. Внутренней командой называется команда, про которую оболочка сама по себе знает, как ее исполнять. Имеется несколько внутренних команд оболочек, и они будут рассмотрены ниже. Также оболочка проверяет, не является ли команда псевдонимом (alias) другой команды. Если результат всех проверок отрицательный, то оболочка ищет программу с этим именем на диске. Если программа находится, оболочка ее исполняет, передавая ей аргументы, введенные в командной строке.

В первом из наших примеров оболочка искала программу под названием make, нашла ее и запустила с аргументом love. На самом деле make -- это программа, которая часто используется для компилирования крупных программ, и в качестве аргумента у нее используется имя программы, которую нужно компилировать. В данном случае, отдавая команду "make love", мы отдали приказ компилятору make компилировать программу love. Поскольку компилятор make не нашел программу с таким именем, он выдал сообщение об ошибке (которое нам может показаться смешным) и вернул нас к приглашению оболочки.

  Посмотрим теперь, что будет, если оболочка не сможет найти программу с введенным нами именем. Введем следующую команду:

/home/larry\# eat dirt
eat:  command not found 
/home/larry\#
Все очевидно: оболочка не смогла найти программу с данным ей именем (здесь -- "eat") и выдала сообщение об ошибке. Это сообщение будет часто появляться, если вы будете неправильно вводить команду с клавиатуры (например, если бы в самом первом примере вы набрали "mkae love" вместо "make love").


nextuppreviouscontents
Next:Выход из системыUp:Основные понятия системы LinuxPrevious:Виртуальная консоль
root

Sun Aug 29 12:01:30 MSD 1999