Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. А26. И рыночная, и командная экономики
  2. Административно-командная экономическая система.
  3. Адресная строка
  4. Бегущая строка на html-странице
  5. Для нахождения максимума, минимума, среднего значения или суммы элементов не по столбцам, а по строкам необходимо сначала транспонировать матрицу.
  6. Классификация экономических систем. Традиционная экономика. Классический капитализм. Административно-командная экономика. Смешанная экономика. Трансформационная экономика.
  7. Командная экономическая система
  8. Командная экономическая система
  9. Манипулирование строками

Основная среда взаимодействия с Linux — командная строка. Суть её в том, что каждая строка, передаваемая пользователем системе, — это команда, которую та должна выполнить. Пока не нажат Enter, строку можно редактировать, затем она отсылается системе.

В Linux нет отдельного объекта под именем "система". Система - она на то и система, чтобы состоять из многочисленных компонентов, взаимодействующих друг с другом. Главный из системных компонентов - пользователь. Это он командует машиной, а та его команды выполняет. В руководствах второго и третьего разделов описаны системные вызовы (функции ядра) и библиотечные функции. Они-то и есть непосредственные команды системе. Правда, воспользоваться ими можно только написав программу (чаще всего - на языке Си), нередко - довольно сложную.

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

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

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

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

По завершении команды возобновляется работа "отступившего на задний план" командного интерпретатора - он снова считывает командную строку, разбирает ее, вызывает команду... Так продолжается до тех пор, пока пользователь не скомандует оболочке завершиться самой (с помощью logout или управляющего символа " ^D ", который для shell значит то же, что и для других программ: больше с терминала ввода не будет).

Конечно, командных интерпретаторов в Linux несколько. Самый простой из них, появившийся в ранних версиях UNIX, назывался sh, или "Bourne Shell" - по имени автора, Стивена Борна (Stephen Bourne). Со временем его везде, где только можно, заменили на более мощный, bash, "Bourne Again Shell" 1). bash превосходит sh во всем, особенно в возможностях редактирования командной строки. Помимо sh и bash в системе может быть установлен "The Z Shell", zsh, самый мощный на сегодня командный интерпретатор (шутка ли, 22 тысячи строк документации!), или tcsh, обновленная и тоже очень мощная версия старой оболочки "C Shell", синтаксис команд которой похож на язык программирования Си.

Какая бы задача, связанная с управлением системой, ни стояла перед пользователем Linux, она должна иметь решение в терминах командного интерпретатора. Фактически, решение пользовательской задачи - это описание ее на языке shell. Язык общения пользователя и командного интерпретатора - это высокоуровневый язык программирования, дополненный, с одной стороны, средствами организации взаимодействия команд и системы, а с другой стороны - средствами взаимодействия с пользователем, облегчающими и ускоряющими работу с командной строкой.

 




Дата добавления: 2014-12-19; просмотров: 38 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав