Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы OC UNIX_часть3.doc
Скачиваний:
21
Добавлен:
18.04.2015
Размер:
543.23 Кб
Скачать

1.1. Редактор ed

Редактор ed– интерактивный редактор, который был написанБилломДжоем(BillJoy) из университета Беркли. Это один из первых программных продуктов данного класса. Он был создан еще в то время, когда для работы с UNIX использовались простые терминалы телетайпного типа – единственные из доступных в то время типов терминалов.

Возможности edследует знать по четырем причинам.

  1. В какой бы системе UNIX вы ни работали, в ней всегда можно найти старый надежный редактор ed, который в командном процессореБорна,СииКорнаработает одинаково, без каких–либо местных различий.

  2. Базовые команды edлегко освоить и применять их для простых операций при создании файлов и быстрого их исправления (что особенно удобно для работы с короткими сценариями командного процессора и профилями регистрации).

  3. Редактор edпозволяет использовать регулярные выражения – конструкции, которые применяются в других областях UNIX (grepиsed).

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

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

Например,

$ ed first

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

Редактор имеет два режима работы: командный режимирежим ввода текста.

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

В режиме ввода текста любой напечатанный вами текст будет добавлен в специальный буферный файл. Фактически вы редактируете временную копию своего исходного файла – файла buffer. На ваш исходный файл это пока никакого влияния не оказывает. Существует только один буферный файл, поэтому редакторedможет редактировать в каждый момент лишь один файл. Буферизованный подход позволяет вам отменить последние внесенные изменения.

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

Для перехода в командный режим достаточно ввести строку текста, состоящую из единственной точки. Такая строка не становится частью файла, а вы переходите в командный режим. Теперь можно воспользоваться любой командой, вводя ее и нажимая клавишу Enter.

Команды edимеют простую и регулярную структуру: ноль, один или два адреса предшествуют односимвольной команде, после которой могут располагаться ее аргументы. Адреса задают одну или несколько строк из буфера. Команда может не иметь адреса, тогда редактирование происходит с текущей строкой. Если вы вводите незнакомую команду, редактор ответит вам знаком «?». Этот же результат вы получите, если ввели некорректный поиск.

Все команды редактора односимсвольные и делятся на три категории:

  • команды, не использующие адресации;

  • команды, использующие один адрес;

  • команды, использующие два адреса.