Секция "InputDevice" - описание устройств ввода (клавиатур, манипуляторов мышь)
Identifier - идентификатор устройства ввода
Driver - драйвер устройства ввода:
Option - опция:
Секция "Monitor" - описание монитора
Identifier - идентификатор монитора
DisplaySize - размер дисплея (пропорции - 320 240)
Option - опция:
Секция "Device" - описание устройства видеовывода
Identifier - идентификатор видеокарты
Driver - драйвер видеокарты (nv, nvidia, radeon, fglrx, ...)
Секция "Screen" - описание экрана
Identifier - идентификатор экрана
Device - идентификатор устройства видеовывода, видеокарта (описана в секции "Device")
Monitor - идентификатор монитора (описан в секции "Monitor")
DefaultDepth - глубина цвета устанавливаемая по умолчанию
SubSection "Display" - подсекция экрана (описывает допустимые разрешения с глубинами цвета):
Секция "ServerLayout" - обобщающая конфигурационная секция (корень)
Identifier - идентификатор сервера
Screen - идентификатор экрана используемого сервером (описан в секции "Screen")
InputDevice - идентификатор устройства ввода (описано в секциях "InputDevice")
Секция "Module" - секция описания дополнительных модулей расширения
Load - загрузка указанного модуля:
Управление звуком:
\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 - переключение на загружаемый шрифт.
![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] -- выполнение простых целочисленных операций.
$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;
$# -- количество фактических аргументов;
$- -- флаги (однобуквенные), указанные при запуске shell или установленные посредством set.
$? -- код возврата последней команды;
$$, $PPID -- PID текущего процесса (скрипта);
$! -- PID последнего запущенного фонового процесса;
$* -- раскрывает единственное слово, содержащее список всех позиционных парам;
$@ -- ссылка на все аргументы команды отделенные пробелами;
$0 -- имя команды в командной строке;
$n, ${n} -- аргумент n командной строки (n = 1...);
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:
MALLOC_TRACE -- определяет путь для команды mtrace и функции в программе mtrace;
& -- выполнить команду до него в фоновом режиме;
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 ). Общая структура циклов:
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 -- команда выбора. Имеет структуру:
function func() { } -- определяет функцию с именем func;
func a1 a2 a3 -- вызов функции;
. 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 -- разбор опций.
-e -- существует;
-d -- каталог;
-f -- обычный файл;
-c -- специальный файл;
-b -- специальный блочный файл;
-p -- специальный файл именованного канала;
-L -- символическая ссылка;
-r -- для чтения;
-w -- для записи;
-x -- исполняемый;
-z -- файл пуст;
-s,(-z) -- имя файла не нулевой длины;
(-o) -- пользователь является владельцем файла;
fname1 -nt fname2 -- fname1 новее fname2;
fname1 -ot fname2 -- fname1 старше fname2;
-z -- строка пуста;
-n -- строка не пуста;
= ,(==) -- строки равны;
!= -- строки неравна;
-eq -- равно;
-ne -- неравно;
-lt,(< ) -- меньше;
-le,(<=) -- меньше или равно;
-gt,(>) -- больше;
-ge,(>=) -- больше или равно;
! -- отрицание логического выражения;
-a,(&&) -- логическое "И";
-o,(||) -- логическое "ИЛИ"
| -- перенаправление вывода в канал;
< 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;
\n -- новая строка
\b -- возврат на один символ
\c -- печать строки без символа новой строки
\f -- переход к новой странице/экрану
\r -- возврат каретки
\t -- табуляция
\v -- табуляция по вертикали
\\ -- обратная косая черта
0nnn -- восьмеричное число
xNN -- шестнадцатеричное число
* -- производная цепочка символов;
? -- производный символ;
[...] -- символ в скобках [A-Z]; "! и ^" - исключение символа.
045 -- восьмеричное число (начинается с 0)
0x45, 0X32 -- шестнадцатеричное число
[основание#]n -- число с основанием <n> (по умолчанию основание 10)
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генерировать случайный пароль
run - запуск отлаживаемой программы
break func - установка точку прерывания на функцию func
list func - просмотр содержимого функции или исходного файла
next - следующая команда;
quit - выход;
Формат правила:
Цель это некий желаемый результат может представлять собой:
Зависимость, также может быть файлом или командой которая должна выполнится ранее.
.cpp.o: - файлы с расширением *.o зависят от соответствующий файлов с расширением *.cpp
%.o: %.cpp - проверяет все файлы с расширением .cpp и заменяет цель на расширение .o
.PHONY: x - объявление специальной цели (не файл)
all: - выполняет эту цель при отсутствие параметров команды make
=,:= - оператор объявления переменных (x = test)
+= - добавление текста к существующей переменной
#define - определение переменных. (#define x "test 1")
include - включение внешнего файлы и его обработка, с прерыванием при отсутствие файла
-include - включение внешнего файлы и его обработка, без прерывания при отсутствие файла
$(function par1, par2 ...) - вызов функции и получение значения переменной
addprefix - добавляет префикс в первом параметре к каждому элементу в списке второго параметра
addsuffix - добавляет суффикс в первом параметре к каждому элементу в списке второго параметра
wildcard - расширяет переданные шаблоны до списка файлов соответствующих этим шаблонам
notdir - выделение имени файла из полного пути
patsubst - изменяет указанным образом слова подходящие под шаблон
override - позволяет изменять переменные заданные через пораметры make
for x in 1 2 3 4; - оператор цикла, в x перебираются значения за in
do - начало цикла определенного for
done - конец цикла определенного for
VPATH - описывает список каталогов для поиска зависимостей
CC - указывает компилятор языка С
СXX - указывает компилятор языка С++
СFLAGS - указывает флаги компилятора С
CXXFLAGS - указывает флаги компилятора С++
LDLIBS - описывает опции линкера
`command` - вставить в сценарий выхлоп команды <command>
$@ - имя цели обрабатываемого правила
$< - имя первой зависимости обрабатываемого файла
$^ - список зависимостей обрабатываемого правила
bin_PROGRAMS - определяет имя программы
<prog>_SOURCES - определение исходников от которых зависит программа
CXX - имя C++ компилятора
CXXFLAGS - определение опций С++ компилятора
AUTOMAKE_OPTIONS - определение опций automake:
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 и подставляет значения переменных).
AC_OUTPUT_COMMANDS(extra-cmds [, init-cmds] ]) - дополнительные команды с их инициализацией в init-cmds. Выполняются в конце config.status
--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
[!NameProg] <facility>.[op]<level>[;<facility>.<level>] <Name file>
где:
<level> - Уровень детализации:
<op> - Метод журналирования. При отсутствие выводит сообщения указанного и более высокого уровня:
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> после удаления модуля
Пример выделение частоты процессора:
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
Формат записи: awk '{print $2,$1}'
print $1,$3 - печатает указанные поля, разделённые пробелом, для всех строк
printf "%s/*\n", $2 - печать форматированных данных
root=/dev/hda - расположение корневого раздела
ro, rw - режим монтирования - только для чтения или полный
hdd=ide-scsi - на каком ide диске эмулировать scsi
init=/bin/bash - программа инициализации, выполняется сразу после загрузки ядра
syngle - загрузится в одиночном режиме
1,3,5 - режим загрузки INIT:
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=*)"