


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").



Next:Выход
из системыUp:Основные
понятия системы LinuxPrevious:Виртуальная
консоль
root
Sun Aug 29 12:01:30 MSD 1999