Шпаргалка по редактору RK

         

Шпаргалка по редактору RK


rcp файл ... файлn машина:[каталог]

rcp машина1:файл машина2:[каталог]

rcp машина1:файл каталог

rcp -rp каталог машина:[каталог]



Поговорить с другим пользователем


talk пользователь@сетевое.имя.машины

talk vv@s18



Адресация курсора.


Способ адресации курсора для данного терминала описывается характеристикой "cm" строчного типа. Кроме символов,

которые просто передаются на терминал, в строке могут встречаться специальные последовательности вида %X, которые при выводе заменяются на номер колонки или номер строки по правилам, определяемым символом X (аналогично работает формат в printf). Если рассматривать строку "cm" как формат вывода, то параметрами функции вывода являются номер строки и позиции, на которые должен быть установлен курсор. Коды типа

"%" имеют следующий смысл:



%d - то же, что и для программы "printf", причем нумерация колонок и столбцов начинается с 0;
%2 - эквивалентно %2d;
%3 - эквивалентно %3d;
%. - эквивалентно %c;
%+x - сложить код символа "x" с соответствующим значением (номером строки или колонки), затем выдать ее по "%.";
%r - обратный порядок номеров строки и позиции. вывод не производится;
%i - номера строки и колонки отсчитывать с 1 (вместо 0);
%% - дает один символ "%".


Например, для терминала "VDT-52100" адресация курсора

описывается следующей строкой:

cm=3^a%.%.

Терминалы, которые используют коды вида "%.", должны

иметь характеристики "bs" (или "bc") и "up", то есть иметь

возможность перемещать курсор назад на 1 позицию и вверх на

одну строку. Это необходимо, так как редактор не выдает

при адресации курсора символы \t, \n, ^D и \r: система может

изменить или уничтожить эти символы.


В данном разделе очень кратко были изложены правила описания терминала в файле /etc/termcap. Обычно при появлении нового терминала бывает целесообразно для его описания использовать описание какого-либо другого терминала либо использовать краткое описание с параметром "tc=...". Однако скорее всего все ваши терминалы уже имеются в /etc/termcap,

что избавит от необходимости разбираться в не очень простых

правилах описания терминалов.



Большие / Маленькие, Русские / Латинские


Lock Фиксация (долговременная смена) больших/маленьких букв
CR Фиксация (долговременная смена) русских/латинских букв
F10 Сделать текущую букву БОЛЬШОЙ / маленькой
F6 Сделать текущую букву latinskoj / русской
SHIFT+Home D Установить русскую клавиатуру "ЙЦУКЕН"
SHIFT+Home R Русская клавиатура "ЯВЕРТЫ" (стоит по умолчанию)



Чтение и запись файлов (<USE>, <SAVE>)


Команда <USE> (CTRL/D, или `-') служит для переключения редактора с файла на файл. Для перехода к редактированию

нового файла служит команда:

<ARG>имя<USE> начать редактировать файл имя.


При этом возможны следующие случаи:

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

Файл уже редактировался в данном сеансе работы (хотя, возможно, и не показывается ни в одном окне на экране терминала). В этом случае файл отображается на экране со всеми уже внесенными изменениями. Отметим, что редактор не читает файл из архива заново. Текущий файл становится "альтернативным";

Файл не существует. Редактор просит подтвердить необходимость создания нового файла:

"Create (y/n)?"

("Создать(y/n)?")

в случае положительного ответа создается новый

файл.


Команда <USE> без параметров переключает редактор на альтернативный файл. В частности, в начале сеанса он может использоваться для получения справочной информации из файла /usr/lib/re.std

<SAVE> - запись текущего файла в архив (`2'`-' или CTRL/V по умолчанию). При этом исходный вариант файла переименовывается в "старое имя.b". После выполнения <SAVE> без параметров для повторения сеанса в случае сбоя необходимо восстановить исходное состояние файла из файла имя.b, поскольку изменилось исходное состояние редактируемых файлов.
<ARG>имя<SAVE> Происходит запись текущего файла в файл "имя".


Команда <SAVE> автоматически выполняется для всех измененных в процессе работы файлов при выходе из редактора по команде <EXIT>.



Чтение почты:



Залогиниться на s08

mailx


Команды чтения:

& h [ 23 ] заголовки писем [ с 23-го начиная ]

& 12 прочесть письмо 12

& s file сохранить письмо в файле

& d 1 3 - 6 уничтожить письма

& r ответить на письмо

& q выйти с сохранением

& x выйти без изменений в почтовом ящике



Что делать, если вы что-то испортили


Ctrl+Shift+F4 Откатить изменение (т.е вернуть то, что было раньше)
Ctrl+F4 Откатить откатку (т.е вернуть то, что было до Ctrl+Shift+F4
Ctrl+2 Esc Прервать команду, которая сейчас выполняется на d211
CMD+Esc Esc Прервать команду, которая сейчас выполняется на d460
Shift+CMD+Print Перерисовать экран



Что делать при сбое


Редактор red обеспечивает двойную защиту от потери информации. Во первых, при записи файла старое содержимое сохраняется под именем старое_имя.b. Во вторых, редактор при работе ведет протокол работы в файле /tmp/rettnn.name, где nn - два последних символа имени терминала, а name - идентификатор пользователя. Если произойдет сбой машины либо редактора, можно повторить сеанс командой:

red -


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

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



Действия в нестандартных ситуациях.


7.1. Если надо отменить печать - выйдите в систему и при работающем принтере выполните команду

prkill

7.2. Если система не реагирует на CTRL+D, попробуйте ввести

by или

exit

7.3. Если система повисла полностью, и не реагирует ни на какие

клавиши ни с какого терминала, подождите еще и нажимайте Reset


Переключатель Reset - самый верхний на плате процессора. Для

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

boot:


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

7.4. Если у система ведет себя непонятным образом, то перевойдите в систему. Если и это не поможет, то может помочь перезагрузка. Ну, и в конце концов, обратитесь к администратору.



ДИАГНОСТИЧЕСКИЕ СООБЩЕНИЯ


Сообщения редактора высвечиваются в нижней строке экрана.

Они делятся на сообщения о режимах работы и сообщения об

ошибках. В зависимости от установленной версии редактора

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

будут приводиться оба варианта диагностики.



Дополнительные обозначения для режима RED_CYRILL:


Cs, Ce включение/выключение русских букв;
Ct=файл таблица кодировки при выводе (64) и вводе (96)



Драйвер есть подпрограмма ядра.


/usr/src/uts/libio библиотека объектных файлов драйверов устройств
/usr/src/uts/io/ каталог с исходными текстами драйверов устройств и make файлом для пересборки библиотеки.



Загрузка русских шрифтов из файла


Загрузка русских шрифтов из файла /dss/rk/D460_LOAD на d460:

cat D460_LOAD; echo "\036N\036FS45\036O";

Терминал d211 переводится в восьмибитный режим (отображение

русских букв) ESC-последовательностью echo "\036FU1" .

echo "\036S3" двойная высота двойная ширина (верхняя половина)

echo "\036S4" двойная высота двойная ширина (нижняя половина)

Переключение терминала TATUNG на параллельный (AUX) порт

echo "\036F?3" ... echo "\036F?2\c" и обратно:

Переключить терминал на 132 символьный экран и обратно на 80:

echo "\036FK" ... echo "\036FJ"

Переключить в ANSI и обратно

echo "\036F@" ... echo "\033[

Переключить в VT и обратно, в DG

echo "\036F>S" ... echo "\033[

На vt220 сделать Return=^M затем ^M^J

echo "\033[20l\033[?1l" ... echo "\033[20h"


Форматирование


Ctrl+Shift+f13 Отформатировать абзац
Ctrl+Shift+f11 Задать левую границу форматирования
Ctrl+Shift+f12 Задать правую границу форматирования
Esc Ctrl+Shift+f13 Установить/Отменить режим автоформатирования



Группа 1. Описывает размеры экрана терминала

co чис + - число колонок в строке
li чис + - число строк на экране


Группа 2. Описывает способ управления курсором на экране

am лог - - терминал имеет автоматический перевод строк
bs лог - - код 010 вызывает возврат на 1 позицию назад
rt стр - - возврат на начало строки
bc стр - - код "курсор назад", если не 010
cm стр - - адресация курсора *
cl стр + - очистка экрана
do стр * - курсор вниз
up стр * - курсор вверх
nd стр * - курсор вправо
ho стр * - курсор в начало экрана


Группа 3. Описывает инициализацию дисплея и дополнительные его характеристики

is стр - - инициализация терминала
fs стр - + конец работы в редакторе возврат в начальное состояние
cu стр - + код "светлый квадрат" (как правило, \177.)
nb лог - + нет звукового сигнала


Группа 4. Возможности терминала по отображению символов

UC лог - - терминал имеет только прописные буквы
LC лог - - терминал имеет прописные строчные буквы
CY лог - + терминал имеет русские и латинские буквы


Группа 5. Дополнительные редактирующие возможности терминала

al стр - - вставка пустой строки
dl стр - - исключение строки
ic стр - - вставить символ
dc стр - - исключить символ
cd стр - - очистить экран от курсор до конца
ce стр - - очистка конца строки
sr стр - - прокрутить текст вниз
sf стр - - прокрутить текст вверх
ns лог - - нет сдвижки текста (нет roll)
cs стр - - изменение области прокрутки текста*


Группа 6. Коды, вырабатываемые основными управляющими клавишами

kd стр + - код клавиши стрелка вниз
ku стр + - -- // -- стрелка вверх
kl стр + - -- // -- стрелка влево
kr стр + - -- // -- стрелка вправо
kh стр + - -- // -- "home"


Группа 7. Коды клавиш, используемых для выполнения команд редактора

kN &nbsp - - команда <-PAGE>
kP &nbsp - - команда <+PAGE>
kB &nbsp - - команда <B-TAB>
kF&nbsp - - команда <+LINE>
kR &nbsp - - команда <-LINE>


Группа 8. Коды, вырабатываемые функциональными клавишами PF1-5

k1 стр - - команда <ARG>
k2 стр - - команда <OPEN>
k3 стр - - команда <CLOSE>
k4 стр - - команда <INSERT>
k5 стр - - команда <DCHAR>

Группа 9. Коды, вырабатываемые дополнительной функциональной клавиши

f. стр - + Коды, вырабатываемые дополнительной функциональной клавиатурой.
f- стр - +
f0 стр - +
f1 &nbsp &nbsp &nbsp
...
f9 стр - +


Группа 10.

tc=<имя>&nbsp &nbsp&nbsp означает, что остальные характеристики совпадают с характеристиками терминала <имя>
<имя>@ &nbsp &nbsp&nbsp отмена характеристики <имя>
hR стр - + Имя файла с кратким описанием команд (выдается пользователю)


Группа 11. Описывает работу с псевдографическими символами


Gs стр - + Включение псевдографического набора символов Ge стр - + Выключение псевдографики Gt стр - + Набор символов псевдографики


В таблице 1 приведены основные характеристики, используемые редактором red. Полное описание возможных характеристик

имеется в документации по операционной системе.


Характеристики разбиты на 11 групп.

Группа 2. Описывает способ управления курсором на экране. Самый сложный элемент группы - характеристика "cm". Если у терминала нет возможности прямой адресации курсора на экране, то для работы red необходимы характеристики, помеченные символом "*" в графе "обязательный", в противном случае редактор может обойтись и без них. Характеристика "am" означает, что при достижении конца строки курсор автоматически переходит на начало следующей строки.
Группа 3. Описывает инициализацию дисплея и дополнительные его характеристики. "cu" - это код символа, используемого редактором для маркировки положения курсора в "окне". Если он не указан, используется символ "@". Рекомендуется указывать "cu=\177", если только терминал умеет отображать этот код как светлый квадрат.
Группа 4. Возможности терминала по отображению символов. если "UC", то терминал должен работать в режиме "lcase"; Эти характеристики использует система, а не редактор, для установки флагов терминала.
Группа 5. Дополнительные редактирующие возможности терминала; характеристика "cs" аналогична "cm" по работе с параметрами - номерами верхней и нижней строки области сдвига текста.
Группа 6. Коды, вырабатываемые основными управляющими клавишами.
Группа 7. Коды, вырабатываемые функциональными клавишами, которые предполагается использовать в соответствии с указанной трактовкой.
Группа 8. Коды, вырабатываемые функциональными клавишами PF1 - PF5 или клавишами, их заменяющими.
Группа 9. Коды, вырабатываемые дополнительной функциональной клавиатурой с надписями "0"-"9", "-", ".".
Группа 10. Позволяет описывать один терминал через другой, если они похожи. например: vt340:cm@:UC:KI:LC@:nb:tc=vdt52100c
Группа 11 Описывает работу с псевдографическими символами, которые используются для рисования рамок. Gs включает режим вывода псевдографических символов, Ge его выключает. Строка Gt описывает кодирование псевдографических символов в режиме псевдографики: каждый символ строки соответствует одному символу псевдографики в следующем порядке: горизонтальная черта; большой закрашенный квадрат; вертикальная черта; левый нижний угол; нижнее "T"; правый нижний угол; левое "T"; пересечение двух линий; правое "T"; верхний левый угол; верхнее "T"; верхний правый угол; стрелка вниз; стрелка вверх; стрелка влево; стрелка вправо;Если в строке задано меньше символов, не заданные символы заменяются на соответствующие им обычные символы КОИ-8.

Хождение по файлам


F5 F8 Войти в файл
Ctrl+T Ctrl+T Выйти из файла
Ctrl+C Ctrl+A Выйти из файла аварийно (без сохранения изменений)
Ctrl+Shift+F1 Войти в файл по запросу
Ctrl+T Ctrl+T Home ErasePage Выйти из последнего файла и из редактора



Инструкция по замене терминалов.


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

tty

В директории /etc есть два файла:

/etc/ttytype - указывает типы терминалов, сидящих на портах.

/dev/tty0i d460

/dev/console d211

/etc/inittab - описывает в системе порты (открыт / закрыт)

i0:23:respawn:/etc/getty tty0i 9600 и что с ними делать

После редактирования этих файлов выполнить команду:

/etc/init q

Если новые терминалы не работают, поубивать соответствующие

им процессы (узнать их PID'ы по ps -ef). Если не помогло, перезагрузить UNIX.


Инициализируется терминал командой tput init


Если терминал перестал реагировать на CTRL+D (в SHELL'е), то полезно набрать команду exit или by


Удаленный (более 40 метров и до 1.5 км.) терминал можно подключать только через порт RS422, но для этого в терминале должна быть микросхема ...


Чтобы работала печать через последовательный порт нужно: (см. пособие администратора по программе печати.)

SetUp Терминала TATUNG. (см. так же tatungsetup)

Установить memory switchs принтера. (см. unixhelp/pechatx)

Задать системную таблицу /dss/conv/devtab



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


В данном разделе описаны правила ввода команд и использования клавиатуры при работе с редактором red, а также изображение символов из файла на экране терминала. Для ввода команд редактора, как правило, используется дополнительная цифровая клавиатура, которая размещена справа от основной клавиатуры. Так, команда <+PAGE> вводится нажатием клавиши 7, а команда <ARG> - клавишей 1. Если предполагается использовать для работы с red терминал, который имеет полный набор прописных и строчных русских и латинских букв и дополнительную клавиатуру, никаких сложностей с вводом не возникает - терминал позволяет вводить все символы кода КОИ-8 и использовать дополнительную клавиатуру для ввода команд. В этом случае можно переходить к чтению следующего параграфа. Некоторые сложности возникают при работе на терминалах, не

имеющих полного набора символов либо дополнительной цифровой клавиатуры.


При вызове red может оказаться, что редактору не доступны характеристики вашего тeрминала. В этом случае перед первым вызовом редактора введите команду (в интерпретаторе csh):

setenv TERM Тип_терминала


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

Клавиши, не вырабатывающие кодов (такие, как SHIFT, ROLL и т.п.). из них нас интересует только клавиша CTRL (или УС), которая вызывает при одновременном нажатии основной клавиши клавиатуры выработку управляющих кодов ("control-символы");.

Основная клавиатура - содержит символы кода ASCII или КОИ-8. В зависимости от набора этих символов терминалы можно разделить на три группы:

Терминал может отображать только латинские (прописные и строчные) буквы и все специальные символы кода ASCII;

Терминал может отображать только прописные русские и латинские буквы;

Терминал может изображать русские и латинские строчные и прописные буквы и все специальные символы, то есть все символы кода КОИ-8 (например, терминал "Электроника-15-ИЭ-0013");

Общепринятые управляющие клавиши:

стрелки влево, вправо, вверх, вниз;


RETURN (Возврат Каретки);

LINE FEED (Перевод Строки);

TAB (Табуляция);

HOME (Курсор в начало экрана);

Дополнительная функциональная клавиатура, обычно совмещенная с цифровой (например, терминал "Электроника-15-ИЭ-0013" имеет группу клавиш с надписями 0 - 9, которые в зависимости от режима работы являются либо обычными символами '0'-'9', либо вырабатывают управляющие последовательности кодов и могут использоваться как функциональные клавиши; на терминалах серии VTA 2000 клавиши 0 - 9 вырабатывают управляющие коды при одновременном нажатии на клавишу УПР);

Дополнительные управляющие клавиши, например IL, DL, IC, DC, ERASE, - на VDT-52100c или аналогичные клавиши на других терминалах. В автономном режиме они обычно редактируют текст на экране терминала.

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




Использование макрокоманд


Последовательность команд редактора вместе с любым текстом, если их приходится часто повторять, может быть присвоена "переменной" редактора red. Для записи макроопределения служит команда:

<ARG>d имя<RETURN>


(имя - одна буква). Редактор выдаст приглашение на ввод:

Mac:


Введенный в ответ текст и команды редактора запишутся в переменную имя. Редактор отображает команды на экране в виде пары символов, их кодировка приведена в приложении 2. Признаком конца ввода является команда <EXIT> (клавиши <LineFeed><Del>), для отмены ошибочных символов или команд используется команда <B-SPACE> (клавиша <Del> или <Back-Space>).


Для выполнения макрокоманды достаточно ввести:

<LineFeed>$имя


то есть последовательно нажать клавиши <LineFeed> (или

<ПС>), "$" и малую латинскую букву, которой именуется переменная. Редактор подставляет содержимое переменной вместо ввода с терминала. Выполнение макро прерывается, если при выполнении записанной в макро операции поиска не найден искомый текст. При необходимости можно переопределить какую-либо функциональную клавишу терминала как вызов определенной макрокоманды.



Изменение режимов работы редактора


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

e - на терминале нет русских букв;
l - на терминале нет строчных букв;
t - при записи строк заменять начальные пробелы табуляциями;
w - разрешено изменение текущего файла;
i - режим вставки;
s - разрешено пользоваться аппаратными функциями сдвига текста на экране;
f - запрет сдвига экрана при достижении курсором его границы при вводе;
a - специальный режим АВТОСДВИГ, при котором по команде <RETURN> курсор устанавливается не на 1-ю колонку экрана, а на ту колонку, с которой был начат ввод текста последний раз (эта колонка указывается в нижней строке окна специальным курсором).


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

При вызове редактора:

red [-[-ключи][+ключи]] остальные аргументы


Ключи, указанные после -, сбрасываются, после + - устанавливаются, например:

red --t a.mx

Через переменную sh или csh REDKEYS в форме:

setenv REDKEYS [-ключи][+ключи]


(для csh);

Командой редактора:

<ARG>[-ключи][+ключи]<RETURN>


По умолчанию устанавливается ключ t, ключи l, s и e устанавливаются в зависимости от возможностей терминала. Ключ w используется для запрета или разрешения записи в текущий файл. Его имеет смысл использовать для редактирования закрытых на запись файлов в случае, если запись в справочник разрешена. Следует учитывать, что при отмене ключа w отменяется также автоматическая запись данного файла при выходе из редактора.



Клавиши со стрелками


При нажатии на соответствующую клавишу курсор перемещается на одну позицию:

<стрелка вверх> - вверх;
<стрелка вниз> - вниз;
<стрелка вправо> - вправо;
<стрелка влево> - влево.


На границе "окна" происходит автоматический сдвиг окна по файлу, если только не установлен ключ "f".



Команды <HOME> и <RETURN>


<HOME> - курсор переходит в левый верхний угол окна видения;
<RETURN> - курсор переходит на начало следующей строки. Если строка была последней, "окно" перемещается вниз по файлу. Если оно начиналось не с 1 колонки файла, оно сдвинется на первую колонку;
<ARG>команда<RETURN> - ввод директивы редактора ;



Команды <OPEN> и <CLOSE>


Команда <OPEN> (раздвинуть) позволяет вставить пробелы между колонками, строками или в середину группы строк.

<OPEN> - перед текущей строкой вставляется пустая строка; по умолчанию `8' или PF2.
<ARG>n<OPEN> - перед текущей строкой вставляется "n" пустых строк (где "n"-целое положительное число);
<ARG><OPEN> - текущая строка делится на две части, начиная с текущей колонки;
<ARG>указание_курсором<OPEN>


<ARG>$имя<OPEN>

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


Команда <CLOSE> действует противоположно команде <OPEN>,

убирая из файла соответствующую часть текста:

<CLOSE> - уничтожить текущую строку; по умолчанию `2'`8' или PF3.
<ARG>n<CLOSE> - уничтожить "n" строк, начиная с текущей;
<ARG><CLOSE> - склеить текущую строку со следующей, причем следующая строка приклеивается начиная с текущей колонки;
<ARG>указание_курсором<CLOSE>


<ARG>$имя<CLOSE>

- уничтожается указанный кусок текста либо группа строк целиком. Правила указания с помощью курсора приведены в разделе <ARG>.


Текст, удаленный с помощью команды <CLOSE>, попадает в конец псевдо-файла "#" и может быть вставлен обратно (либо в другое место) с помощью команды:

<ARG><PUT> - текст, убранный последней командой
<CLOSE> - вставляется в текущее место файла.
<ARG>#<USE> Псевдо-файл "#" можно просмотреть, введя эту команду
<USE> Для возврата в прежний файл.
<ARG>>имя<CLOSE> - текст, убранный последней командой <CLOSE>, запоминается в переменной "имя".



КОМАНДЫ РЕДАКТОРА red


Команды red идентифицируются командными последовательностями и могут быть введены как с параметрами, так и без параметров:

<КОМАНДА>

<ARG>параметры<КОМАНДА>


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



Контекстная замена (rpl)


Программа rpl вызывается командой <EXEC> и требует два аргумента. Она заменяет в указанных строках все вхождения

первого аргумента на второй аргумент. Если какой-либо аргумент содержит пробелы, он должен быть взят в кавычки. rpl распознает регулярные выражения в первом аргументе по тем же правилам, что и редактор ed в контексте поиска, с тем отличием, что вместо символа . используется @ для обозначения

одного произвольного символа.


Например, команда:

<ARG>100l rpl "^ *" " "<EXEC>


исключит все группы пробелов в начале следующих 100 строк.

для обозначения самих символов $, &, @, ^, * перед ними

необходимо ставить \ (обратную черту).



Контекстный поиск (<+SEARCH>, <-SEARCH>)


Команды <+/-SEARCH> (по умолчанию `3' и `2'`3') вызывают поиск заданного образа в файле соответственно вперед или

назад от текущего места. Для указания текста, который нужно найти, служат команды:

<ARG>текст<+SEARCH>


<ARG>текст<-SEARCH>

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

"search key not found"

("Текст не найден")


Для продолжения поиска данного образа достаточно ввести одну из команд:

<+SEARCH> или <-SEARCH>



Копирование текста (<PICK>, <PUT>)


Для копирования текста используются две команды. Команда <PICK> (выбрать) позволяет записать в буфер вставок кусок текста, который затем может быть вставлен в произвольное место по команде <PUT>. Выбранный текст попадает в конец псевдо-файла "#" и может быть просмотрен (<ARG>#<USE>) или выбран заново:

<PICK> - выбрать для вставки текущую строку; по умолчанию вводится клавишей `9'.

<ARG>n<PICK> - выбрать n строк, начиная с текущей;

<ARG>указание_курсором<PICK>


<ARG>$имя<PICK> - выбрать указанный курсором участок файла (смотри описание <ARG>).


Выбранный текст заносится в так называемый "PICK"-буфер (буфер вставки);

<ARG>>имя<PICK> - запомнить выбранный последней командой <PICK> текст в переменной "имя".


Для вставки текста в файл используются команды:

<PUT> - (по умолчанию `2'`9'): выбранный ранее текст вставляется в текущее место файла. При этом, если была выбрана группа строк целиком, происходит вставка строк, иначе текст вставляется в середину имеющихся строк (которые для этого раздвигаются);

<ARG><PUT> - работает аналогично <PUT>, но вместо "PICK"-буфера используется "CLOSE"-буфер, в котором запоминается текст, исключенный из файла последней командой <CLOSE>;

<ARG>$имя<PUT> - текст из переменной "имя" ("имя" - одна буква) вставляется в файл и становится текущим буфером вставки.



Краткое описание команд


В описании приведены: краткое название команды, полное

название команды, ввод с клавиатуры (через "," перечислены

возможные варианты ввода, запись ^C означает CTRL+C):


<ARG> - ВВОД АРГУМЕНТА: `1', <LineFeed><Пробел>

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


<TAB> - ТАБУЛЯЦИЯ: <TAB>


<B-TAB> - ТАБУЛЯЦИЯ НАЗАД: `.', ^B

передвинуть курсор на следующую (предыдущую) позицию табуляции.<GOTO> - ПЕРЕЙТИ НА: `4'

Без аргумента - переход на начало файла. Аргумент - номер строки; пустой аргумент - конец файла.


<LEFT> - СДВИГ ВЛЕВО: `2'<курсор влево>


<RIGHT> - СДВИГ ВПРАВО: `2'<курсор вправо>

Сдвиг экрана влево/вправо.


<+PAGE> - ЛИСТ ВПЕРЕД: `7', <NextScr>


<-PAGE> - ЛИСТ НАЗАД: `2'`7', <PrevScr>

Возможный аргумент - число страниц, на которые экран перемещается по текущему файлу.


<+LINE> - СТРОКА ВПЕРЕД: <Forward>, ^T


<-LINE> - СТРОКА НАЗАД: <Backward>, ^W

Аргумент - число строк; пустой аргумент - вывести текущую строку в верхнюю (нижнюю) строку окна (перемещением окна по файлу). Клавиши <Forward> и <Backward> (надписи могут быть и иными) обозначены в описании терминала в системе как "kF" и "kR".


<+SEARCH> - ПОИСК ВПЕРЕД: `3', ^R


<-SEARCH> - ПОИСК НАЗАД: `2'`3', ^E

Аргумент - текст, который нужно найти в файле.


<INSERT> - РЕЖИМ ВСТАВКИ: `5', <PF4>

Включает/выключает режим вставки;


<D-CHAR> - ИСКЛЮЧИТЬ СИМВОЛ: `6', ^U


<TRUNC> - ИСКЛЮЧИТЬ КОНЕЦ СТРОКИ: `1'`6'


<OPEN> - РАЗДВИНУТЬ: `8', <PF2>


Вставить пустую строку; аргумент - число строк либо область на экране, в которую нужно вставить пробелы.

<CLOSE> - УБРАТЬ: `2'`8', <PF3>

Убрать строки либо область на экране. Убранная информация попадает в буфер убранных строк.

<GET> - ВЗЯТЬ: `9', ^F

Запомнить строки либо область на экране.

<PUT> - ПОЛОЖИТЬ: `2'`9', ^G

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

<SPLIT> - РАЗРЕЗАТЬ СТРОКУ НА ДВЕ

Отрабатывается по команде <OPEN> с пустым аргументом. (`1'<PF2>).

<JOIN> - СКЛЕИТЬ СТРОКИ

Отрабатывается по команде <CLOSE> с пустым аргументом. (`1'<PF3>).

<SAVE> - ЗАПИСЬ: `2' `-', ^V

Аргумент - имя файла (если не совпадает со старым).

<USE> - РЕДАКТИРОВАТЬ: `-', ^D

Команда без аргумента переходит к альтернативному файлу (по умолчанию - файл подсказок).

<M-PORT> - СОЗДАТЬ ОКНО: `2'`4'

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

<CH-PORT> - СМЕНИТЬ ОКНО: `0'

сменить текущее окно (если открыто более чем одно окно).

<EXEC> - ВЫПОЛНИТЬ: `2'`0', ^P

Аргумент: "[число[l] ] команда [аргументы]". "команда" выполняется как фильтр над текстом в очередных "число" абзацах (если указана буква l, то строках) файла. Абзац - группа непустых строк файла, разделенная одной или несколькими пустыми строками.

<EXIT> - ВЫХОД: <Перевод строки><Забой>

Аргумент "a" блокирует запись измененных файлов. Команда может также вводиться как <АРГ>q[a]<Возврат каретки>.

Запомнить в переменную: <АРГ>>И<Команда>

Где И - имя макропеременной (одна буква), <Команда> - либо <Возврат каретки> (тогда запоминается текущее место в файле), либо <GET> (запоминается буфер вставки), либо <CLOSE> (запоминается буфер убранных строк). Макро затем можно использовать в командах <GOTO>, <PUT>, а также в командах, аргументом которых может быть область на экране (в этом случае вводится область от текущего положения курсора до запомненной метки), указав в качестве аргумента "$И".




ВВОД МАКРО: <АРГ>d И<ВК>

Концом ввода служит команда <ВЫХОД>.

ВЫПОЛНЕНИЕ МАКРО: <ПС>$И

ПЕРЕОПРЕДЕЛЕНИЕ КЛАВИШИ: <АРГ>k<ВК>

При этом, если в ответ на запрос переопределяемой команды введено имя макро (одна буква), при нажатии этой клавиши выполняется данное макро.

<ESCAPE> - ПРИЗНАК НЕТЕКСТОВОГО СИМВОЛА: `2'`0', ^A

По этой команде вводится специальный символ и следующий управляющий символ вводится в файл, а не трактуется редактором как команда.

Далее приведена кодировка команд для наиболее распространенных терминалов. Если на вашем терминале обозначения на управляющей клавиатуре не совпадают с ними, необходимо уточнить кодирование команд редактора у системных программистов. На схемах клавиатуры сверху написано название команды, которая исполняется по данной клавише. Посередине - надпись на клавише. Снизу написано название команды, которая исполняется, если предварительно нажать клавишу `2'.

Команды для Электроника-15-ИЭ-0013

управляющая клавиатура цифровая клавиатура

--------------------------- ----------------------------

| | & | USE | | +PAGE | OPEN | PICK |

| i~~ | I | V_| | | -7- | -8- | -9- |

| | +LINE | SAVE | | -PAGE | CLOSE | PUT |

--------------------------- ----------------------------

| | HOME | | | GOTO | INSERT | DCHAR |

| | | -4- | -5- | -6- |

| LEFT | | RIGHT | | M-PORT | CH-TAB | |

--------------------------- ----------------------------

| BSPACE | I | | | ARG | "УСТ" | +SEARC |

| | | -1- | -2- | -3- |

| | -LINE | | | | "ОТМ" | -SEARC |

--------------------------- | ESCAPE | B-TAB |

| OPEN | INSERT | CLOSE | | -0 - | -,- |

| = | .. | = | | CH-PORT | EXEC |

--------------------------- ----------------------------

EXIT -"ПС""ЗБ" TAB - "ГТ"

Рис 6

Команды для VDT52100 и VT-340

-------------------- ------------------

| | | | | |

| "d l" | "i l" | |"return"|"erase"|

-------------------- ------------------



|||

| "d c" | "i c" |

--------------------

| |

| "h o m e" |

--------------------

Ввод остальных команд:

- `8' - ^T

- `8' - ^W

-

-

- `4' - ^R

- `4' - ^F

- `0' - ^G

- ^A - ^P

- `5' - ^B

- ^U - ^E

- `-' - ^D

Рис. 7

Команды для ВТА 2000.3

При нажатии на клавиши 0-9, ".",","

необходимо одновременно

нажать клавишу "УПР".

-------------------------------------

| ARG | B-SPACE| HOME | / |

| *** | ***00 | & | *** |

| *00 | | +---- | / |

-------------------------------------

| +PAGE | OPEN | PICK | & |

| -7- | -8- | -9- | I |

| -PAGE | CLOSE | PUT | +LINE |

-------------------------------------

| GOTO | INSERT | DCHAR | I |

| -4- | -5- | -6- | V |

| M-PORT | CH-TAB | | -LINE |

-------------------------------------

| ARG | "уст" | +SEARC | |

| -1- | -2- | -3- | --> |

| | "отм" | -SEARC | RIGHT |

-------------------------------------

| ESCAPE | B-TAB | |

| -0 - | -,- |

Команды для ВТА 2000.1

При нажатии на клавиши 0-9, ".",","

необходимо одновременно

нажать клавишу "УПР".

------------------------------------------

| ARG | | |INSERT |B-SPACE|

|"чистка | ***** | **::: | ***> | | |

| M-PORT |CH-TAB | | RIGHT | |

------------------------------------------

| ARG |"уст" |+SEARC | | |

| -1- | -2- | -3- |

МЕРА-7958,VDT-STATION,VDT-52129

и другие терминалы, похожие на DEC/VT-52

----------------------------------

| ARG | OPEN | CLOSE | & |

| pf1 | pf2 | pf3 | | |

| | | | +LINE |

----------------------------------

| +PAGE | OPEN | PICK | I |

| -7- | -8- | -9- | V |

| -PAGE | CLOSE | PUT | -LINE |

----------------------------------

| GOTO |INSERT | DCHAR | |

| -4- | -5- | -6- | ---> |

| M-PORT |CH-TAB | | RIGHT |

----------------------------------

| ARG |"уст" |+SEARC | |

| -1- | -2- | -3- |




Листование файла (<+PAGE>, <-PAGE>, <+LINE>, <-LINE>)


Страницей считается часть файла, умещающаяся в текущем

окне на экране.

<+PAGE> - перемещает окно на 1 страницу вниз по файлу; по умолчанию клавиша `7';
<-PAGE> - перемещает окно на 1 страницу вверх; по умолчанию клавиши `2'`7';
<ARG>N<-PAGE> - перемещает окно вниз (вверх) на N страниц.


Для перемещения окна с точностью до строки служат команды <+/-LINE>; (CTRL/T/CTRL/W):

<ARG>N<+LINE> - вперед на N строк;
<ARG>N<-LINE> - назад на N строк;
<+LINE> - вперед на 1 строку, если терминал поддерживает аппаратный сдвиг текста на экране, или на 8 строк в противном случае;
<-LINE> - назад на 1 строку (8, если нет аппаратного сдвига) ;
<ARG><+LINE> - Сдвинуть "окно" вниз так, чтобы текущая строка стала первой на экране;
<ARG><+LINE> - Сдвинуть "окно" вверх так, чтобы текущая строка стала последней на экране;



Модификация настраиваемых параметров конфигурации:


Сокращение времени загрузки программ:

Установка text-bit (бит "навязчивости")

Рациональная файловая система.

Рациональный PATH.

Сокращение времени ответа:

Сокращение свопинга:

Увеличение доступной оперативной памяти:

    Уменьшение числа буферов

    Удаление из ядра необязательных пакетов функций

    Сокращение дискового обмена:

      Увеличение числа буферов

      Свободное место на диске:

      Удаление с диска ненужных утилит.

      Возможно уменьшение области подкачки на диске.

      0. Убрать getty процессы с отключенных линий


      В /etc/inittab заменить respawn на off в соотв. строках.

      1. Установка text-bit для часто выполняемых команд с помощью chmod.


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

      зове не требуется времени на ее закачку в память.


      Рекомендуется для небольших, часто выполняемых команд. В сильно

      загруженных системах не применять.


      Имеет смысл проверить ее для /usr/informix/lib/sqlexec

      Первая проверка дала нулевой результат.

      2. Оптимальное расположение файловой структуры:

      Длинные каталоги (>5120 имен) вызывают косвенную адресацию.

      Мораль - порезать: find / -type d -size +10 -print

      Сильно перепутаны блоки с данными.

      Нерационально сложился список свободных блоков.

      В каталогах много пустых полей.

      Мораль - перепись винчестера на ленту и обратно.

      3.Переменная $PATH Чем длиннее $PATH, тем дольше идет поиск.

      4. Не являются ли дисковые операции узким местом в системе?

      sar -ud

      Если %wio , больше 10% или, если %busy для данного дисковода

      больше 50%, то это означает, что дисковые операции являются узким местом в системе. Можно:

      Увеличить число буферов. Чем больше буферов, тем меньше фактический обмен с диском.

      Однако, тогда меньше память, и больше подкачек.

      Оптимизировать файловую систему.

      Если не поможет, увеличьте память.

      Количество буферов задается параметрами:

      NBUF 1000 , NHBUF 256

      5.Чрезмерная интенсивность подкачек

      sar -qw|pg

      Если % времени, когда очередь подкачек не пуста (%swpocc>20?),

      если они часты (swpot/s > 1.0), значит слишком интенсивны подкачки, не хватает оперативной памяти для работы всех процессов одновременно.



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

      (Текущее значение NBUF 1000, NHBUF 256)

      sar -b

      Если процент буферизации дисков (rcash,wcash > 90%), то сократить число буферов (NBUF) можно.

      sar -r

      freemem (число свободных страниц, доступных для размещения пользовательских программ). Не является ли оно устойчиво маленьким (freemem =< GPGSHI=40 'верхняя отметка'). Если да, значит памяти не хватает.

      6. Потенциальная возможность переполнения таблиц

      sar -v

      7. Не хватает мощности процессора.

      sar -q

      Средняя длина очереди и процент времени занятости:

      Если (%runocc > 90, а runq-sz > 1, то это означает, что процессы постоянно ждут очереди на выполнение, т.е. ЦП сильно перегружен.

      И если свопинг при этом не велик (%swpocc

      8. Можно подергать эти параметры, хотя это снижает безопасность системы:

      NMOUNT 25 Макс. число смонтированных файловых систем.

      NAUTOUP 15 Задает срок хранения данных в буферном кэше, после которого

      они обновляются на диске.

      BDFLUSHR 1 Частота в сек. проверок необходимости сделать это.

      9. Удаление из ядра необязательных пакетов программ.

      Это к специалистам.

      10. Удаление с диска ненужных системных файлов.

      Рекомендую подумать об опасности самодеятельности.

      11. Сокращение своп. области. Делается загрузка системы с дистрибутивной ленты. На вопрос :

      Своп область 15 Мб? > ответить y.

      Рекомендую подумать об опасности самодеятельности.


      Настройка mail. В файл .mailrc нужно добавить строчку:


      set scr=22


      Тогда при просмотре почты она будет листаться страницами по 22 строки.


      Можно определить группы адресов (почтовые alias'ы)

      alias dwoe mur@corundm.msk.su moshkow@ipsun.ac.msk.su


      Тогда вместо mail mur@corundm.msk.su moshkow@ipsun.ac.msk.su

      можно будет писать mail dwoe


      Чтобы сохранять для себя копии всех отправленных писем

      set record='/home/moshkow/Mail/Mail.sended'


      Убедитесь (обеспечьте), что указанный файл существует



      О драйверах


      Каждое устройство идентифицируется специальным файлом, находящимся в каталоге /dev. У специального файла есть старший и младший номера устройства.


      Старший номер идентифицирует драйвер устройства и, значит, соответствующий контроллер.


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



      О генерации системы


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

      Makefile

      MKUTS генерация новой версии UNIX.

      Файлы, необходимые для генерации нового UNIX лежат в каталоге /usr/src/uts

      master основной файл с информацией об устройствах

      dfile содержит описание драйверов устройств и системных параметров.

      Параметры, описанные и в master и в dfile будут браться из dfile.


      Новое ядро создается командой make unix

      lib* библиотеки объектных файлов UNIX-ядра

      libio библиотека объектных файлов драйверов устройств

      libos библиотека ?. Защита UNIX V 3.1 DN зашита здесь

      io/ каталог с исходными текстами драйверов устройств и make файлом

      для пересборки библиотеки.

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

      /usr/include/sys/io

      /usr/include/sys/io.h



      Обозначение символов:


      \E 033
      ^M 015
      \n\r\t\b\f 012 015 011 010 014
      \072 :



      Общий терминальный интерфейс TERMIO


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


      Во включаемом файле устанавливаются многие параметры работы терминалов.

      Этот файл используется системным вызовом iocntl



      Окна и редактируемые файлы


      Редактор показывает участок редактируемого файла на экране терминала в "окне". Имя файла, который нужно редактировать первым, указывается в параметрах вызова red. Можно перейти к другому файлу, воспользовавшись командой <USE>. Кроме того, редактор автоматически подключает псевдо-файл "#", в котором запоминаются все отмеченные или исключенные строки.


      "Окно" можно разделить на несколько меньших "окон" с помощью команды <M-PORT>, отобразив в каждом участок того или иного файла (рис.2). Для упрощения переключения с файла на файл любое "окно" может быть связано также с "альтернативным файлом". Команда <USE> без параметров меняет местами основной и альтернативный файлы в текущем окне. При входе в редактор альтернативным является файл /usr/lib/re.std, содержащий краткое описание редактора.


      Для уничтожения окон служит команда <ARG><M-PORT>. Изменения, произошедшие в файле, повторяются одновременно во всех "окнах", связанных с ним.


      Среди всех "окон" имеется "текущее", в котором находится курсор. Левые и правые символы-ограничители несут следующую информацию:

      слева:

      ; - данной строки в файле нет;

      Пример "окон"

      .....................................

      .-----------------------------------.

      .! !! !.

      .! текущее !! еще одно !.

      .! "окно" !! "окно" !.

      .! !! !.

      .!длинная строка>! !.

      .! !! !.

      .! !! !.

      .; !! !.

      .; !! !.

      .-----------------------------------.

      .arg: file: a line 10 .

      .....................................

      Рис. 2

      ! - строка есть в файле и "окно" начинается с 1 колонки

      файла;

      < - "окно" начинается не с 1 колонки файла, а сдвинуто

      по файлу вправо;

      справа:

      ! - в строке нет информации справа от окна;

      > - строка продолжается за правую границу "окна".


      Все изменения, сделанные на экране, запоминаются и при выходе из редактора по команде <EXIT> (или по команде <ARG>q<RETURN>) измененные файлы записываются в архив. При этом старые варианты файлов переименовываются путем добавления суффикса .b, и в результате также сохраняются в архиве. Имеется возможность записать файл под текущим или под новым именем в архив еще в процессе редактирования (команда <SAVE>), а также выйти из редактора без записи измененных файлов, введя <ARG>qa<RETURN>.



      Есть два способа использования команды


      Есть два способа использования команды sar. При первом способе
      sar опрашивает и накапливает счетчики активности операционной
      системы на заданном числе интервалов, каждый из которых длится
      заданное число секунд. По умолчанию число интервалов равно 1.
      Устанавливается этот режим по умолчанию, управляет им процесс
      /etc/cron , интерпретируя справочные таблицы, лежащие в файле
      /usr/spool/cron/crontabs/sys. При втором способе (если не указан интервал опроса) sar выбирает данные из файла, куда они предварительно должны быть записаны. Этот файл либо указывается явно опцией -f, либо, по умолчанию, используется стандартный ежедневный протокол /usr/adm/sa/ saдд для текущего дня дд.

      -s чч[:мм[:сс]]. начало интересующего интервала
      -e чч[:мм[:сс]]. конец интересующего интервала
      -A Все данные. Эквивалентно -udqbwcayvm.
      -u Использование ЦП
      %usr время ЦП в режиме пользователя,
      %sys в режиме системных вызовов.
      %wio ожидание блочного ввода/вывода для какого-либо процесса,
      %idle ожидание по другим причинам.
      -b Использование буферов:
      bread/s, bwrit/s кол-во передач в сек. между сист. буферами и дисками
      lread/s, lwrit/s количество обращений к системным буферам;
      %rcache, %wcache процент попадания в кэш
      %rcache Доля буферизации чтения. Нужно >=90
      %wcache Доля буферизации записи. Нужно>=65
      pread/s, pwrit/s количество небуферизованных(физических) передач.
      -d Использование дисков или магнитофонов:
      device Имя блочного устройства.
      %busy Процент времени занятости.
      avque средняя длина очереди обращений к устройству в это время;
      r+w/s, кол-во передач данных на устройстве,
      blks/s кол-во перед. 512б блоков
      avwait ср. время ожидания в очереди к устр.(мс)
      avserw ср. время обслуживания запроса устройством
      -c Системные вызовы
      scall/s системные вызовы всех типов в секунду
      sread/s, swrit/s, fork/s, exec/s системные вызовы в секунду
      rchar/s, wchar/s число символов, в вызовах read и write в сек
      -v Переполнения таблиц процессов, описателей и файлов:
      proc-sz, inod-sz, file-sz размер таблиц
      proc-ov, inod-ov, file-ov случаи переполнения
      sar -a Отчет об операциях доступа к файлам.
      iget/s Число файлов, найденных по описателям файлов, в сек.
      namei/s Число поисков файлов по маршрутным именам, в сек.
      dirbk/s Число прочитанных блоков каталогов в сек.
      Показывают, насколько интенсивно используется файловая система.
      sar -q Средняя длина очереди и процент времени занятости:
      runk-sz Очередь процессов в памяти. >2 => слаб ЦП
      %runocc % времени, в течение которого очередь процессов на выполнение не пуста. Чем меньше оно, тем лучше.
      swpq-sz Длина очереди процессов на свопирование.
      %swpocc % времени, в течение которого очередь на своп. не пуста.
      Если %runocc > 90, а runq-sz > 1, то это означает, что ЦП сильно перегружен. В таком случае для сокращения времени ответа, возможно, требуется установка дополнительного процессора.
      Если %swpocc больше 20, то снижению интенсивности подкачек может способствовать установка дополнительной памяти или сокращение числа буферов.
      sar -w О подкачках и переключениях между процессами.
      swpin/s Кол-во загрузок в сек
      bswin/s Число блоков по 512б при загрузке
      swpot/s Число выталкиваний из оперативной памяти в область подкачек в сек. Если оно > 1, то следует либо расширить память, либо сократить число буферов.
      bswot/s Число блоков, вытолкнутых при выгрузке
      pswch/s Число переключений с процесса на процесс в сек. При 4-6 пользователях должно быть от 30 до 50.
      sar -p О страничном демоне.
      vflt/s Число отказов при трансляции??? адреса в секунду (нужная??? страница отсутствует в памяти).
      pflt/s Число отказов из-за ошибок защиты (незаконное обращение к странице) или "???". Величина pflt/s обычно состоит целиком из "???".
      pgfil/s Число vflt/s, разрешенных за счет чтения страницы из файловой системы. (Каждое pgfil дает два lreads; см. sar -b).
      rclm/s Число правильных??? страниц, возвращенных системой (внесенных в список свободных страниц) в секунду.
      sar -r О свободной памяти.
      freemem Среднее число свободных страниц памяти по 2Кб. Если оно устойчиво мало, (
      freeswap Свободных блоков по 512К в своп-области диска. Если их все время много, то можно сократить своп-область на диске (15 М вместо 35 М).
      -y Использование терминалов:
      rawch/s, canch/s, outch/s скорость ввода символов, скорость канонической обработки символов, скорость вывода символов (в симв/сек);
      rcvin/s, xmtin/s, mdmin/s скорости приема, передачи и модемных прерываний (в симв/сек).
      Число прерываний модема в секунду (mdmin/s) должно быть близко к 0, а значения числа прерываний ввода??? и числа прерываний вывода??? (rcvin/s и xmtin/s) должны быть меньше или равны числа введенных и выведенных символов, соответственно. Если это условие нарушается, проверьте, нет ли неисправных линий.

      Описание программы печати pp: pp_adm.help


      Принтеры можно подключать либо через порт CENTRONIX (устройство

      /dev/pit ) либо через параллельный порт терминала.


      Программа печати pp использует файл /dss/conv/devtab с таблицей в таком формате:

      …ѓ console /dev/pit # отправлять с этих терминалов

      ѓЉ tty0i /dev/pit # на принтер /dev/pit

      ѓЉ . . .

      …Ѓ tty4 /dev/tty1i # отправлять на принтер, подкл-

      # ченный к последовательному

      # порту терминала tty1i

      # Если терминала в таблице нет, то печать пойдет

      # на /dev/pit через порт CENRTONIX.

      Макрос с разборкой этого дела лежит в файле /dss/rk/pp.

      pp при печати переключает поток на параллельный порт командой

      echo "\036F?3, гонит поток на принтер, а затем переключает обратно на терминал echo "\036F?2\c"


      Русский алфавит уже загружен в FR-15, надо только правильно его

      установить. См. бумажку с настройкой memory switches. Для выхода в меню нажать три правых клавиши и включить принтер. С помощью клавиш Exit Enter установить правильно режимы:

      INSTALL: COMMAND MENU: RAM USAGE=DOWNLOAD

      Терминал TATUNG должен быть правильно установлен в SET-UP MENU.

      см. файл tatungsetup



      Описание терминала в базе описаний терминалов


      Описание каждого типа терминалов в файле /etc/termcap

      состоит из ряда полей, разделенных символом ":". Если описание переносится на новую строку, то в конце предыдущей ставится ":\", и новая строка начинается с символа ":".


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


      Характеристика может иметь одну из трех форм записи:

      :<имя>: характеристика описывает наличие или отсутствие какой-либо возможности (логический тип);
      :<имя>#<число>: это численная характеристика (например, размер экрана);
      :<имя>=<задержка><строка>: значением является строка символов, причем <задержка> может отсутствовать.


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

      \<символ> - обозначает один из следующих символов, не представимых графически:

      \r - код 015 (return);

      \n - код 012 (line feed);

      \t - код 011 (tab);

      \b - код 010 (backspace);

      \f - код 014;

      \nnn,


      где "nnn" -восьмеричные цифры - символ с кодом "nnn";

      ^<буква> - управляющий символ CTRL+<буква>, например, "^C" обозначает символ "003";

      <любой символ>, кроме ":", "\", "^", обозначает сам себя.


      Символ "пусто" кодируется как \200.



      Основные описатели:


      co# Число колонок
      li# Число строк
      hc печатающее устройство
      UC только прописные буквы
      KI терминал имеет русские буквы
      IK Совместно с KI - режим клавиатуры рус/лат переключается непосредственно от клавиш рус/лат, а не по символам из линии
      os Терминал допускает наложение символов
      am при достижении последней колонки курсор автоматически переходит в начало следующей строки
      is= инициализация терминала
      if= имя файла, содержащего инициализирующую последовательность
      Сначала печатается строка is, а затем файл if
      fs= конец работы с терминалом
      ks= Включение режима функциональной клавиатуры
      ke= Выключение режима функциональной клавиатуры
      up= Курсор вверх (на одну позицию)
      do= Курсор вниз
      nd= Курсор вправо
      bc= Курсор влево
      bs для перемещения на одну позицию влево служит код \b
      ho= Курсор в начало экрана
      ll= Курсор в нижний левый угол экрана
      al= Вставка пустой строки
      dl= Удаление строки
      sr= Прокрутить текст вниз; может выводиться только в первой строке
      sf=Прокрутить текст вверх; может выводиться только в последней строке
      db терминал запоминает строки, вышедшие за верхнюю границу экрана
      da терминал запоминает строки, вышедшие за нижнюю границу экрана
      cl= Стирание всего экрана
      ce= Стирание части текущей строки от текущей колонки
      cd= Стирание части экрана с текущей строки и до конца
      cm= Адресация курсора

      %d аналогично %d в printf, начало экрана (0, 0)
      %2 аналогично %2d в printf
      %3 аналогично %3d
      %. аналогично %c
      %+х сложить x со значением координаты и вывести по формату "%."

      % вверх вниз вверх-вниз
      0 1 2 3 4 5

      треугольники
      > < вверх вниз
      6 7 8 9
      g6= Квадраты (блочная псевдографика) соответственно таблице:


      Основные принципы редактирования.


      При работе red использует весь экран терминала. На экране выделяется несколько различных областей. Основную часть занимает "окно" отображения файла, обведенное рамкой, самая нижняя строка оставляется для ввода "параметров команд"

      редактора и для выдачи сообщений. В этой же строке высвечивается номер строки и имя редактируемого файла (рисунок 1).


      При необходимости "окно" можно поделить на несколько меньших окон и изобразить в них разные файлы или разные части одного файла. Каждое "окно" показывает часть закреп-

      ленного за ним файла.


      Для перемещения курсора внутри окна используются клавиши со стрелками и надписями <RETURN> (<ВК>), <HOME>, <TAB>; при наборе текста на текстовой клавиатуре он просто вводится в файл в место, указываемое курсором. Для более сложных операций служат "команды" редактора red, которые вводятся с помощью функциональной клавиатуры и, в частности, позволяют:

      двигать "окно" вверх, вниз, вправо, влево по файлу;

      Экран тeрминала

      ѓ'ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ'

      ѓљ ---------------------------------------- ѓљ

      ѓљ : : ѓљ

      ѓљ : : ѓљ

      ѓљ : : ѓљ

      ѓљ : : ѓљ

      ѓљ : : ѓљ

      ѓљ : : ѓљ

      ѓљ : : ѓљ

      ѓљ : : ѓљ

      ѓљ : : ѓљ

      ѓљ ---------------------------------------- ѓљ

      ѓљ Арг: Файл:a Стр: 10 ѓљ

      ѓ"ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ›ѓ"

      Рис. 1

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

      переключать "окна" с файла на файл, записывать файлы в архив, создавать новые "окна";

      осуществлять поиск строк по контексту.


      При этом на экране изображается текущее состояние редактируемых файлов.

      Команды редактора вводятся при помощи функциональных клавиш и обозначаются в данном документе так:

      <НАЗВАНИЕ КОМАНДЫ>.


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



      Отображение информации


      Редактор рассчитан на работу с текстами, содержащими строчные и прописные русские и латинские буквы в коде КОИ-8, допускаются также символы с кодами, не имеющими графического изображения. В зависимости от возможностей терминала, некоторые символы файла могут изображаться на экране в виде двух и более символов:

      Символы с кодами 0 - 037 изображаются в виде пары символов: символа "забой" (светлый прямоугольник) и графического символа, код которого в "КОИ-8" равен коду исходного плюс 0100. (Это один из символов @, A-Z,[,], \ , _,^); Если на терминале нет символа "забой", высвечивается @ либо нестандартный символ, выбранный системным программистом при настройке редактора на терминал.

      Если терминал не имеет прописных букв, то отсутствующие символы изображаются следующим образом:

      ## .. #. .# ## %% +
      .. ## #. .# ## %% /I\ (спецсимвол)
      0 1 2 3 4 5 6

      строчные буквы - прописными буквами
      прописные буквы - \прописная буква
      \ - \\
      ~ (тильда) - \^ (\`надчерк')
      ` (обратная кавычка) - \'
      } (закр.фигурная скобка) - \)
      { (откр.фигурная скобка) - \(
      | (вертикальная черта) - \!

      Если терминал не имеет русских букв, то они изображаются парой символов #латинская буква, причем прописным "А"- "Я" соответствуют прописные "A"-"Q", а строчным - строчные "a"-"q" в соответствии с кодом "КОИ-8";

      Символы 0200 - 0277 и 0377 изображаются последовательностью:

      @kkk


      где kkk - трехзначный код символа, a "@" - "забой" либо соответствующий ему символ.


      Символ "Забой" (код 0177) изображается как

      @#



      Переменные и макрокоманды


      В процессе редактирования часто возникает необходимость временно запомнить точку редактирования, текст или набор команд и затем многократно их использовать. Для этого в редакторе red служат переменные. Имеется 26 переменных с именами от a до z (имя состоит из одной латинской буквы), в которых можно хранить следующую информацию:

      запоминать положение курсора в файле и затем использовать его для возврата в нужную точку либо для указания одной из границ области файла в командах <CLOSE>, <OPEN>, <PICK>;

      запоминать текст для использования его в команде <PICK>;

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


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