рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Интерпретатор командного языка

Интерпретатор командного языка - раздел Информатика, Экономики, статистики и информатики Интерпретатор Shell - Это Программа, Которая Позволяет Вам Связываться С ...

Интерпретатор shell - это программа, которая позволяет вам связываться с

операционной системой. Shell считывает команды, которые вы вводите, и

интерпретирует их как запросы на выполнение других программ, на доступ к файлу или

обеспечение вывода. shell также является мощным языком программирования.

В этом разделе описаны команды и символы, имеющие специальное значение,

которые позволяют:

- находить с помощью шаблона и манипулировать группами файлов;

- запускать команду в фоновом режиме или в определенное время;

- выполнять последовательно группу команд;

- перенаправлять стандартный ввод и вывод;

- завершать работающие программы.

Метасимволы, используемые оболочкой shell:

* ? [ ]эти метасимволы позволяют указывать сокращенные имена файлов при

поиске по шаблону;

&означает, что команда будет выполняться в фоновом режиме;

;точка с запятой разделяет команды в командной строке;

отменяет специальное значение символов, таких как *, ?, [, ], &, ;, <, >, |;

'...'одиночные кавычки отменяют значение пробела как разделителя и

специальное значение всех символов;

"..."двойные кавычки отменяют значение пробела как разделителя и

специальное значение всех символов, за исключением $ и ;

>перенаправляет вывод команды в файл;

<перенаправляет ввод для команды из файла;

>>перенаправляет вывод команды, который должен быть добавлен в конец

существующего файла;

|создает канал, направляющий вывод одной команды во ввод другой

команды;

`...`используется в паре; позволяет использовать вывод команды как аргументы

в командной строке;

$используется с позиционными параметрами и определенными

пользователем переменными; также используется по умолчанию в качестве

подсказки shell.

Метасимволы используются для поиска имен файлов, посредством их упрощается

задача указания имен файлов или групп имен файлов как аргументов команды.

Метасимвол *осуществляет поиск любой строки символов, включая нулевую

(пустую) строку. Вы можете использовать * для обозначения полного или частичного

имени файла. Просто символ * ищет все имена файлов и каталогов в текущем каталоге,

за исключением тех, которые начинаются с точки. Чтобы посмотреть метасимвол * в

действии, введите его как аргумент в команде echo:

echo *

В ответ система выведет перечень всех имен файлов в вашем текущем каталоге.

Символ * может представлять символы в любой части имени файла. Например, если

вы знаете, что несколько файлов имеют одинаковые первые и последние буквы, то вы

можете выдать запрос, основываясь на этом факте. Если в вашем каталоге находятся

файлы FATE, FE, FADED_LINE, FIG3.4E, FINE_LINE, FAST_LINE, то для отображения

всех этих файлов на экране введите команду:

$ ls F*E

Вы можете, например, с помощью метасимвола * найти все файлы с именами memo

в системном каталоге: ls */memo

Метасимвол ?заменяет любой один символв имени файла за исключением

лидирующей u1090 точки. Предположим, вы имеете книгу, в которой 12 глав и хотите получить

список глав до 9-ой главы. Если ваш каталог содержит следующие файлы:

Chapter1

Chapter2

Chapter5

Chapter9

Chapter11

то для получения всех глав, которые начинаются со строки "Chapter" и заканчиваются

одним символом введите команду ls с метасимволом ?:

$ ls Chapter?

Chapter1 Chapter2 Chapter5 Chapter9

$

Хотя метасимвол осуществляет поиск одного символа, вы можете использовать его

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

остальных глав в текущем каталоге, если введете следующую команду:

$ ls Chapter??

И, конечно, чтобы получить список всех глав в текущем каталоге, используйте

метасимвол *:

$ ls Chapter*

Если вы хотите, чтобы shell нашел любой символ из перечисленных вами символов,

то заключите эти символы в квадратные скобки. Предположим, ваш каталог содержит

следующие файлы: cat, fat, mat, rat. Если вы воспользуетесь в качестве части имени файла

шаблоном [crf], то shell будет искать имена файлов, в которые входят либо буква "c",

либо буква "r", либо буква "f" в указанной позиции, например:

$ ls [crf]at

cat fat rat

$

Символы, которые могут быть сгруппированы в скобки, называются классом

символов.

Скобки могут также использоваться для обозначения диапазона символов, цифр или

букв. Предположим, что в вашем каталоге содержатся следующие файлы: chapter1,

chapter2, chapter3, chapter4, chapter5, chapter6. Если вы укажете:

chapter[1-5]

то shell найдет файлы с chapter1 по chapter5.

Класс символов можно также указать с помощью диапазона букв. Если вы укажете

[A-Z], то shell будет искать только большие буквы, если [a-z] - то малые буквы.

shell обрабатывает также и другие символы, которые позволяют вызывать другие

полезные функции.

Некоторые команды shell занимают много времени при выполнении. Эти команды

можно запустить в фоновом режиме с использованием &, освобождая тем самым

терминал для других задач. Общий формат для запуска команд в фоновом режиме

следующий:

команда&

Примечание. Интерактивные команды shell (например, read, sh, vi) нельзя

запускать в фоновом режиме.

Когда вы запускаете команду в фоновом режиме, то система UNIX выводит номер

процесса. Вы можете использовать этот номер для завершения выполняющейся u1074 в

фоновом режиме команды. Появившаяся подсказка означает, что терминал свободен и

ожидает вашу команду.

Запустить команду в фоновом режиме вы можете только в том случае, если ваш

терминал предоставляет вам такую возможность.

В одной командной строке вы можете указать несколько команд. Эти команды

должны быть разделены символом ; (точка с запятой) или символом &:

команда1; команда2; команда3

Система UNIX выполняет команды в том порядке, в котором они стоят в командной

строке, и выводит вывод этих команд в том же порядке. Этот процесс называется

последовательным выполнением.

Например, введите:

$ cd; pwd; ls

shell выполнит эти команды последовательно:

cdизменит ваше местоположение, переместив вас в регистрационный

каталог;

pwdвыведет полное имя пути вашего текущего каталога;

lsперечислит файлы в вашем текущем каталоге.

Символ позволяет вам отменить специальное значениеследующего за ним

символа. Например, у вас есть файл trail, который содержит следующий текст:

The all * game

was held in Summit.

Чтобы найти символ звездочка (*) в файле, воспользуйтесь командой grep:

$ grep * trail

The all * game

$

Команда grep найдет символ * в тексте и отобразит строку, в которой она появилась.

Без символа , символ звездочка будет интерпретироваться shell как метасимвол.

Отменить специальное значение символавы также можете с помощью

метасимвола кавычки:

- одиночные кавычки ('...') отменяют специальное значение всех символов за

исключением самих одиночных кавычек;

- двойные кавычки ("...") отменяют специальное значение всех символов, за

исключением символов двойные кавычки, $ и `(слабое ударение).

Использование кавычек удобно для цифровых специальных символов.

Например, ваш файл trail содержит строку:

He really wondered why? Why???

Чтобы найти строку, содержащую три вопросительных знака, воспользуйтесь

командой grep:

$ grep '???' trail

He really wondered why? Why???

$

Кавычки аналогично обратной косой черте часто используются для отмены

специального значения пробела. shell интерпретирует пробел в командной строке как

разделитель между аргументами команды. Одиночные и двойные кавычки и обратная

косая черта позволяют отменить это значение.

Например, чтобы в тексте разместить два или более слова, сделайте эти два слова

одним аргументом, заключив их в кавычки. Чтобы найти два слова "The all" в файле trail,

введите следующую команду:

$ grep 'The all' trail

The all * game

$

Особенно полезно применение отмены специального значения пробела для функции

banner, которая использует пробел как разделитель аргументов и выводит аргументы на

отдельных строках.

Чтобы напечатать более одного аргумента на одной строке, заключите слова в

двойные кавычки. Например, если вы введете:

$ banner happy birthday to you

то команда banner выведет ваше сообщение на 4-х строках. Если вы введете:

$ banner happy birthday "to you"

то команда banner выведет ваше сообщение на 3-х строках, причем слова "to" и "you"

будут на одной строке.

Примечание. Команда banner выводит сообщения на экране терминала большими

плакатного размера буквами.

В системе UNIX некоторые команды ожидают ввод только с клавиатуры

(стандартный ввод) и большинство команд отображают свой вывод на экране терминала

(стандартный вывод). Однако система UNIX позволяет вам перенаправлять ввод и вывод

в файлы и программы, т.е. вы можете сказать shell:

- взять ввод из файла, а не с клавиатуры;

- послать вывод в файл, а не на терминал;

- использовать программу как исходные данные для другой программы.

Чтобы перенаправить ввод, укажите в командной строке после знака "меньше " (<)

имя файла:

команда< имя_файла

Чтобы перенаправить вывод, укажите в командной строке после знака "больше " (>)

имя файла:

команда> имя_файла

Примечание. Если вы перенаправите вывод в уже существующий файл, то вывод

вашей команды заменит содержимое существующего файла.

Перед тем, как перенаправить вывод команды в конкретный файл убедитесь, что

этот файл не существует. shell не предупреждает, что выполняет перезапись

существующего файла.

Чтобы убедиться, что файл с запланированным именем не существует,

воспользуйтесь командой ls с аргументом "имя_файла". Если этот файл не существует, то

ls выдаст сообщение, что файл не найден в текущем каталоге. Например, проверка

_________существования файлов temp и junk даст следующий результат:

$ ls temp

temp

$ ls junk

junk: no such file or directiry

$

Это означает, что вы можете назвать свой файл junk, но не можете использовать в

качестве имени temp, если не хотите потерять содержимое существующего файла.

Чтобы добавить вывод в существующий файл и не разрушить его, вы можете

воспользоваться символом >>:

команда>> имя_файла

В результате выполнения команды вывод будет добавлен в конец существующего

файла. Если файл не существует, то он будет создан. Рассмотрим, например, как

добавить вывод с помощью команды cat. Команда cat выводит содержимое файлов,

имена которых являются ее аргументами, в стандартный вывод. Если нет аргументов, то

она выводит стандартный ввод в стандартный вывод. Сначала выполните команду cat без

перенаправления вывода. Затем содержимое файла trial2 добавляем после последней

строки в файл trial1 при выполнении команды cat над файлом rtial2, перенаправив вывод

в файл trial1:

$ cat trial1

This is the first line of trial1.

Hello.

This is the last line of trial1.

$

$ cat trial2

This is the beginning of trial2.

Hello.

This is the end of trial2.

$ cat trial2 >> trial1

$ cat trial1

This is the first line of trial1.

Hello.

This is the last line of trial1.

This is the beginning of trial2.

Hello.

This is the end of trial2.

$

Перенаправление вывода очень удобно в том случае, если вы не хотите, чтобы

вывод появлялся на экране немедленно, или хотите сохранить его.

Команда sortразмещает строки указанного файла в алфавитном или цифровом

порядке. Прежде чем перенаправить вывод команды в файл убедитесь, что имя этого

файла не существует. Команда sort сначала очищает файл, который будет содержать

вывод, затем выполняет сортировку и помещает вывод в пустой файл.

Когда команда запущена в фоновом режиме, то вывод ее осуществляется на экране

терминала. И если вы используете терминал в то же время для выполнения других задач,

то вывод фоновой задачи будет прерывать вашу работу. Однако если перенаправить

вывод в файл, то вы сможете спокойно работать.

Предположим, что вы хотите найти все появления слова "test" в файле schedule.

Запустите команду grep в фоновом режиме и перенаправьте вывод в файл testfile:

$ grep test schedule > testfile&

Теперь вы можете использовать терминал для других работ и просмотреть файл

testfile позднее.

Символ | называется каналом. Канал является мощным средством, которое

позволяет u1074 вам брать вывод одной команды и использовать его в качестве ввода для

другой команды без создания временных файлов. Таким образом, построенная

последовательность команд называется конвейером. Общий формат конвейера:

команда1| команда2| команда3...

Вывод команды1 используется как ввод для команды2. Вывод команды2

используется как ввод для команды3.

Чтобы понять, насколько эффективен конвейер, рассмотрим 2 способа, которые

дают одинаковый результат:

Использование метода перенаправления ввода/вывода. Запустим одну команду и

перенаправим ее вывод во временный файл. Затем запустим вторую команду, которая

берет содержимое временного файла как ввод. И в конце удалим временный файл.

Использование метода конвейера. Например, предположим, что вы хотите послать

сообщение happy birthday с помощью команды banner владельцу user2.

Выполним сначала по первому методу:

1) введите команду banner и перенаправьте ее вывод во временный файл:

$ banner happy birhday > message.tmp

2) введите команду mail и в качестве ввода воспользуйтесь файлом message.tmp:

$ mail user2 < message.tmp

3) удалите временный файл:

$ rm message.tmp

Вторым методом это можно сделать быстрее:

$ banner happy birthday | mail user2

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

этого команду заключите между знаками "слабое ударение" (`...`) и поместите ее в командной

строке в том месте, где вывод будет трактоваться как аргумент.

Например, вы можете подставить вывод конвейера команд date и cut в качестве аргумента в

команде banner:

$ banner `date | cut -c12-19`

Обратите внимание на результат: система выводит banner с текущим временем.

– Конец работы –

Эта тема принадлежит разделу:

Экономики, статистики и информатики

Московский государственный университет... Экономики статистики и информатики... Институт quot Московская высшая банковская школа quot...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Интерпретатор командного языка

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Москва 2002 г.
УДК681.3.06 Головина О.С., Кондратьев В.К. Операционные системы и оболочки. /Моск. гос. ун-т экономики, статистики и информатики. – М., 2002. – 108 с.

Понятие операционной среды
Назначение операционной системы: - управление вычислительными процессами в вычислительной системе; - распределение ресурсов вычислительной системы между различными вычисл

Понятие вычислительного процесса и ресурса
Последовательный процесс («задача») – выполнение отдельной программы с ее данными на последовательном процессоре. Процессор имеет два аспекта: - носитель данных; - исполн

Динамика состояния процесса
Процесс может находиться: - в активном состоянии, может участвовать в конкуренции за использование ресурсов вычислительной системы; - в пассивном

Реализация понятия последовательного процесса в ОС
Чтобы ОС могла управлять процессами, она должна располагать полной информацией о них. Для этого на каждый процесс заводится специальная информационная структура, называемая

Процессы и треды
Для реализации «мультизадачности» было введено понятие «легковесных» процессов, которые в настоящее время получили названия потокиили треды(нити).

Прерывания
Прерывания – механизм, позволяющий координировать параллельное функционирование отдельных устройств вычислительной системы и реагировать на особые ситуации, возникающие при работе

Основные виды ресурсов
Одним из важнейших ресурсов является сам процессор, точнее процессорное время. Имеется множество методов разделения этого ресурса.

Вычислениями и самой вычислительной системой.
ОС разделяют по назначению: - ОС общего назначения; - ОС специально назначения. ОС специального назначения подразделяются на следующие: - для

Вопросы к главе 1
1) В чем заключается различие u1087 понятий процесс и задача? 2) Для чего каждая задача получает дескриптор? Какие поля содержатся в дескрипторе? Что такое контекст задачи?

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

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

Дисциплины диспетчеризации
Диспетчеризация связана с понятием задачи (потока). Если ОС не поддерживает механизма потоков, то понятие задачи можно заменить на понятие процесса. Известно большое количество пр

Вытесняющие и не вытесняющие алгоритмы диспетчеризации
Диспетчеризация без перераспределения процессорного времени, то есть не вытесняющая многозадачность– это такой способ диспетчеризации процессов, при

Качество диспетчеризации и гарантии обслуживания
Одна из проблем при выборе дисциплины обслуживания – гарантия обслуживания. При некоторых дисциплинах обслуживания, например, с абсолютными приоритетами, низкоприоритетные задачи

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

Пространство
Программист обращается к памяти с помощью некоторого набора логических имен. Имена переменных и входных точек модулей составляют область имен. Физическая памятьпр

Вопросы к главе 2
1) Какие дисциплины диспетчеризации вы знаете? 2) Что такое гарантия обслуживания? 3) Опишите механизмы диспетчеризации. В чем их различия? 4) Что такое виртуальный адрес

Функции файловой системы ОС и иерархия данных
Файл– набор данных, организованных в виде совокупности записей одинаковой структуры. Файловая система– это набор спецификаций и соответствующее им

Файловая система FAT
Аббревиатура FAT (file allocation table) означает «таблица размещения файлов». Этот термин относится к линейной табличной структуре со сведениями о файлах – именами файлов, их атр

Файловая система FAT32
FAT32 является полностью независимой 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с FAT16. Принципиальное отличие FAT32

Файловая система NTFS
Файловая система NTFS (New Technology File System) содержит ряд значительных усовершенствований и изменений, существенно отличающих ее от других файловых систем. С точки зрения по

Файловая система s5 операционной системы UNIX System V
Файловая система s5 занимает слайс диска и состоит из трех основных компонентов: - суперблок; - массив индексных дескрипторов; - блоки данных.

Вопросы к главе 3
1) Почему создание подсистемы ввода/вывода считается одной из самых сложных областей проектирования операционных систем? 2) Почему операции ввода/вывода объявляются привилегирован

Параллелизм, который достигается использованием нескольких процессоров
и/или многозадачного подхода. Примеры систем реального времени: - системы управления атомными электростанциями;

Основных функций ОС и обычно не применяются для приложений;
- переменного приоритета (от 0 до 15) – определяет процессорный приоритет приложения; приоритет 0 – для бесстраничного системного потока.

Регистрации предоставляется виртуальный процессор, в котором есть все необходимые
ресурсы: - процессор (карусельная диспетчеризация RR, динамические приоритеты); - память; - устройства;

Границы других областей;
- i-список, состоящий из описаний файлов, называемых i-узлами; - область для хранения содержимого файлов. Каждый i-узел содержит:

Если необходима двухсторонняя связь, следует создать две очереди.
Работа с очередями сообщений имеет много отличий от работы с конвейерами: - очереди сообщений предоставляют возможность использовать u1085 несколько

Исполнение;
- в открывшемся окне приложения выбрать пункт меню Подключение; - ввести IP-адрес удаленной UNIX-системы (например, 192.168.2.19); - уста

Вся регистрационная информация о пользователях системы хранится в файле
/etc/passwd. Структура и назначение полей файла /etc/passwd: - регистрационное имя; - не используется;

В тех случаях, когда истек минимальный срок действия пароля, с помощью
команды passwd можно изменить пароль: $ passwd Setting password for user: dko30102 Old password:

Успехом позволяет просмотр как предыдущей, так и последующей страницы текста.
Формат команды следующий: pg имя_файла [ имя_файла . . . ] На подсказку (:) в нижней части экрана можно ответить:

В режиме ввода текста вводимые с клавиатуры символы поступают во временный
файл – буфер редактирования. При этом введенные символы появляются на экране. В этом режиме выполняются четыре функции: - вставки (наприм

Если файл существует, то на экране отобразится начало текста файла.
Для того чтобы выводилась информация ___________об установленном режиме, необходимо перейти в командный режим (нажать клавишу <Esc>) и ввести: :set

Система ввода и вывода
Команды и утилиты операционной системы Unix вводятся с клавиатуры, а результаты их выполнения выводятся на дисплей терминала, которые часто называют стандартными устройствами ввод

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

Выполнение, остановка и повторный запуск процессов
В этом подразделе описывается: - как запустить команду в определенное время с помощью команд batch и at; - как получить информацию о состоянии процесса; - как завершить а

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги