OpenSCADAWiki: Roman Savochenko/Linux Short All/part6
 

6 Форматы основных конфигурационных файлов

6.1 xorg.conf

Секция "InputDevice" - описание устройств ввода (клавиатур, манипуляторов мышь)
Identifier - идентификатор устройства ввода
Driver - драйвер устройства ввода:
kbd - клавиатура;
mouse - манипулятор мышь.
Option - опция:
XkbLayout - список раскладок клавиатуры ("us,ru,ua")
XkbOptions - опции клавиатуры, обычно указывается комбинация клавиш для переключения раскладки клавиатуры ("grp:ctrl_shift_toggle", "grp_led:scroll")
XkbVariant - вариант раскладки клавиатуры (default, winkeys)
XkbModel - модель клавиатуры (105,104 ...)
Device - файл устройства мыши (/dev/input/mice)
Protocol - Протокол интерфейса мыши (PS/2, IMPS/2, ...)
ZAxisMapping - Расключение дополнительных клавиш мыши (колесо - "4 5")

Секция "Monitor" - описание монитора
Identifier - идентификатор монитора
DisplaySize - размер дисплея (пропорции - 320 240)
Option - опция:
dpms - включение режима энергосбережения

Секция "Device" - описание устройства видеовывода
Identifier - идентификатор видеокарты
Driver - драйвер видеокарты (nv, nvidia, radeon, fglrx, ...)

Секция "Screen" - описание экрана
Identifier - идентификатор экрана
Device - идентификатор устройства видеовывода, видеокарта (описана в секции "Device")
Monitor - идентификатор монитора (описан в секции "Monitor")
DefaultDepth - глубина цвета устанавливаемая по умолчанию
SubSection "Display" - подсекция экрана (описывает допустимые разрешения с глубинами цвета):
Depth - глубина цвета (8,15,16,24,32)
Modes - допустимые разрешения экрана ("1152x864" "1024x768" "1024x736" "1024x600" "960x720" "848x480" "832x624" "800x600")

Секция "ServerLayout" - обобщающая конфигурационная секция (корень)
Identifier - идентификатор сервера
Screen - идентификатор экрана используемого сервером (описан в секции "Screen")
InputDevice - идентификатор устройства ввода (описано в секциях "InputDevice")

Секция "Module" - секция описания дополнительных модулей расширения
Load - загрузка указанного модуля:
dbe - ???
glx - Модуль языка GLX (для OpenGL)
dri - Direct rendering infrastructure (для OpenGL)

6.2 Управляющие последовательности консоли

Управление звуком:
\007 - издать звук;
\033[10;#] - установить частоту звукового сигнала в герцах;
\033[11;#] - установить продолжительность звукового сигнала в миллисекундах.

Управление цветом:
\033[0m - все атрибуты по умолчанию;
\033[1m - жирный шрифт (интенсивный цвет);
\033[2m - полу яркий цвет (тёмно-серый, независимо от цвета);
\033[4m - выделение (ярко-белый, независимо от цвета);
\033[5m - мигающий;
\033[7m - реверсия (знаки приобретают цвет фона, а фон - цвет знаков);
\033[22m - установить нормальную интенсивность;
\033[24m - отменить подчеркивание;
\033[25m - отменить мигание;
\033[27m - отменить реверсию;
\033[30 - чёрный цвет знаков;
\033[31 - красный цвет знаков;
\033[32 - зелёный цвет знаков;
\033[33 - коричневый цвет знаков;
\033[34 - синий цвет знаков;
\033[35 - фиолетовый цвет знаков;
\033[36 - цвет морской волны знаков;
\033[37 - серый цвет знаков;
\033[40 - чёрный цвет фона;
\033[41 - красный цвет фона;
\033[42 - зелёный цвет фона;
\033[43 - коричневый цвет фона;
\033[44 - синий цвет фона;
\033[45 - фиолетовый цвет фона;
\033[46 - цвет морской волны фона;
\033[47 - серый цвет фона.

Управление положением курсора
\033[#A - передвинуть курсор вверх на # строк;
\033[#B - передвинуть курсор вниз на # строк;
\033[#С - передвинуть курсор вправо на # столбцов;
\033[#D - передвинуть курсор влево на # столбцов;
\033[#E - передвинуть курсор вниз на # строк и поставить в начало строки;
\033[#F - передвинуть курсор вверх на # строк и поставить в начало строки;
\033[#G - переместить курсор в указанный столбец текущей строки;
\033[#;#H - задает абсолютные координаты курсора (строка, столбец).

Управление палитрой
\033]Pnrrggbb - изменяет палитру. n - номер цвета; rr, gg и bb - значения RGB-компонент в шестнадцатеричной форме;
\033]R - восстанавливает палитру, принятую по умолчанию.

Управление виртуальными консолями
\033[12;#] - сделать текущей консоль с указанным номером.

Управление xterm
\033]0;text\007 - присваивает имя окну и иконке;
\033]1;text\007 - присваивает имя иконке;
\033]2;text\007 - присваивает имя окну.

Общее
\033c - сброс терминала;
\033(K - переключение на загружаемый шрифт.

6.3 BASH

6.3.1 Общее

![numb] -- запуск строки <numb> из истории (history);
!str -- запуск ближайшей строки соответствующей маске str из истории (history);
\ -- продолжение текущей строки на другой строке или экранирование специального символа после данного символа (\$);
; -- разделитель команд;
() -- выполнения сценария в скобках в другой подоболочке;
(()) -- включение выражений с "С" синтаксисом;
[] -- включение условных операций с синтаксисом команды test;
"pwd" -- определение строки с разрешением подстановки значений переменных;
'pwd' -- определение строки с запрещением подстановки значений переменных;
`pwd` -- результат выполнения команды pwd;
$(x) -- выполнение команды x и возврат результата (подобно `x`);
x=pwd -- определение переменной окружения x и присвоение ей строки pwd;
x='34' -- определение переменной окружения x и присвоение ей строки '34';
x[2]=pwd -- определение массива x и присвоение его элементу 2 строки pwd;
x=(zero one two three) -- определение массива x и заполнение четырех его элементов;
x=([0]=zero [3]=three [2]=two [1]=one) -- определение массива x и заполнение четырех его элементов по выбору;
$(( 100/3 )), $[100/3] -- выполнение простых целочисленных операций.
Примеры:
a=4; echo $[a=$a+4] $[a+=4] $[a=a+4]
a=4; echo $[a=$a+4, a+=4, a=a+4]
$[2!=2] $[2!=3]
$[a=2<3] $a
Операции:
id++, id-- -- постфиксное увеличение/уменьшение значения переменной на 1
++id, --id -- префиксное увеличение/уменьшение значения переменной на 1
-, + -- унарные минус и плюс
!, ~ -- логическое и побитовое отрицание
** -- возведение в степень
*, /, % -- умножение, деление, получение остатка от деления
+, - -- сложение, вычитание
< <, > > -- побитовый сдвиг влево и вправо
<=, >=, <, > -- сравнение
==, != -- равенство и неравенство
& -- побитовое И
^ -- побитовое исключающее ИЛИ
| -- побитовое ИЛИ
&& -- логическое И
|| -- логическое ИЛИ
выр1?выр -- условное вычисление
=, *=, /=, %=, +=, ?=+ -- присваивание
выр1,выр2 -- запятая
() -- выделение более приоритетного участка выражения
$x, ${x} -- подстановка значения переменной/параметра x
${!x} -- косвенная подстановка значения переменной/параметра указанного в x;
${#x} -- косвенная подстановка значения переменной/параметра указанного в x,
если параметр - * или @, подставляется количество позиционных параметров,
если параметр - массив с индексом * или @, подставляется количество элементов массива;
${x:?"Error, no bar"} -- генерировать ошибку если x не определена или равна нулю;
${x?"Error, no bar"} -- -//-;
${x:="foose"} -- присвоить значение по умолчанию если x не определена или равна нулю;
${x="foose"} -- -//-;
${x:offset:lenght}, ${x:offset} -- возвращает часть от x начиная с offset длиной lenght;
В качестве длины и смещения могут выступать:
${x:+"foose"} -- если переменная определена то вместо неё используется "foose";
${x+"foose"} -- -//-;
${x:-"foose"} -- если переменная определена то она используется иначе используется "foose";
${x-"foose"} -- -//-;
${пар#шабл} -- ??
${пар##шабл} -- ??
${пар%шабл} -- ??
${пар% %шабл} -- ??
${пар/шабл/стр} -- заменяется первая, самая длинная подстрока значения параметра, на указанную строку;
${пар/ /шабл/стр} -- заменяются все самые длинные подстроки значения параметра, на указанную строку;
${array[@]} -- обращение сразу ко всему массиву;
$'\n' -- вставка управляющего символа в строку;
Comm && -- выполняет действие после выражения если команда <Comm> неудачна;
Comm || -- выполняет действие после выражения если команда <Comm> удачна;
MYVAR#*fo -- отсекает от начала переменной MYVAR самую короткую часть удовлетворяющую маске *fo;
MYVAR##*fo -- отсекает от начала переменной MYVAR самую длинную часть удовлетворяющую маске *fo;
MYVAR%fo* -- отсекает от конца переменной MYVAR самую короткую часть удовлетворяющую маске fo*;
MYVAR% %fo* -- отсекает от конца переменной MYVAR самую длинную часть удовлетворяющую маске fo*;
MYVAR:2:5 -- возвращает часть строки MYVAR которая начинается с 2 символа и заканчивается 5;

6.3.2 Служебные переменные языка

$# -- количество фактических аргументов;
$- -- флаги (однобуквенные), указанные при запуске shell или установленные посредством set.
$? -- код возврата последней команды;
$$, $PPID -- PID текущего процесса (скрипта);
$! -- PID последнего запущенного фонового процесса;
$* -- раскрывает единственное слово, содержащее список всех позиционных парам;
$@ -- ссылка на все аргументы команды отделенные пробелами;
$0 -- имя команды в командной строке;
$n, ${n} -- аргумент n командной строки (n = 1...);

6.3.3 Основные переменные окружения оболочки

PWD -- текущий рабочий каталог;
UID -- цифровой идентификатор текущего пользователя;
umask -- содержит маску прав доступа по которой создаются новые файлы;
BASH -- полный путь вызова BASH;
BASH_VERSION -- версия данного экземпляра BASH;
EDITOR -- содержит имя редактора используемого для редактирования некоторых конфигурационных файлов;
PAGER -- содержит имя программы для отображения информационных страниц (типа more);
SHLVL -- количество запущенных BASH;
REPLY -- содержит последнюю строку ввода;
RANDOM -- содержит случайное число в диапазоне 0..32767;
SECONDS -- время в секундах от запуска BASH;
HISTCMD -- номер текущей команды в истории;
IFS -- цепочка символов разделителей полей;
PATH -- пути поиска команд;
HOME -- домашний каталог текущего пользователя;
MAIL -- имя файла в который поступает электронная почта;
LOGNAME -- имя пользователя использованное для входа в систему;
SHELL -- имя интерпретатора команд;
LD_LIBRARY_PATH -- описания пользовательских путей к динамическим библиотекам;
DISPLAY -- описывает адрес дисплея для X-приложений;
LANG -- переменная локали;
TERM -- тип пользовательского терминала;
INPUTRC -- содержит имя файла параметров для библиотеки readline, определяющей параметры ввода с клавиатуры;
PS1,PS2 -- описывает вид приглашения в командной строке;
TZ -- информация о часовом поясе;
MALLOC_CHECK_ -- указывает что делать с ошибками в функциях malloc, free:
= 0 -- молча игнорировать все ошибки;
= 1 -- сообщить об ошибке и продолжить работу;
= 2 -- прервать (без сообщения);
= 3 -- прервать и сообщить об ошибке.
MALLOC_TRACE -- определяет путь для команды mtrace и функции в программе mtrace;

6.3.4 Основные операторы

& -- выполнить команду до него в фоновом режиме;
if [ Condition ] -- условный оператор ( if ( Condition ) - tch);
then -- тело выполнения условия;
else -- тело невыполнение условия;
elif [ Condition ] -- совмещенная команда else if;
fi -- окончание условного оператора;
for x in 1 2 3 4 -- оператор цикла, в x перебираются значения за in ( foreach x (1 2 3 4) - tch ). Общая структура циклов:
for x in 1 2 3 4
do #тело цикла
done
while [ Condition ] -- выполняет цикл пока верно условие Condition ( while ( Condition ) -tch );
until [ Condition ] -- выполняет цикл до равенства условия Condition;
(repeat x expression - tch ) -- выполняет повторение выражения <expression> x раз;
select x in list; -- запрашивает выбор из списка <list> и присваивает выбранное значение переменной <x>;
do -- начало тела цикла определенного for, while, until;
done -- конец тела цикла определенного for, while, until;
break -- завершение цикла;
continue -- продолжение цикла сначала;
case x in -- команда выбора. Имеет структуру:
case "${x##*.}" in
gz) gzunpack ${SROOT}/${x} ;;
bz2) bz2unpack ${SROOT}/${x} ;;
*) echo "Неизвестный формат архива" exit ;;
esac
function func() { } -- определяет функцию с именем func;
func a1 a2 a3 -- вызов функции;

6.3.5 Встроенные команды

. file -- выполнить все команды в файле после точки;
eval [attr] -- выполнить команду заданную аргументами;
exec [prog] -- сменить программу текущего процесса указанной, т.е. выполнить в данном процессе новую программу;
exit n -- выход из сценария с кодом <n>;
shift [n] -- сдвиг параметров командной строки на единицу (для доступа к параметрам с номером > 9 );
cd [dir] -- сменить директорию;
pwd -- получение имени текущей директории;
read x y -- ввод строки из двух слов;
set x = str -- инициализация переменной и установка различный настроек интерпретатора;
-A Name_A 1 2 3 4 5 -- инициализация массива;
-V,-X -- включение отладочного режима;
+V,+X -- выключение отладочного режима;
unset x -- отмена инициализации переменной;
export x -- создает переменную окружения x и экспортирование её в систему;
-p -- вывод всех экспортированных переменных.
local x -- создает локальную переменную окружения которая не перекрывает глобальной (часто используется для функций);
declare -- декларирование переменных и изменение их атрибутов;
trap -- установка обработчиков сигналов в скрипте;
alias [имя=синоним] -- создание псевдонимов или альтернативных имен команд;
unalias -- удаление псевдонима;
test -- проверка условий, используется в циклах;
getopts -- разбор опций.

6.3.6 Операторы сравнения файлов

-e -- существует;
-d -- каталог;
-f -- обычный файл;
-c -- специальный файл;
-b -- специальный блочный файл;
-p -- специальный файл именованного канала;
-L -- символическая ссылка;
-r -- для чтения;
-w -- для записи;
-x -- исполняемый;
-z -- файл пуст;
-s,(-z) -- имя файла не нулевой длины;
(-o) -- пользователь является владельцем файла;
fname1 -nt fname2 -- fname1 новее fname2;
fname1 -ot fname2 -- fname1 старше fname2;

6.3.7 Операторы сравнения цепочек символов, арифметических выражений и логические операторы

-z -- строка пуста;
-n -- строка не пуста;
= ,(==) -- строки равны;
!= -- строки неравна;
-eq -- равно;
-ne -- неравно;
-lt,(< ) -- меньше;
-le,(<=) -- меньше или равно;
-gt,(>) -- больше;
-ge,(>=) -- больше или равно;
! -- отрицание логического выражения;
-a,(&&) -- логическое "И";
-o,(||) -- логическое "ИЛИ"

6.3.8 Перенаправления вывода

| -- перенаправление вывода в канал;
< file -- file записать в STDIN;
> file -- STDOUT записать в file;
<> file -- чтение и запись в файл;
>> file -- STDOUT добавить в file;
<< str -- определяет слово <str> как признак окончания ввода;
2> file -- STDERR записать в file (могут указываться дескрипторы других файлов);
1>&2 -- STDOUT записать в STDERR;
2>&1 -- STDERR записать в STDOUT;
&> file -- STDOUT и STDERR записать в file;

6.3.9 Специальные символы (экранирование)

\n -- новая строка
\b -- возврат на один символ
\c -- печать строки без символа новой строки
\f -- переход к новой странице/экрану
\r -- возврат каретки
\t -- табуляция
\v -- табуляция по вертикали
\\ -- обратная косая черта
0nnn -- восьмеричное число
xNN -- шестнадцатеричное число

6.3.10 Маски (подстановка, может быть отключена опцией -f или set)

* -- производная цепочка символов;
? -- производный символ;
[...] -- символ в скобках [A-Z]; "! и ^" - исключение символа.

6.3.11 Представление численных значений

045 -- восьмеричное число (начинается с 0)
0x45, 0X32 -- шестнадцатеричное число
[основание#]n -- число с основанием <n> (по умолчанию основание 10)
Примеры:
$[2#101] $[10#101] $[16#101]
$[16#FF] $[16#ff] $[0xFF]
$[64**2] $[64#@@]
$[64#z] $[64#Z]

6.3.12 Полезные обороты

cmd || true # принудительно установить успешный результат
echo "lang=uk_UA.UTF-8" | cut -d= -f2  # парсинг по разделителю '=', элемент 2
echo "123 lang=uk_UA.UTF-8" | grep -o 'lang=[^ ]*' # получение участка текста/строки согласно шаблона
wc -l  # получить количество строк
wc -w  # получить количество слов
sed -n 4p  # получить указанную строку
ls -1 /etc  # получить содержимое каталога по строкам
head -c8 /dev/random | uuencode -m - | sed -n '2s/=*$//;2p'  # cгенерировать случайный пароль

6.4 GDB

run - запуск отлаживаемой программы
break func - установка точку прерывания на функцию func
list func - просмотр содержимого функции или исходного файла
next - следующая команда;
quit - выход;

6.5 MAKE

Формат правила:
<цель_1> <цель_2> ... <цель_n>: <зависим_1> <зависим_2> ... <зависим_n>
<команда_1>
<команда_2>
...
<команда_n>

Цель это некий желаемый результат может представлять собой:

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

6.5.1 Шаблонные правила

.cpp.o: - файлы с расширением *.o зависят от соответствующий файлов с расширением *.cpp
%.o: %.cpp - проверяет все файлы с расширением .cpp и заменяет цель на расширение .o
.PHONY: x - объявление специальной цели (не файл)
all: - выполняет эту цель при отсутствие параметров команды make

6.5.2 Ключевые слова и команды

=,:= - оператор объявления переменных (x = test)
+= - добавление текста к существующей переменной
#define - определение переменных. (#define x "test 1")
include - включение внешнего файлы и его обработка, с прерыванием при отсутствие файла
-include - включение внешнего файлы и его обработка, без прерывания при отсутствие файла
$(function par1, par2 ...) - вызов функции и получение значения переменной
addprefix - добавляет префикс в первом параметре к каждому элементу в списке второго параметра
addsuffix - добавляет суффикс в первом параметре к каждому элементу в списке второго параметра
wildcard - расширяет переданные шаблоны до списка файлов соответствующих этим шаблонам
notdir - выделение имени файла из полного пути
patsubst - изменяет указанным образом слова подходящие под шаблон
object_files = $(patsubst %.cpp, %.o, man.cpp) -> man.o
override - позволяет изменять переменные заданные через пораметры make
for x in 1 2 3 4; - оператор цикла, в x перебираются значения за in
do - начало цикла определенного for
done - конец цикла определенного for

6.5.3 Специальные переменные

VPATH - описывает список каталогов для поиска зависимостей
CC - указывает компилятор языка С
СXX - указывает компилятор языка С++
СFLAGS - указывает флаги компилятора С
CXXFLAGS - указывает флаги компилятора С++
LDLIBS - описывает опции линкера

6.5.4 Автоматические переменные

`command` - вставить в сценарий выхлоп команды <command>
$@ - имя цели обрабатываемого правила
$< - имя первой зависимости обрабатываемого файла
$^ - список зависимостей обрабатываемого правила

6.6 Makefile.am

bin_PROGRAMS - определяет имя программы
<prog>_SOURCES - определение исходников от которых зависит программа
CXX - имя C++ компилятора
CXXFLAGS - определение опций С++ компилятора
AUTOMAKE_OPTIONS - определение опций automake:

6.7 configure.in

AC_INIT(file) - инициализация скрипта и проверка на наличие исходников
AC_CONFIG_AUX_DIR(dir) - использовать скрипты типа install-sh из каталога <dir>
AM_INIT_AUTOMAKE(prog, 1.0) - определение имени и версии проекта
AC_PROG_CC - проверка наличия С компилятора
AC_PROG_CXX - проверка наличия С++ компилятора
AC_OUTPUT([file ... [, extra-cmds [, init-cmds] ] ]) - создаёт выходные файлы <file> типа Makefile (копирует входной file.in и подставляет значения переменных).
extra-cmds - дополнительные команды с их инициализацией в init-cmds
AC_OUTPUT_COMMANDS(extra-cmds [, init-cmds] ]) - дополнительные команды с их инициализацией в init-cmds. Выполняются в конце config.status

6.8 Сonfigure

--bindir - директория для исполняемых файлов
--build - платформа сборки
--cache-file - файл для помещения результатов проверок
--datadir - директория для хранения файлов данных
--enable-...(-disable-...) - включить(выключить) возможность/функцию
--exec-prefix - похож на опцию - -prefix
--help - список всех опций командной строки
--host - имя платформы домашнего(host) компьютера
--includedir - директория заголовочного файла
--infodir - директория информации типа <info>
--libdir - директория библиотек
--mandir - директория c руководствами
--no-create - не создавать конечные файлы
--norecursion - не вызывать вложенные configure
--prefix - директория корневого каталога
--sbindir - директория для системных исполняемых файлов
--silent - подавляет вывод результатов исполнения на экран
--srcdir - каталог исходных текстов
--sysconfdir - каталог данных только для чтения(/etc)
--target - имя целевой платформы
--tmpdir - каталог для хранения временных файлов Configure

6.8 RPM *.spec

%description - Полное описание пакета.
%prep - Подготовка архива. Задаются команды для извлечения исходного текста программы и его распаковки.
%setup - Макрокоманда извлечения файлов из архива (-n - каталог приёмник).
%build - Макрокоманда компиляции (обычно задаётся make).
%files - Задаёт список файлов, входящие в состав пакета.
%config - Задаёт список файлов, которые будут помещены в каталог /etc.
%doc - Задаёт список файлов, которые будут помещены в каталог документации.
%install - Этап установки программного обеспечения. Задаются команды установки файлов.
%pre - Действия которые будут выполнены до инсталляции пакета.
%post - Действия которые будут выполнены после инсталляции пакета.
%preun - Действия которые будут выполнены перед удалением пакета.
%postun - Действия которые будут выполнены после удалением пакета.
%clean - Удаления дерева BUILD.
%changelog - Содержит log изменения spec файла.
$RPM_BUILD_ROOT - корень исходников данного пакета.
$RPM_OPT_FLAGS - дополнительные опции переданные команде rpmbuild.

6.9 /etc/syslog.conf

[!NameProg] <facility>.[op]<level>[;<facility>.<level>] <Name file>
где:
<NameProg> - имя программы посылающей сообщения;
<facility> - категория журналирования:
<level> - Уровень детализации:
<op> - Метод журналирования. При отсутствие выводит сообщения указанного и более высокого уровня:
<Name file> - Имя файла для лога. Может также быть указателем на другую машину (@server.org) для журналирования на ней. А также передавать сообщения через канал другому приложению (|/usr/bin/messcheck.pl).

6.10 /etc/modules.conf

alias [class] [module] - определяет модуль/драйвер, как определенный класс устройств
alias [class] off - обозначает, что этому классу не соответствует ни одно устройство
options [класс или модуль] [знач1] [знач2] - определяет дополнительные параметры модуля
pre-install [класс или модуль] command - выполняет программу <command> перед инсталляцией модуля
post-install [класс или модуль] command - выполняет программу <command> после инсталляции модуля
pre-remove [класс или модуль] command - выполняет программу <command> перед удалением модуля
post-remove [класс или модуль] command - выполняет программу <command> после удаления модуля

6.11 Поточный редактор "sed" и команды в редакторе VI

Пример выделение частоты процессора:
cat -n /proc/cpuinfo | sed -n "/cpu MHz[^ ]*[ ]*\([^ ]*\).*/s//\1/p"


Запросы:
a - вставить текст после текущей строки
c - заменить указанные строки
d - исключить текущую строку
e - открыть для редактирования указанный файл с проверкой старого
E - начать редактирование файла без проверки
f - напечатать имя редактируемого файла
g - применить указанный запрос ко всем строкам
i - вставить текст перед текущей строкой
j - объединить строки
k - поменять строки
l - напечатать строку
m - переставить группу строк в другое место
n - напечатать строки вместе с их номерами
p - напечатать строки
q - выйти из редактора с проверкой сохранения текущего файла
Q - выйти без проверки
r - считать файл в буфер
s - заменить текст в пределах строки
t - скопировать группу строк
u - аннулировать результат последней замены s
v - применить указанный запрос ко всем строкам не содержащим заданный образец
w - записать группу строк в файл
W - дозаписать группу строк в конец файла
= - напечатать номер строки
! - выполнить системную команду
+ - шаг вперёд на одну строку
- - шаг назад на одну строку

Выражения:
. - любая литера, кроме новой строки
[s] - любая литера из цепочки s
[^s] - любая литера не входящая в цепочку s
e* - все соседние вхождения;
\(e\) - выделить подвыражение, на подвыражение можно ссылаться используя \n
\n - n-е выделенное подвыражение
^ - начало строки
$ - конец строки
- экранировать специальный символ

Адреса:
. - текущая строка
n - n-я строка
$ - последняя строка редактируемого текста
'x - строка, помеченная меткой x
/e/ - ближайшая следующая строка, содержащая e
?e? - ближайшая предыдущая строка, содержащая e

6.12 Поточный редактор AWK

Формат записи: awk '{print $2,$1}'

print $1,$3 - печатает указанные поля, разделённые пробелом, для всех строк
printf "%s/*\n", $2 - печать форматированных данных

6.13 Параметры ядра

root=/dev/hda - расположение корневого раздела
ro, rw - режим монтирования - только для чтения или полный
hdd=ide-scsi - на каком ide диске эмулировать scsi
init=/bin/bash - программа инициализации, выполняется сразу после загрузки ядра
syngle - загрузится в одиночном режиме
1,3,5 - режим загрузки INIT:
1 - однопользовательский;
3 - многопользовательский без GUI;
5 - многопользовательский c GUI.

6.14 OpenLDAP

LDAP (Lightweight Directory Access Protocol — «облегчённый протокол доступа к каталогам»).
Сокращения:

Отличительное имя ветви или листа дерева (DN) записывается в виде "dc=server,dc=diya" и содержит в себе всю иерархию начиная от корня (RootDN).

Пользователи обычно записываются в виде DN с первым элементом общего имени пользователя (cn=roman,ou=Users,dc=server,dc=diya).

Примеры запросов:
# Загрузка данных из файла init.ldif в LDAP от имени пользователя "cn=admin,dc=server,dc=diya"
$ ldapadd -x -D "cn=admin,dc=server,dc=diya" -W -f ./init.ldif
# Поиск по дереву начиная с корня
$ ldapsearch -x -b "dc=server,dc=diya" "(objectclass=*)"