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

1.1.1. Команды, не использующие адресации строк

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

h – дает пояснение о последней ошибке.

е [имя файла](edit)– служит для очистки текстового буфера и чтения в нем постоянного файла, имя которого задано в команде. Прежнее содержимое буфера при этом теряется. Эта команда может быть выполнена в начале редактирования или же в процессе работы. В последнем случае она дает возможность начать работу с новым файлом, т.е. начать новый сеанс редактирования, не выходя из редактора. Начало работы с редактором не требует обязательного задания имени файла. Можно вызвать редактор и ввести текст в пустой буфер, а имя файла можно задать позднее в командах

f [имя файла](filename)– выводит или изменяет запомненное имя файла.

w(write)– записать рабочую копию в существующую. Если имя файла не было указано ранее, можно указать его после ввода командыw:

w name_file

374

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

! команда [аргументы]– предназначена для выполнения команд shell без выхода из редактора. Поскольку при вводе команд интерпретатора shell нет необходимости записывать содержимое текстового буфера в файл, они не влияют на редактирование. Когда нужно выполнить несколько команд shell, вы можете осуществить полупостоянный переход в интерпретатор, введя команду «!sh» для создания нового экземпляра shell . Этот новый shell позволит вам ввести столько команд, сколько их потребуется. Реализация команд shell в редакторе обеспечивается за счет того, что shell – это обычная программа, которая может быть запущена в любое время. Пока вы работаете с shell внутри редактора, последний терпеливо ждет, точно так же, как исходный shell ждет окончания редактирования.

Усеченная версия edредакторredне позволяет пользоваться таким приемом. В следующей после!команде можно указывать специальные символы:

%– означает последнее запомненное имя файла;

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

q(quit)– выйти из редактора, при этом рабочая копия не переписывается автоматически в существующую. Если файл не изменялся после последней модификации, работа редактораedпрекращается. Если же вы изменили файл и не сохранили изменения, редакторedвыводит вопросительный знак, предоставляя вам возможность сохранит файл командойw. Если же вы хотите выйти, не сохраняя изменений, введите командуqеще раз:

qq

??

qw

q

1.1.2. Команды, использующие один адрес

.а (append)– перейти в режим ввода текста. При этом новый текст размещается после адресуемой строки. Для выхода из режима ввода текста нужно ввести строку, состоящую из единственной точки. Сложность командыappendзаключается в том, что она изменяет режим редактора. Отсюда самая распространенная ошибка: запись команд редактора в файл как текстовых строк и ввод текста вместо команд. Наиболее надежный способ страховки от подобной ошибки – ввести строку, состоящую из одной точки. Тогда редактор переводится из режима ввода текста в командный режим, либо просто печатается текущая строка.

.i(insert)– перейти в режим ввода текста, при этом новый текст размещается перед текущей строкой. Командаinsertпереводит редактор в режим ввода текста. Все, что вводится после этой команды, интерпретируется как текст, вставляемый в файл. Прекратить вставку в текст можно, введя строку, состоящую из единственной точки.

.r имя файла(read)–читает содержимое файла на диске, имя которого в ней указано, и добавляет его к содержимому текстового буфера редактора после заданной строки или после текущей, если номер строки не указан. Различие между командами редактора «e» и «r» состоит в том, что последняя добавляет текст в свободное рабочее пространство без уничтожения его содержимого. Редакторы ОС UNIX не дают возможность читать часть файла. Если вам потребуется прочитать всего несколько строк из файла, его придется скопировать целиком, а затем с помощью редактора удалить ненужные фрагменты.