Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционная система UNIX.doc
Скачиваний:
94
Добавлен:
01.05.2014
Размер:
1.67 Mб
Скачать

6.17.6. Команды помощи

Обратите внимание, что когда вы редактируете файл, редактор ed иногда в ответ на введенную вами команду отвечает знаком "?". Знак "?" означает диагностическое сообщение при обнаружении ошибки. Команды помощи выдают вам короткое сообщение, объясняющее причину ошибки. Существуют две команды помощи: h - отображает короткое сообщение об ошибке; H - устанавливает в ed режим распечатки короткого сообщения об ошибке каждый раз, когда появляется "?". Для отмены этого режима вновь введите H.

Если попытаться завершить работу с ed, не записав измененный буфер в файл, то появится знак "?". Когда появится "?", введите "h":

q<CR>

?

h<CR>

warning: expecting "w"

6.18. Сообщения редактора

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

WRITE ERROR -

ошибка записи, связанная либо с отсутствием места на устройстве, либо со сбоем аппаратуры;

Entering encrypting mode! -

свидетельствует о включении режима шифрования;

MEM? -

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

?(file) -

при начале работы или после команд "e", "r", "f" означает, что указанный файл (file) отсутствует; после команды "w" - означает, что запись в файл запрещена.

Если при вводе команды зарегистрирована какая-либо другая ошибка, редактор сообщит об этом, выдав символ "?".

6.19. Краткий обзор команд

В общем случае команды редактора ed состоят из имени команды, которому могут предшествовать один или два номера строк, и после которого для команд "e", "r" и "w" может указываться имя файла. В строке может присутствовать только одна команда, однако команда "p" может следовать после любой другой команды, кроме "e", "r", "w" и "q".

a -

Дописать строки в буфер редактора после текущей строки, (если не задана другая строка). Дозапись продолжается до тех пор, пока не будет введена команда ".<CR>". Текущей становится последняя дописанная строка. В этой команде допускается адрес "0", при этом текст помещается в начало буфера.

c -

Заменить указанные строки новым текстом, следующим после команды "c". Ввод новых строк завершается ".<CR>". Если номера строк в команде не указаны, заменяется текущая строка. Текущей становится последняя замененная строка или (если строк замены не было) строка, предшествующая удаленным строкам.

d -

Удалить указанные строки. Если номера строк не заданы, удаляется текущая строка. Текущей становится первая неудаленная строка, кроме случая, когда удаляется последняя строка буфера. В этом случае текущей становится новая последняя строка буфера.

e -

Релактирование нового файла. Предшествующее содержимое буфера теряется, так что предварительно полезно ввести команду "w". Текущей становится последняя строка буфера.

E -

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

f -

Выдать текущее имя файла. Если после команды "f" указывается имя файла, текущее имя файла будет заменено этим именем.

g -

Конструкция "g/re/команды" выполняет указанные "команды" над теми строками, которые соответствуют образцу "re".

i -

Вставить строки перед указанной строкой (или строкой, определяемой точкой). Вставка завершается командой ".<CR>". Текущей становится последняя вставленная строка.

j -

Объединить указанные строки в одну строку. Если строки не указаны, объединяются текущая и следующая за ней строки.

k -

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

l -

Распечатать строки. Команда "l" эквивалентна команде "p", однако она распечатывает графически не отображаемые символы и "сворачивает длинные строки".

m -

Поместить указанные строки после строки, задаваемой после "m". Текущей становится последняя перемещенная строка.

p -

Выдать указанные строки. Если строки не указаны, распечатывается текущая строка. Отдельный номер строки эквивалентен команде "(номер_строки)p". Простое нажатие клавиши <CR> распечатывает следующую строку.

q -

Выход из редактора. Если при этой операции теряется информация (например, копия исходного файла изменялась, но не была выдана команда записи "w"), после первой команды "q" выдается подсказка "?" и никаких действий не производится. Выдача подряд двух команд "q" без предварительной команды "w" приводит к стиранию буфера и окончанию работы с редактором.

Q -

Работает также как команда "q" за исключением того, что выход производится немедленно (без какой-либо диагностики о возможной потере информации).

r -

Прочитать файл в буфер (в конец буфера, если не указано по-другому). Текущей становится последняя считанная строка.

s -

Команда s/xxx/yyy/ подставляет вместо символов "xxx" символы "yyy" в указанных строках. Если строки не указаны, подстановка выполняется в текущей строке. Текущей становится последняя строка, в которой произошла подстановка, это приводит к сохранению исходного положения, если не была выполнена ни одна подстановка. Команда "s" заменяет только первое вхождение "xxx" в строке. Для замены всех вхождений после завершающей дробной черты указывается символ "g".

t -

Скопировать указанные строки после строки, задаваемой после "t". Текущей становится последняя скопированная строка.

u -

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

v -

Конструкция "v/re/команды" выполняет указанные "команды" над теми строками, которые не соответствуют образцу "re".

w -

Записать буфер в файл. Значение указателя текущей строки не изменяется.

W -

Аналогична команде "w", за исключением того, что указанные строки дописываются к файлу.

x -

Работа в режиме шифрации. Запрашивается ключ, используя который последующие команды "r", "е" и "w" будут зашифровывать и расшифровывать текст. Пустой ключ отменяет режим шифрации.

.= -

Выдать текущий номер строки (один символ "=" печатает номер последней строки).

! -

Конструкция "!командная_строка" вызывает выполнение "командной_строки" интерпретатором команд.

/re/ -

Контекстный поиск. Поиск следующей строки, которая содержит данную последовательность символов, и ее выдача. Текущей становится строка, соответствующая заданному образцу "re". Поиск начинается со строки ".+1" до "$", после последней строки переходит к строке 1 и, при необходимости, продолжается до текущей строки.

?re? -

Контекстный поиск в обратном направлении. Поиск начинается со строки 1 и продолжается до последней строки.

. (точка) -

Обозначение текущей строки.

$ -

Обозначение последней строки.

'x -

Обозначение строки, ранее отмеченной маркером "x".

Соседние файлы в предмете Операционные системы