Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСЫ / operatsionnye_sistemy1.doc
Скачиваний:
39
Добавлен:
15.02.2016
Размер:
479.23 Кб
Скачать

Командная строка

Логичным ответом на все четыре принципа построения проективной системы вместе с перечисленными требованиями стал интерфейс командной строки. Это такой способ взаимодействия человека и машины, при котором пользователь вводит с терминала текстовую команду системе, а система ее выполняет, отчитываясь о работе также в текстовом виде. Этот способ не противоречит сказанному выше и при грамотной организации труда весьма удобен для взаимодействия с проективными системами.

Интерпретатор командной строки в UNIX - shell (в русских переводах - "оболочка") - типичная программа этого рода. Вернее, семейство программ, потому что (как это часто бывает в UNIX) на разные вкусы существуют по-разному оформленные решения. Можно даже сказать, что терминал плюс командный интерпретатор UNIX и есть интерфейс командной строки, прочие же системы лишь с той или иной долей остроумия пародируют его.

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

Таково понимание командной строки в shell и UNIX. Вводимая пользователем строка (напомним, что обмен данными - только текстовый) воспринимается интерпретатором как последовательность "слов", разделенных пробелами и/или символами табуляции. Первое слово строки - собственно команда (ей может предшествовать несколько присвоений переменным окружения этой команды каких-нибудь значений), последующие - передаваемые ей параметры (arguments). Часто вместо "параметры" говорят "аргументы". Выходит, что мы не просто командуем машиной, но и аргументируем свои решения. Параметры видоизменяют работу команды; иными словами, при помощи параметров пользователь выделяет из всего класса решаемых командой задач одну, а также описывает конкретные исходные данные. Например, команда shutdown выполняет останов системы. Если не указывать никаких параметров, останов начнется через пять минут, в течение которых shutdown предупреждает об этом всех работающих в системе пользователей. А вот команда shutdown now приступит к останову системы немедленно.

Чтобы не запутаться в терминологии, припомним главу 5, в которой говорилось об утилитах. Командный интерпретатор самостоятельно выполняет только небольшое число подаваемых ему команд; это, как правило, команды, связанные с изменением свойств самого интерпретатора: его настройка, смена текущего каталога, элементы программирования и т. п. Подавляющее большинство команд - это имена утилит, т. е. специально для этого написанных программ. Если команда не опознана как внутренняя команда shell, она интерпретируется как имя утилиты. Система эту утилиту запускает и передает ей все параметры из командной строки.

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

Соседние файлы в папке ГОСЫ