\documentclass[10pt,a4paper]{article}
%\documentstyle[10pt,twocolumn]{book}
\usepackage[koi8-u]{inputenc}
\usepackage[russian]{babel}

\usepackage{fancyhdr}
\usepackage[includehead,includefoot]{geometry}
\geometry{a4paper,top=7mm,bottom=7mm,footskip=1cm,left=15mm,right=7mm,twoside}
% preamble
\pagestyle{fancy}
%\pagestyle{headings}
\title{Linux --- кратко обо всём.}
\date{\today}
\author{Роман Савоченко\\rom\_as@diyaorg.dp.ua}

\catcode`_=13

\begin{document}



{\setlength{\parskip}{0pt}\maketitle\tableofcontents}
%\footnotesize
\newpage
 
\section{Конфигурационные, информационные файлы/каталоги}

\subsection{Общесистемные}
\begin{tabbing}
/dev/ \hspace{6em} \=- Содержит файлы устройств:\\
\pushtabs
\quad \= /pts/ \qquad \=- Содержит файлы устройств открытых псевдотерминалов;\\
\poptabs
/etc/      \>- Содержит большинство конфигурационных файлов:\\
\pushtabs
\quad \= anacrontab \qquad \=- Описание задач для anacron;\\
 \> auto.misc, auto.master - файлы конфигурации автомонтировщика;\\
 \> crontab      \>- Описание задач для cron;\\
 \> csh.login    \>- Профиль системы (Выполняется после регистрации) для TCSH;\\
 \> default/useradd \>- Значения по умолчанию при создание пользователя;\\
 \> fstab, mtab \>- Содержат информацию для автоматического монтирования FS;\\
 \> group     \>- Описание групп пользователей;\\
 \> gtk/      \>- Содержит файлы с указателями шрифтов для различных локалей;\\
 \> HOSTNAME  \>- Содержит имя машины;\\
 \> inittab      \>- Файл последовательности загрузки init;\\
 \> issue     \>- Содержит сообщение, выдаваемое перед локальной регистрацией;\\
 \> issue.net \>- Содержит сообщение, выдаваемое перед сетевой регистрацией;\\
 \> login.defs \>- Файл описывающий поведение login и su;\\
 \> logrotate.conf \>- Конфиг. файл демона автоматической обработки логов (ротация, упаковка, удаление);\\
 \> logrotate.d \>- Директория конфиг. файлов демона автоматической обработки логов;\\
 \> ld.so.conf  \>- Файл конфигурации динамического линковщика;\\
 \> man.conf     \>- Конфигурация руководств;\\
 \> motd      \>- Содержит сообщение, выдаваемое после удачной регистрации;\\
 \> nologin   \>- Создание этого файла запрещает пользователям входить в систему с выдачей\\ 
 \>           \> сообщения в файле;\\
 \> pam.d/    \>- Содержит файлы конфигурации PAM;\\
 \> pam.d/su  \>- Определяет поведение su;\\
 \> pam.d/sudo\>- Определяет поведение sudo;\\
 \> profile      \>- Профиль системы (Выполняется после регистрации) для BASH;\\
 \> rc.d/init.d/ \>- Директория со скриптами, для управления демонами;\\
 \> rc.d/rc.local \>- Для локальной инициализации при загрузке init;\\
 \> suauth       \>- Содержит описание ограничений команды su;\\
 \> sysconfig/  \>- Файлы конфигураций различных системных устройств;\\
\pushtabs
\hspace{2em} \= /keyboard \hspace{3em} \=- Описывает текущую раскладку клавиатуры;\\
 \> /network          \>- Настройки сети;\\
 \> /network-scripts/ \>- Скрипты и файлы конфигурации сети;\\
 \> /desktop          \>- Скрипт установки переменной окружения DISPLAYMANAGER;\\
 \> /i18n             \>- Файл описания текущей локали (команда locale печатает из него);\\
 \> /harddisks        \>- Параметры всех жёстких дисков в системе;\\
 \> /harddiskhd[x]    \>- Параметры конкретно взятого диска <x>;\\
\poptabs
 \> security/ \>- Файлы описывающие секретность:\\
\pushtabs
\hspace{2em} \= /console.apps/ \hspace{1em} \=- Содержит файлы указывающие на функции доступные непривилегированному \\
 \>                \> пользователю из консоли;\\
 \> /console.perms \>- Правила изменения прав доступа к устройствам, при аутентификации;\\
 \> /limits.conf   \>- Конфигурационный Файл лимитов пользователей;\\
\poptabs
 \> sysctl.conf \>- Содержит команды для sysctl которые активизируются при загрузке;\\
 \> syslog.conf \>- Файл определяющий поведения демона журналированния(syslogd).\\
 \> password  \>- Информация о пользователях;\\
 \> shadow    \>- Закодированные пароли;\\
 \> skel/     \>- Содержит набор файлов для домашнего каталога нового пользователя;\\
 \>sudoers    \>- Содержит информацию о том какие пользователи и какие программы могут запускать с \\
 \>           \> привилегиями root используя sudo;\\
\poptabs
/lib/security  \>- DLL системы PAM;\\
/proc/         \>- Содержит файлы управления и получения информации о ядре;\\
\pushtabs
\hspace{1em} \= /sys \hspace{3em} \=- Параметры системы, которые можно поменять на ходу. (Опция ядра CONFIG_SYSCTL)\\
\pushtabs
\hspace{2em} \= /kernel \hspace{2em} \=- Параметры ядра, которые можно поменять на ходу.\\
\pushtabs
\hspace{3em} \= cap-bound \hspace{1em} \=- Управление дополнительными правами (root) (0 - root права анулируються)\\
  \> hostname \>- Имя хоста (системы);\\
  \> osrelease \>- Версия ядра системы;\\
  \> ostype \>- Тип системы (Linux, FreeBSD ...);\\
  \> panic \>- Признак паники ядра;\\
  \> version \>- Дата сборки ядра;\\
\poptabs
 \> /fs       \>- Параметры файловой системы, которые можно поменять на ходу. (Опция ядра CONFIG_SYSCTL)\\
\pushtabs
\hspace{3em} \= file-max \hspace{1em} \=- Указывает максимально допустимое количество открываемых файлов; \\
\poptabs
\poptabs
 \> /devices  \>- Список устройств в системе;\\
 \> /modules  \>- Список активных модулей;\\
 \> /self     \>- Ссылка на информацию о своём процессе;\\
 \> /cpuinfo  \>- Информация о процессорах системы;\\
\poptabs
/usr/lib/locale/ \>- Описание локалей разных стран;\\
/usr/share/locale/ \>- Файлы специфичные для конкретной страны;\\
/usr/share/man/ \>- Локализованные страницы руководств;\\
/var/spool/cron/  \>- Содержит задачи для cron;\\
/var/spool/at/    \>- Содержит задачи для at;\\
~/.bashrc      \>- Профиль конкретного пользователя для BASH (запускается единожды при авторизации);\\
~/.cshrc       \>- Профиль конкретного пользователя для TCSH;\\
~/.bash_profile \>- Профиль конкретного пользователя для BASH (запускается при каждом запуске bash);\\
\end{tabbing}

\subsection{Основных программ}
\begin{tabbing}
/etc/lilo.conf \hspace{4em} \=- Конфигурация LILO;\\
/etc/aspldr.conf \> \=- Конфигурация ASPLoader;\\
\end{tabbing}

\subsection{Сеть}
\begin{tabbing}
  /etc/hosts \hspace{4em} \=- Список узлов и соответствующие им IP-адреса;\\
  /etc/host.allow  \>- Список узлов которым вход разрешен;\\
  /etc/host.deny   \>- Список узлов которым вход запрещен;\\
  /etc/resolv.conf \>- Содержит список DNS-серверов, для резолвера;\\
  /etc/export      \>- Описывает ресурсы доступные другим HOSTам по NFS;\\
  /etc/samba/smb.conf - Файл конфигурации SAMBA;\\
  /etc/nsswitch.conf  \>- Последовательность поиска сетевого имени в различных источниках;\\
  /etc/services    \>- Содержит соответствия между именами портов и именами служб;\\
  /etc/host.conf   \>- Указывает где находится информация о именах, для libc ver 5;\\
  /etc/nsswitch.conf \>- Указывает где находится информация о именах, для libc ver 6;\\
  /etc/xinitd.conf   \>- Конфиг суперсервера Internet, который управляет всеми сокетами;\\
  /etc/ppp/options   \>- Опции демона pppd при соединении;\\
  /etc/ppp/ip-up     \>- Скрипт выполняемый при соединении демоном pppd;\\
  /etc/ppp/ip-down   \>- Скрипт выполняемый при разъединении демоном pppd;\\
  /etc/ethers          \>- Файл соответствия аппаратных MAC адресов сетевым IP адресам;\\
\end{tabbing}

\subsection{Железо}
\begin{tabbing}
  /etc/printcap \=- Файл конфигурации принтеров;\\
  /etc/inputrc  \>- Ресурсы ввода с клавиатуры;\\
  ~/.inputrc    \>- Ресурсы ввода с клавиатуры конкретного пользователя;\\
  /lib/kbd/     \>- Различные файлы для консольной клавиатуры:\\
\pushtabs
\hspace{2em} \= keymaps/i386/querti/*.kmap.gz - Куча раскладок клавиатуры;\\
\poptabs

\end{tabbing}

\subsection{X (графическая система)}

\begin{tabbing}
  /etc/X11/XF86Config \=- Файл конфигурации X;\\
  /usr/X11R6/bin/X    \>- Ссылка на текущий X сервер;\\
  /usr/X11R6/lib/X11/app-defaults/ - Содержит файлы с ресурсами X-приложений;\\
  /etc/X11/fs/config  \>- Перечень каталогов со шрифтами для X;\\
  ~/.Xauthority       \>- Файл авторизации для запуска X-приложений удаленно. Файлы на\\ 
                      \> удаленных машинах должны соответствовать;\\
  ~/.xinitrc          \>- Сценарий загрузки X сервера для конкретного пользователя;\\
  /etc/X11/xkb/rules/xfree86.lst - Список возможных параметров для конфигурированния X\\
\end{tabbing}

\section{Утилиты}

\begin{tabbing}
login \hspace{3em} \=- Вход в систему;\\
  slogin   \>- Вход в систему по ssh;\\
  ssh      \>- Вход в систему по шифрованому протоколу ssh;\\
  users    \>- Список пользователей в системе;\\
  adduser, useradd,mkuser - Добавление пользователя в системе;\\
  userdel  \>- Удаление пользователя из системы;\\
  groupadd \>- Добавление группы пользователей;\\
  groupdel \>- Удаление группы пользователей;\\
  usermod  \>- Изменение учетной записи пользователя;\\
  id       \>- Информация о пользователе;\\
  newgrp   \>- Изменение основной группы пользователя;\\
  passwd   \>- Смена пароля пользователя или группы и управление пользователем;\\
  chown    \>- Смена владельца и группу файла, каталога ...\\
  сhgrp    \>- Смена группы файла, каталога ...\\
  chfn     \>- Изменение имени пользователя и информация о нем;\\
  chmod    \>- Смена режима доступа к файлу;\\
  chroot   \>- Смена места корневого каталога в файловой системе;\\
  umask    \>- Определяет маску по которой будут создаваться новые файлы;\\
  chsh     \>- Смена типа командного интерпретатора;\\
  rlogin   \>- Вход в удаленную систему;\\
  setsid   \>- Запуск программ в новой сессии;\\
  whoami   \>- Сообщает имя текущего пользователя;\\
  finger,who,w,uptime - Информация об использовании системы, и пользователях;\\
  rwho     \>- Информация, список о пользователях на всех удаленных системах нужен демон rwhod;\\
  su       \>- Смена пользователя из текущей сессии. По умолчанию на root (-l с перечитыванием конфигов);\\
  sg       \>- Смена основной группы пользователя, или выполнение команды от имени указанной группы;\\
  sudo     \>- Запуск команд другого пользователя если описан в /etc/sudoers;\\
  write    \>- Написать сообщение указанному пользователю;\\
  mesg     \>- Управление доступом к текущему терминалу для посылаемых сообщений;\\
  wall     \>- Передача широковещательного сообщения (всем пользователям);\\
  talk     \>- Двухсторонний разговор с другим пользователем;\\
  ytalk    \>- Расширенная версия talk, с возможностью работы в X;\\
  man,xman \>- Показать страницу руководства;\\
\hspace{2em} -k <word> - Поиск страницы по ключевому слову;\\
  apropos  \>- Поиск man-страницы по ключевому слову;\\
  watch    \>- Периодически запускает указанную программу;\\
  open     \>- Запускает указанное приложение на другой виртуальной консоли;\\
  info     \>- Показать документацию из страниц связанной помощи;\\
  iconv    \>- Преобразование файла в другую кодировку;\\
  mpage    \>- Чтение обычных и Post Script документов и печать их на Post Script принтер;\\
  at       \>- Разовый запуск команды в указанное время;\\
  batch    \>- Тоже что и at, но при при уровне загрузки системы ниже указанного;\\
  cron     \>- Переодический запуск команды с указанным промежутком;\\
  crontab  \>- Подключение, редактирование пользовательского cron-файла;\\
  anacron  \>- Демон контроля за запусками сценариев cron при не круглосуточной работе системы;\\
  init     \>- Утилита начальной загрузки;\\
\hspace{2em} init q  // Перезапуск init для активизации изменений в /etc/inittab\\
  service  \>- Утилита для операций над сервисами в /etc/rc.d/init.d\\
\hspace{2em} service smb start  // Запуск Samba\\
  export EDITOR=xemacs - Определение переменной окружения и ее экспортирование для общей доступности.\\
  set      \>- Временно изменяет/печатает системные переменные;\\
  unset EDITOR - Удаление переменной окружения EDITOR;\\
  basename \>- Выделяет из полного пути с именем файлу/каталога имя файла/каталога.\\
  pwd      \>- Вывод имени текущего каталога с путем.\\
  du       \>- Получение информации о размере файла/каталога.\\
  dirname  \>- Выделяет из полного пути с именем файла/каталога путь.\\
  shutdown \>- Выключение системы;\\
  ulimit   \>- Управление ограничениями пользователей.\\

  setfont  \>- установка консольного шрифта.\\
  loadkeys \>- установка раскладки клавиатуры.\\
  locale   \>- Выводит информацию о настройке локали (/etc/sysconfig/i18n).\\
  localedef \>- Создание новой локали из базовой, для выбранной кодировки;\\
  consolechars \>- Загрузка Unicode шрифтов.\\
  tput     \>- Управление терминалом.\\
  tset, reset \>- Инициализация терминала на curses;\\
  chvt     \>- Переключение на указанный номер терминала;\\
  stty     \>- Получение и установка параметров терминала, переопределение специальных клавиш.\\
\hspace{2em} erase '\verb+^H+' // Переопределение клавиши для операции erase;\\
\hspace{2em} sane        // Исправить терминал;
\end{tabbing}

\subsection{Ядро}

\begin{tabbing}
  installkernel \=- Скрипт инсталляции ядра используется при компиляции ядра (make install);\\
  lsmod    \>- Выводит листинг сконфигурированных и работающих модулей;\\
  insmod   \>- Добавить модуль в ядро;\\
  rmmod    \>- удалить модуль с ядра;\\
  modinfo  \>- Выдает информацию о модуле и его параметрах;\\
  modprobe \>- Утилита для работы с модулями. Без параметров, загружает модуль;\\
\hspace{2em} -с - перечисляет все сконфигурированные сокращения, опции и команды для модулей;\\
\hspace{2em} -l - перечисляет все возможные модули;\\
\hspace{2em} -r - выгружает модуль;\\
  depmod   \>- Проверка зависимостей модулей, используется для добавления модулей;\\
\hspace{2em} -a - Проверка модулей по всей структуре /lib/modules и внесение соответствующих корректив;\\
  /dev/MAKEDEV - Создает устройство (можно создать и mknod "/dev/loop0 c 7 0");\\
  procinfo \>- Получить информацию о процессах и системе из /proc;\\
  sysctl   \>- Конфигурированние параметров (/proc/sys/) ядра во время его работы;\\
  rdev     \>- Установка/контроль корневого каталога используемого ядром по умолчанию;\\
  ramsize  \>- Установка/контроль размера диска в памяти используемого ядром по умолчанию;\\
  vidmode  \>- Видеорежим используемый ядром по умолчанию;\\
  mkinitrd \>- Позволяет создавать образ RAM-диска, для подключения к ядру;\\
\end{tabbing}

\subsection{Почта}
\begin{tabbing}
  mail \hspace{3em} \=- Создать сообщение;\\
  procmail  \>- Утилита автоматизации обработки почтовых сообщений;\\
  mutt,pine \>- Консольный почтовый клиент;\\
  mailq     \>- Показать очередь неотправленных сообщений;\\
  sendmail  \>- Отправлять письма\\
\hspace{1em} -q[time] \>- Обработать сообщения в очереди;\\
\hspace{1em} -v       \>- Режим печати сопровожд. сообщений;\\
  newaliases \>- Добавляет новые алиасы из /etc/aliases в /etс/aliases.db\\
\end{tabbing}

\subsection{Файловая система}
\begin{tabbing}
  mkisofs \hspace{3em} \=- Создание ISO образа из каталога:\\
\hspace{1em} mkisofs -r -o my.iso /usr/games\\
  cdrecord \>- Запись CD дисков\\
\hspace{1em} cdrecord -v speed=2 dev=0,6,0 -data my.img\\
  xcdroast \>- X-оболочка над cdrecord и mkisofs.\\
  mount    \>- монтирование файловых систем;\\
\pushtabs
\hspace{1.5em} \= mount -t smbfs - o username=tridge, password=foobat //c /data/test\\
      \> \quad - Монтирование сетевого диска //c на каталог /data/test\\
      \> mount -t ext2 /dev/fd0 /mnt \\
      \> \quad - Монтирование флоппи диска с FS ext2 на каталог /mnt\\
      \> mount [-t auto] /dev/fd0 /mnt \\
      \> \quad - Монтирование флоппи диска на каталог /mnt с автоматическим определением системы;\\
      \> mount host:/mnt/export /mnt/local \\
      \> \quad - Монтирование директории /mnt/export удаленной машины host на локальную директорию /mnt/local;\\
      \> mount -t iso9660 -o ro,loop=/dev/loop0 /my.iso /mnt/cdrom2\\ 
      \> \quad - Создание loop из образа CDROM\\
      \> mount -t cdfs /dev/cdrom /mnt/cdrom \\
      \> \quad - Позволяет увидеть/отредактировать CD диск как есть( с сессиями)\\
      \> mount - -bind /home /var/local \\
      \> \quad - Подключить каталог /home к каталогу /var/local\\
\poptabs
\hspace{1em}      Важные опции:\\
\pushtabs
\hspace{2em} \= quiet \hspace{1.5em} \=- Позволяет копировать/переносить файлы без вопросов о невозможности смены user/group;\\
      \> iocharset \>- Кодировка в которой производится ввод/вывод;\\
      \> codepage  \>- Кодовая страница в которой хранится монтируемая файловая система;\\
      \> showexec  \>- Работает для DOS/WIN FS, и отображает корректно запускаемые файлы;\\
      \> rw        \>- Монтировать для чтения-записи;\\
      \> ro        \>- Монтировать только для чтения;\\
\poptabs
  umount   \>- Отмонтировать файловую систему;\\
  usermount \>- Графический монтировщик сменных устройств для обычного пользователя;\\
  mkfs     \>- Создает FS указаного типа как на физический раздел так и в файл;\\
  make2fs  \>- Создание FS типа 2fs;\\
\hspace{1em} make2fs /dev/fd0 1440 - Создает файловую систему размером 1440 Кб на флоппи диске\\
  fsck(e2fsck) \>- Проверка файловой системы;\\
  tune2fs    \>- Изменение параметров смонтированной ext2/ext3;\\
  resize2fs  \>- Изменение размера файловой системы ext2/ext3 на разделе (в связке с LVM);\\
  resize_reiserfs - Изменение размера файловой reiserfs системы на разделе (в связке с LVM);\\
  fdformat   \>- Форматирование дискеты;\\
  hdparm     \>- Установка параметров дисковой подсистемы;\\
  quotastats \>- Состояние квот файловой системы;\\
  quotacheck \>- Проверка квот;\\
  edquota    \>- Редактирование квот;\\
  quota      \>- Квоты для текущего пользователя;\\
  quotaon    \>- Включение квот;\\
  quotaoff   \>- Выключение квот;\\
  loadlin.exe \>- Загрузка ядра linux из DOS;\\
  fdisk      \>- Работа с разделами диска;\\
  cfdisk     \>- Конфигурация разделов диска;\\
  parted     \>- Очень мощный манипулятор дисковыми разделами;\\
  sync       \>- Экстренный сброс буферов на диск;\\
  losetup    \>- Создание петлевого устройства(loop) с криптованием;\\
\quad losetup -k 192 -e aes /dev/loop4 /tmp/file.iso  //Создание loop4 в file.iso с криптованием.\\
  swapoff    \>- Отключить свопинг;\\
  swapon     \>- Включить свопинг;\\
\end{tabbing}

\subsection{General}
\begin{tabbing}
  ls \hspace{4em} \=- Листинг директории;\\
  cd       \>- Смена директории ('~' - домашняя; '-' - предыдущая);\\
  cp       \>- Копирование файлов и директорий;\\
  rm       \>- Удаление файлов и директорий;\\
  tree     \>- Дерево части файловой системы;\\
  ln       \>- Создание и обслуживание ссылок;\\
  symlinks \>- Утилита обслуживания символьных ссылок в системе;\\
  mknod    \>- Создание специальных файлов;\\
  mkfifo   \>- Создание именованного канала;\\
  touch    \>- Обновляет отметку времени файла или создает пустой файл при его \\
\quad отсутствии (Можно также " > file.tst ");\\
  find     \>- Поиск:\\
\quad -type \>- тип выводимых файлов;\\
\quad -name \>- имя искомого файла;\\
\quad -size \>- размер искомого файла;\\
  locate   \>- Поиск файла из уже созданной базы;\\
  updatedb \>- Создание и обновление базы данных для команды locate;\\
  which,whereis - Показывает полный путь к искомой программе;\\
  grep     \>- Поиск указаной строки в указанных файлах;\\
\quad grep 'str' mifile.txt\\
  sed      \>- Потоковый редактор;\\
  awk      \>- Манипулирование файлами данных, выборка и обработка текста;\\
  wc       \>- Подсчет количества строк, символов слов в файле;\\
  test     \>- Выполнение логических операций сравнений;\\
  tee      \>- Читает из стандартного входа - записует в стандартный выход и в файл;\\
  let,bc,expr \>- Вычисляет арифметические, логические и другие действия над числовыми значениями \\
\quad в переменных окружения;\\
  nohup    \>- Запуск команды отвязанной от терминала;\\
  cal      \>- Календарь, за любой год;\\
  history  \>- Печатает нумерованный список истории команд. Что позволяет вызвать строку по номеру - \verb+!#+ \\
  date     \>- Отображает текущую дату и время;\\
  rdate    \>- Показывает текущую дату и время на удаленной машине, а также\\
\quad устанавливает на локальной машине время в соответствии с временем на удаленной;\\
  sort     \>- Сортировка данных в файле/потоке;\\
  strings  \>- Вывод символьных сообщений из не текстового файла;\\
  clear    \>- Очистка экрана;\\
  dd       \>- Преобразование, создание и другие манипуляции с файлами:\\
\quad dd if=/dev/zero of=/swap bs=1024 count=8208   // Создание пустого файла swap размером 8Мб\\
\quad dd if=/dev/fd0 of=boot.img bs=18k             // Создание образа из дискеты\\
  hexdump  \>- Печать входного потока в указанном формате (DEC,HEX,OCT,ASCII);\\
  head     \>- Печатает заголовки указанных файлов;\\
  tail     \>- Печатает указанное количество строк от конца файла;\\
  cut      \>- Вырезает из входного файла столбцы, строки;\\
  echo     \>- Выполняет эхо-повтор строки на терминале;\\
  tr       \>- Трансляция символов (Преобразование/замена одних на другие);\\
  fg       \>- Перевести остановленную (Ctrl+Z) job на передний план;\\
  bg       \>- Перевести остановленную (Ctrl+Z) job на задний план;\\
  screen   \>- Открыть команду в новом окне того же терминала с возможностью переключения - Ctrl+A;\\
  pidof	   \>- Показывает PID работающей программы;\\
  ps       \>- Показывает запущенные в системе процессы;\\
  pstree   \>- Показывает дерево запущенных процессов;\\
  ipcs     \>- Показывает ресурсы используемые IPC;\\
  ipcrm    \>- Удаляет ресурсы используемые IPC;\\
  sleep    \>- Усыпляет данный процесс на указанное количество секунд;\\
  exit     \>- Завершить процесс с указанным кодом возврата;\\
  chkconfig \>- Конфигурация уровней загрузки различных сервисов;\\
  printtool \>- Настройка принтера;\\
  epr      \>- Печать экрана;\\
  file     \>- определение типа любого файла;\\
  stat     \>- Вывод информации о состоянии файла;\\
  kbd_mode \>- Установка режима работы клавиатуры(RAW, MEDIUMRAW, XLATE, UNICODE);\\
  nice,snice \>- Запуск команды с иным приоритетом (-20-20);\\
  renice   \>- Изменение приоритета активного процесса;\\
  rpm      \>- Работа с бинарными пакетами\\
\pushtabs
\quad \= -i  packet \quad \=- установить пакет;\\
      \> -e  packet \>- Удалить пакет;\\
      \> -U  packet \>- Обновить пакет;\\
      \> -V  packet \>- Проверка корректности установки/текущего состояния указанного пакета;\\
      \> -a         \>- выполнение указанной операции для всех пакетов;\\
      \> -q         \>- Запрос данных о пакете:\\
      \> \quad f \>- Поиск пакета которому принадлежит указанный файл;\\
      \> \quad i \>- вывод информации о пакете;\\
      \> \quad l \>- список файлов, принадлежащих пакету;\\
      \> \quad s \>- состояние файлов пакета;\\
      \> \quad d \>- список файлов документации пакета;\\
      \> \quad c \>- список конфигурационных файлов пакета;\\
      \> \quad p \>- выполнить операцию над ещё неустановленным пакетом;\\
\poptabs
rpmbuild \>- Работа с исходными пакетами\\
\pushtabs      
\quad \= -b файл.spec \quad \=- Частичная или полная обработка *.spec файла;\\
      \> \quad a \>- Создание бинарного и исходного rpm пакета;\\
      \> \quad b \>- Создание бинарного rpm пакета;\\
      \> \quad c \>- Выполнение этапов: \%pre и \%build с распаковкой и компиляцией;\\
      \> \quad i \>- Выполнение этапов: \%pre, \%build и \%install;\\
      \> \quad l \>- Проверка списка файлов в \%files;\\
      \> \quad p \>- Выполняется этап \%pre (распаковка архива);\\
      \>- -rebuild my.src.rpm - Скомпилировать и создать бинарный rpm из исходного rpm;\\
      \>- -recompile my.src.rpm - Скомпилировать из исходного rpm;\\
      \>- -test  \>- Проверка файла спецификаций;\\
      \>- -clean \>- Удаление дерева каталогов BUILD;\\
\poptabs
  md5sum   \>- Подсчёт md5 суммы;\\
  purp     \>- Управление rpm пакетами из консоли (ncurses);\\
  rpm2tgz  \>- Преобразует rpm пакет в *.tgz;\\
  yum      \>- Утилита автоматического обновления(с учетом зависимостей) установленных пакетов;\\
  cpio     \>- Копирование файлов в архив из архива (может использоваться для архивов неизвестных фарматов);\\
  tar      \>- Создание архивов и пакетов;\\
\pushtabs
\quad \= -v \hspace{3em} \= - Отображать список обработанных файлов;\\
 \> -с        \> - Создавать новый архив;\\
 \> -x        \>      - Распаковать архив;\\
 \> -f <file> \>- Упаковывать в указанный файл <file>;\\
 \> -z        \>- Выполнять сжатие полученого пакета программой gzip;\\
 \> -t        \>- Просмотр содержимого архива;\\
\poptabs
  gzip        \>- Зажатие и разжатие файлов:\\
\pushtabs
\quad \= -<n> \=- Выполнить компрессию с уровнем <n>=(1..9);\\
      \> -d   \>- Декомпрессия;\\
\poptabs
  gzexe    \>- архивирование исполняемых модулей, с распаковкой при запуске;\\
  split/csplit \>- Разбиение/сбор больших файлов на куски;\\
  kill, skill  \>- Посылка сигнала процессу;\\
  minicom, xminicom - установка соединения с другой системой по COM;\\
  logrotate \>- Утилита для автоматической упаковки и чистки логов;\\
  kbdconfig \>- Конфигурация клавиатуры;\\
  timeconfig \>- Конфигурированние времени;\\
  ntpdate    \>- Утилита синхронизации времени через Internet(www.ntp.org);\\
\end{tabbing}

\subsection{Редакторы/просмотрщики}

\begin{tabbing}
  cat, zcat \qquad  \=- Просто выдает указанные файлы на STDOUT;\\
  more, less, zless - Просмотр файла постранично;\\
  vi, vim           \>- Очень мощный текстовый редактор с оригинальным управлением;\\
  vimdiff            \>- Просмотр сравниваемых файлов в vim;\\
\end{tabbing}

\subsection{X (графическая система)}

\begin{tabbing}
  appres \hspace{3em} \=- информация о ресурсах X приложений;\\
  glxingo   \>- Информация о расширенни GLX;\\
  gnome-session \>- Запуск файлового менеджера GNOME;\\
  import        \>- Создаёт скриншот X экрана или конкретного окна;\\
  lsfonts, xlsfonts - вывод списка шрифтов;\\
  mkfontdir \>- Создает раскодировщик шрифтов в текущем каталоге из указаного каталога;\\
\quad mkfontdir -e /usr/X11R6/lib/X11/fonts/encodings\\
  startkde  \>- Запуск файлового менеджера KDE;\\
  startx    \>- Скрипт запуска X;\\
\quad startx -- :2  // Запуск еще одного экземпляра X, под номером 2.\\
\quad startx -- -depth 24  // Запуск X - сервера с глубиной цвета 24 бита;\\
  superprobe \>- Тест видео MS;\\
  switchdesk \>- Переключение оконного менеджера, запускается при следующем запуске startx;\\
  ttmkfdir   \>- Создание директории TTF шрифтов.\\
\quad ttmkfdir > fonts.scale - После можно скопировать в fonts.dir\\
  xf86config \>- Конфигурация X;\\
  xfontsel   \>- Выбор X шрифтов;\\
  xfs        \>- Сервер шрифтов;\\
  xhost      \>- Добавления и удаление хостов, X приложения которого надо запускать на данной машине;\\
  xinit      \>- Запуск X, а затем указанное приложение (по умолчанию - xterm);\\
\quad xinit /usr/bin/icewm -- :1\\
  xkill      \>- Завершение оконного приложения;\\
  xloadimage \>- Позволяет загружать, преобразовывать и отображать графические рисунки;\\
  xlock      \>- Блокирование терминала X;\\
  xmag       \>- увеличение части экрана;\\
  Xmodmap    \>- изменение раскладки клавиатуры в X;\\
  xrefresh   \>- Перерисовка экрана;\\
  xset       \>- Установка некоторых переменных X;\\
  xsetroot   \>- Установка вида корневого каталога;\\
  xvidtune   \>- Настройка параметров монитора. Может быть запущена для сетевого монитора;\\
  xvinfo     \>- Информация о расширении Xv;\\
  xwininfo   \>- Печать информации об указанном окне;\\
  xwd        \>- Захват изображения на экране;\\
\end{tabbing}

\subsection{Железо}

\begin{tabbing}
  hwclock   \hspace{3em} \=- Установка, считывания аппаратных часов (CMOS);\\
  lpr        \>- Печать с файла или с потока на указанный принтер;\\
\quad lpr -P lp1 my.txt     // Печать файл my.txt на принтер lp1\\
  lpq, lpstat \>- состояние очереди печати;\\
  lprm       \>- Удаление задания печати из очереди;\\
  lspci     \>- Выводит листинг устройств на PCI - шине;\\
  modemtool \>- Установка порта на котором установлен модем (создаёт ссылку /dev/modem);\\
  mpage      \>- Печать на одной странице нескольких страниц;\\
  pbm*       \>- Преобразование, из графического формата *.pdm в формат принтера [*];\\
  powertweak, gpowertweak - Утилита управления настройками ядра (через sysctl);\\
  pr         \>- форматирование, текстового файла для печати;\\
  setleds    \>- Установить светодиоды на клавиатуре;\\
  setserial  \>- Установка COM портов;\\
  setterm    \>- Установка параметров терминала;\\
  smbprint   \>- Сценарий для печати на SMB-принтерах;\\
  sndconfig  \>- Утилита конфигурирования звуковой платы;\\
  statserial \>- Показывает состояние serial-порта;\\
  testprns   \>- Проверка доступности указанного принтера;\\
  tunelp     \>- Установка параметров параллельного порта;\\
  usbview    \>- X-утилита просмотра и конфигурированнияя USB-устройств;\\
\end{tabbing}

\subsection{Диагностика, Информация}

\begin{tabbing}
  arch   \hspace{3em} \=- Архитектура текущей системы;\\
  badblock \>- Поиск плохих блоков на носителе (HDD, FDD);\\
  df, kdf  \>- Информация о файловых системах на данной машине;\\
  dmesg    \>- Показать лог о загрузке ядра;\\
  dumpkeys \>- Dump карты клавиатуры;\\
  fgconsole \>- Номер текущего терминала;\\
  free     \>- Информация о состоянии памяти;\\
  fuser    \>- Выдает список процессов использующих указанный файл или сокет,\\ 
           \>а также позволяет закрывать процессы занимающие ресурс;\\
  listres  \>- вывод X - ресурсов;\\
  lsof     \>- Печатает лист открытых в системе файлов, сокетов, каналов, разделяемых библиотек;\\
   \quad -p <n> \>- Список системных ресурсов используемых <n> процессом.\\
   \quad <name> \>- Список процессов использующих ресурс <name>.\\
  printenv, env \>- Выдает все настройки переменных окружения;\\
  showkey  \>- Утилита для отображения сканкодов клавиш и кодов мапированных системой;\\
  showrgb  \>- Наименования и значения стандартных цветов;\\
  SuperProbe \>- Тест видеоконтроллера;\\
  time     \>- Возвращает информацию о выполненной команде: время, память .. ;\\
  tload    \>- Информация о загрузке системы;\\
  top, gtop \>- Вывод информации о процессах с сортировкой по занимаемому времени;\\
  tty      \>- Имя текущего певдотерминала;\\ 
  vmstat   \>- Информация об использовании виртуальной памяти;\\
  X11perf  \>- просмотр производительности X сервера;\\
  xdpyinfo \>- информация о дисплее;\\
  xev      \>- просмотр информации о событиях в окне;\\
  xosview  \>- Удобно выводит основную информацию о ОС;\\
  xprop    \>- вывод реквизитов окна;\\
  uname    \>- Печатает информацию о текущей OS;\\
  usernet  \>- График нагрузки сети (GTK);\\
\end{tabbing}

\subsection{Программирование}
\begin{tabbing}
  aclocal \hspace{3em} \=- Утилита генерации макроса aclocal.m4 из файла configure.in;\\
  ar       \>- Создание/редактирование архивов(статических библиотек) из объектных модулей.\\
  autoconf \>- Утилита генерации скрипта configure, из файла configure.in;\\
  automake \>- Утилита генерации Makefile.in, из файла Makefile.am;\\
   \quad r \>- добавление новых и замена старых файлов.\\
   \quad c \>- создание библиотеки при её отсутствии.\\
  cpp      \>- Препроцессор, обычно вызывается из gcc;\\
  cproto   \>- Генерирует прототипы "С" функций и преобразует объявления функций;\\
  ctags    \>- Генерирует тег-файл для облегчения навигации по коду (используется VIM);\\
   \quad -e   \>- эмуляция etags для генерации тег-файлов для emacs;\\
  ctrace   \>- Для прослеживания выполнение C-программы по операторам. ctrace читает исходный\\
           \> текст программы из файла и добавляет в него операторы печати для вывода значений\\
           \> переменных после каждого выполненного оператора. Результат выполнения команды\\
           \> следует направить во временный .c-файл,  который затем использовать как входной\\
           \> для команды cc. Во время выполнения полученного в результате файла a.out будет\\
           \> генерироваться вывод, в котором содержится много полезной информации о событиях в\\
           \> вашей программе.\\
  cxref    \>- Анализирует группу .c-файлов и строит для каждого файла таблицу перекрестных\\
           \> ссылок на автоматические, статические и глобальные имена.\\
  dialog  \>- Позволяет создавать диалоги в консоли из скрипта.\\
  diff     \>- Поиск изменений в сравниваемых текстовых файлах;\\
   \quad diff -uNr каталог.orig каталог > my.patch // Создание патча\\
  f2c      \>- Транслирует исходный код программы на языке "Fortran" в исходный код на языке "C";\\
  gcc      \>- GNU компилятор языка С,С++,ASM (с вызовом линкера);\\
   \pushtabs
   \quad \= -x lang \qquad \=- Определяет язык исходных модулей;\\
    \>-c     \>- Компилирует и собирает ранее или позже перечисленные исходные файлы;\\
    \>-S     \>- Компилирует перечисленные исходные файлы в *.s файлы;\\
    \>-E     \>- Производит первичную обработку исходных файлов;\\
    \>-o rez \>- Собрать перечисленные obj-файлы в один файл <rez>;\\
    \>-L     \>- Определение путей поиска библиотек;\\
    \>-l     \>- Определяет перечень статических библиотек (без lib* и *.a);\\
    \>-w     \>- Запрет отображения предупреждений компилятора;\\
    \>-Wall  \>- Генерировать все возможные предупреждающие сообщения;\\
    \>-pedantic \>- Проверка исходного текста на соответствие стандарту ANSI;\\
    \>-Wl    \>- Различные опции линковщика:\\
    \>\quad ,rpath \>- Определяет дополнительные пути поиска динамических библиотек (-Wl,rpath,/usr/newpath);\\
    \>\quad ,soname \>- Название разделяемой библиотеки (-Wl,-soname,libfuncs.so.1);\\
    \>-fPIC  \>- Создание объектных файлов для динамических библиотек (PIC - Position Independent Code.)\\
    \>-shared \>- Создание динамической библиотеки (совместно с -o)\\
    \>-nostdlib \>- Не использовать стандартные системные запускающие файлы или линкующихся библиотек.\\
    \>-static \>- Принуждает использовать статические библиотеки вместо динамических;\\
    \>-rdynamic \>- Включает возможность использования символьной информации для разрешения ссылок в\\
    \>       \> динамически загружаемых библиотеках;\\
    \>-M     \>- Для каждого файла с исходным текстом препроцессор будет выдавать на стандартный\\
    \>       \>вывод список зависимостей в виде правила для программы make. В список зависимостей\\
    \>       \>попадает сам исходный файл, а также все файлы, включаемые с помощью директив\\
    \>       \>\verb+#include+ <имя_файла> и \verb+#include+ "имя_файла". Генерация объектных файлов не происходит.\\
    \>-MM    \>- Аналогичен ключу -M, но в список зависимостей попадает только сам исходный файл,\\
    \>       \>и файлы, включаемые с помощью директивы \verb+#include+ "имя_файла"\\
    \>-MD    \>- Аналогичен ключу -M, но список зависимостей выдается не на стандартный вывод, а\\
    \>       \>записывается в отдельный файл зависимостей. Имя этого файла формируется из имени исходного\\
    \>       \>файла путем замены его расширения на ".d". Происходит генерация объектных файлов.\\
    \>-MMD   \>- Аналогичен ключу -MD, но в список зависимостей попадает только сам исходный файл,\\
    \>       \>и файлы, включаемые с помощью директивы \verb+#include+ "имя_файла"\\
    \>-pipe  \>- Компилятор будет работать через каналы.\\
    \>-O[n]  \>- Установить уровень оптимизации (n=0..3).\\
    \>-g     \>- Добавить отладочную информацию.\\
    \>-p,-pg \>- Добавить в модуль код для отслеживания узких мест. После выполнения генерируется\\
    \>       \>mon.out файл, который можно обработать утилитой gprof.\\
    \>-masm  \>- Использовать стандарт ассемблера (att|intel).\\
   \poptabs
  gdb      \>- Мощный консольный GNU дебагер;\\
  indent   \>- Утилита форматирования исходного текста под указанные требования;\\
  lclint   \>- Утилита проверки синтаксиса исходных модулей;\\
  ldconfig \>- Активизировать изменения в файле /etc/ld.so.conf\\
  ldd      \>- Показывает динамические библиотеки используемые программой\\
  lint     \>- Обнаруживает в C-программах конструкции, которые могут привести к ошибкам во\\
           \> время выполнения, расточительно используют ресурсы или могут снизить мобильность программ.\\
  ltrace   \>- Трассировка динамических библиотек, программы указанной в параметре.\\
  make     \>- Используется для организации сложных проектов из десятков файлов;\\
   \quad --directory \>- Указывает рабочую директорию.\\
   \quad --makefile  \>- Указывает на используемый makefile.\\
   \quad -p          \>- Вызывает вывод списка всех установок по умолчанию;\\
   \quad -j3         \>- Установить количество параллельно компилирующих процессов;\\
  memprof  \>- Программа для определения утечек памяти в программах и др.\\
  mtrace   \>- Обработка лога созданного С-функцией mtrace;\\
  nm    \>- используется для получения различной информации из таблицы имен объектных файлов\\
        \> обычного формата. Объектные файлы могут, но не обязаны, храниться в архиве.\\
  objdump  \>- Позволяет получить много информации об объектном файле, а также дизасемблировать его.\\
  od       \>- Печать дампа файла;\\
  p2c      \>- Транслирует исходный код программы на языке "Pascal" в исходный код на языке "C";\\
  patch    \>- Внесение изменений в файл исходя из файла изменений;\\
   \quad patch -p1 < ../my.patch - Внесение изменений в текущий каталог из my.patch\\
   \quad patch -p1 < my.diff  -\\
  prof, gprof \>- Для получения статистики по времени выполнения каждой функции программы. Для использования \\
           \> этой функции, необходимо скомпилировать с ключем -p.\\
  ranlib   \>- Добавление таблицы индексов библиотеки созданной ar в эту же библиотеку.\\
  SCCS (Source Code Control System) - это набор утилит, предназначенных для управления\\
        \> версиями исходных текстов программ. В состав SCCS входят утилиты admin(1), cdc(1),\\
        \> comb(1), delta(1), get(1), prs(1), rmdel(1), sccsdiff(1), val(1), what(1).\\
  sdb      \>- это символьный отладчик (Symbolic Debugger). Слово "символьный" означает, что во\\
           \> время отладки можно использовать символические имена из программы. С помощью sdb\\
           \> можно  отлаживать программы на языках C и Фортран 77 [если использовался компилятор\\
           \> f77(1)]. sdb можно использовать двумя способами: либо для контролируемого выполнения\\
           \> программы, либо для анализа образа памяти, оставшегося после аварийного завершения\\
           \> программы. В первом случае можно проследить, что происходит при выполнении\\
           \> программы до того места, где она аварийно завершается (или обойти это место, с тем\\
           \> чтобы продолжить выполнение). Во втором случае можно анализировать состояние на\\
           \> момент аварийного завершения программы, что, возможно, позволит выяснить причину\\
           \> неправильного функционирования.\\
  shar     \>- создание самораспаковывающихся кодированных архивов для отправки по почте.\\
  size     \>- выдает количество байт, занимаемое тремя секциями (.text, .data и .bss) объектного\\
           \> файла обычного формата при загрузке его в память для выполнения.\\
  strace   \>- Трассировка системных вызовов, осуществляемых программой указанной в параметре.\\
  strip    \>- удаляет из объектного файла обычного формата таблицу имен и информацию о номерах\\
           \> строк. После применения команды strip количество символов в файле, выдаваемое\\
           \> командой ls -l, приближается к значению, получаемому по команде size. Но файл все\\
           \> еще содержит некоторые заголовки, которые не входят в секции .text, .data или .bss.\\
           \> После  выполнения  команды  strip данный файл уже не допускает символьной отладки.\\
  sum      \>- Расчет контрольной суммы.\\
  Xdialog \>- Позволяет создавать диалоги в X из скрипта.\\
  xmkmf   \>- Типа make, но под X.\\
\end{tabbing}

\subsection{Мультимедия}

\begin{tabbing}
  aumix \qquad \=- Консольный миксер AUDIO;\\
  cdparanoia  \>- Позволяет грабить CD;\\
  play        \>- Проигрывание звуковых файлов;\\
  lame  \>- Преобразование *.wav в *.mp3;\\
  rec   \>- Запись в звуковой файл;\\
\end{tabbing}

\subsection{Сеть}

\begin{tabbing}
  arp   \hspace{5em} \=- Манипуляция системным ARP кешем (манипуляция аппаратными адресами);\\
  gnosamba \>- GUI конфигуратор SAMBA;\\
  gnome-lokkit \>- Настройка межсетевого экрана (упрощенный);\\
  ethereal \>- Мощный анализатор трафика в сетях;\\
  ettercap \>- Снифер;\\
  iptraf   \>- Мощный и удобный сканер сети;\\
  ifconfig \>- Конфигурированние сетевого интерфейса (eth0, ppp0, lp0 ...);\\
\quad down \>- выключить интерфейс;\\
\quad up   \>- включить интерфейс;\\
\quad inet <ip> \>- поднять интерфейс с <ip> адресом;\\
\quad hw ether <mac> - установить MAC адрес интерфейса;\\
\quad eth0:0 \>- Создание псевдонима eth0:0 на интерфейс eth0;\\
  ipchains \>- Утилита Конфигурированниея firewall (ядра 2.2.*);\\
  iptables \>- Утилита Конфигурированниеяя firewall (ядра 2.4.*);\\
  firewall-config - GUI настройка firewall;\\
  neat     \>- GUI утилита конфигурирования сети;\\
  netcfg   \>- Конфигурирование сети. (интерфейсов ...)\\
  netstat  \>- Состояние сети (отображает используемые сокеты и их состояния).\\
\quad -a   \>- Вывод всех сокетов;\\
\quad -e   \>- Показать какой пользователь работает с сокетом в настоящий момент;\\
  nmap,nmapfe \>- Сканер сети и его GUI. Можно получить перечень открытых сокетов и т.д.\\
  nmblookup   \>- Утилита работы с NetBIOS;\\
\quad nmblookup -B Host '*'  - Возвращает IP адрес Host\\
\quad nmblookup -d 2 '*'     - Посылка Broadcast сообщений на все адреса\\
  ping     \>- Проверка связи с удаленным хостом.\\
  route    \>- Управление таблицей маршрутизации.\\
\quad delete \>- удаление указанного роутинга;\\
\quad add    \>- добавление указанного роутинга;\\
  smbclient \>- Различные опции для работы клиента с SMB.\\
  smbprint \>- Печать на принтер SMB.\\
  socklist \>- Отображает активные сокеты.\\
  traceroute \>- Проверка роутинга TCP.\\
  tcpdump  \>- Дамп TCP сети\\
  testparm \>- Проверка параметров файла smb.conf\\
  traceroute \>- Проверка роутинга TCP.\\
  kwuftpd    \>- GUI конфигуратор ftp-сервера wu-ftp;\\
\end{tabbing}

\section{Процедуры}

\subsection{Компиляция ядра}
\begin{tabbing}
\quad \=- make config(menuconfig, xconfig) - конфигурированние;\\
 \>- make dep - создание файлов зависимостей;\\
 \>- make clean   - очистка от ранее скомпилированных модулей;\\
 \>- make [bzImage] - компилирование ядра;\\
 \>- make install - установка ядра;\\
 \>- make modules - компилирование модулей;\\
 \>- make modules_install - установка модулей;\\
\end{tabbing}

\subsection{Создание swap}
\begin{tabbing}
\quad \=- dd if=/dev/zero of=/swap bs=1024 count=8208\\
 \>- mkswap /swap 8208\\
 \>- /bin/sync\\
 \>- swapon /swap   (отключение - swapoff)\\
\end{tabbing}

\subsection{Эмуляция SCSI CDROM}
\begin{tabbing}
\quad \= \quad \= \textbf{Вариант 1}: \\
 \>- Скомпилировать ядро с поддержкой scsi в ядре и включить статически опцию эмуляции scsi;\\
 \>- Передать ядру hdx=scsi-ide;\\
 \> \> \textbf{Вариант 2}:\\
 \>- Скомпилировать ядро с поддержкой scsi модулем и включить модулем опцию эмуляции scsi;\\
 \>- Передать ядру hdx=scsi-ide;\\
 \>- Добавить в /etc/modules.conf:\\
 \> \>- alias scd0 sr_mod                 // загружает sr_mod при доступе к scd0\\
 \> \>- alias scsi_hostadaptor ide_scsi   // эмуляция адаптера SCSI\\
 \> \>- options ide_cd ignore=hdx         // если ваш CD-writer - /dev/hdb\\
\end{tabbing}

\subsection{Смена имени системы}
\quad - изменить имя в /etc/sysconfig/network\\
\quad - изменить имя в /etc/hosts\\
\subsection{Удалённое подключение с использованием X-сервера, для запуска GUI приложений}
\begin{tabbing}
\quad \= - Запустить X-сервер:                        startx (xinit -- :1)\\
 \> - Зарегистрировать машину сервера у клиента: xhost +server\\ 
 \> - Подключиться к удаленной машине:           telnet server -l UserName\\
 \> - Установить переменную DISPLAY:             export DISPLAY=Client:0.0\\
 \> - Запустить оконный менеджер:                startkde\\
\end{tabbing}
\subsection{Установка консоли}
\begin{tabbing}
\quad \= - \verb+consolechars -f UniCyr_8x16 -m koi8-r;+\\
 \> - \verb+echo -ne "\033(K";+\\
 \> - \verb+loadkeys ru1;+\\
\end{tabbing}
\subsection{Подготовка и компиляция проектов на основе autoconf/automake}
\begin{tabbing}
 \quad \= - Генерация локализационных файлов: gettextize -f -c\\
 \> - Генерация файла config.h.in из acconfig.h:  autoheader\\
 \> - Автоматическая генерация cofigure.scan и проверка configure.in:   autoscan\\
 \> - Создание списка идентификаторов которые используются в препроцессоре:  ifnames\\
 \> - Генерация макроса aclocal.m4:     aclocal -I -m4\\
 \> - Генерация скрипта configure:      autoconf, autoreconf\\
 \> - Генерация файла Makefile.in:      automake -a -c\\
 \> - Генерация Makefile:               configure\\
 \> - Компиляция проекта:               make\\
 \> - Установка программы:              make install\\
\end{tabbing}
\subsection{Форматирование дискет, создание FS, проверка FS}
\begin{tabbing}
 \quad \= - fdformat  /dev/fd0\\
 \> - mkfs.vfat /dev/fd0\\
 \> - ckfs.vfat -ta /dev/fd0\\
\end{tabbing}
\subsection{Создание зашифрованых ФС}
\begin{tabbing}
 \quad \= - Создание файла для будущей FS:\\
 \> \textbf{dd if=/dev/zero of=./sequre_disk bs=1024 count=50000}\\
 \> - Создание шифрованого loop устройства:\\
 \> \textbf{losetup -e aes /dev/loop0 ./sequre_disk}\\
 \> - Cоздание файловой системы на loop устройстве:\\
 \> \textbf{mkfs.ext3 /dev/loop0}\\
 \> - Отключение loop устройства:\\
 \> \textbf{losetup -d /dev/loop0}\\
 \> - Обычное монтирование шифрованой ФС:\\
 \> \textbf{mount -o loop,encryption=aes ./sequre_disk /mnt/tmp/}\\
\end{tabbing}
\subsection{Подготовка к проверке выделения памяти с помощью Electric Fence}
\quad - Подключить динамическую библиотеку -lefence\\
\subsection{Подготовка к проверке выделения памяти с помощью mtrace}
\begin{tabbing}
\quad \= - Добавить в программу: \verb+#include <mcheck.h> и mtrace()+\\
 \> - Добавить переменную окружения: \verb+%export MALLOC_TRACE=mem.log+\\
 \> - Обработать сгенерированный файл: \verb+%mtrace my_prog $MALLOC_TRACE+\\
\end{tabbing}
\subsection{Подключение дисковых квот}
\begin{tabbing}
\quad \= - Добавить опции usrquota, grpquota для выбранных разделов в файле /etc/fstab;\\
 \> - создать файлы quota.user и quota.group в корне выбранных разделов;\\
 \> - выполнить проверку квот   "quotacheck -avugm"\\
 \> - включить квоты            "quotaon -avug"\\
 \> - редактирование квот для конкретного пользователя "edquota -u user"\\
 \> - Проверка состояния квот   "repquota -a"\\
\end{tabbing}
\subsection{Печать страниц документации}
\begin{tabbing}
\quad \= - man man | col -b | lpr\\
 \> - info man | col -b | lpr\\
\end{tabbing}
\subsection{Настройка ssh}
\begin{tabbing}
\quad \= - На локальной машине сгенерировать свои ключи в "~/.ssh/": \\
 \> \quad \textbf{ssh-keygen}\\
 \> - Передать любым способом публичный ключ на удалённый сервер:\\ 
 \> \quad \textbf{scp ./identity.pub remoteserv:~/.ssh/}\\
 \> - Авторизировать свой открытый ключ:\\
 \> \quad \textbf{cat ~/.ssh/identity.pub >> ~/.ssh/authorized_keys}\\
 \> - Можно соединятся с удалённым сервером:\\
 \> \quad \textbf{ssh remoteserv}\\
\end{tabbing}
\subsection{Создание ramdisk (диска в памяти)}
\begin{tabbing}
\quad \= - mkfs /dev/ram0\\
 \> - mount /dev/ram0 /mnt/disk\\
\end{tabbing}
\subsection{Создание, использование и обслуживание LVM}
\begin{tabbing}
\quad \= vgscan \hspace{4em} \= - поиск по системе виртуальных групп VG;\\
 \> vgchange \> - изменение состояния виртуальной группы:\\
 \> \quad -ay \> - активизировать виртуальную группу;\\
 \> \quad -an \> - деактивизировать виртуальную группу;\\ 
 \> pvscan \> - поиск доступных физических томов и отображение сравнительной информации о них;\\
 \> pvdisplay /dev/hda1 - просмотреть информацию о физическом томе;\\
 \> pvcreate /dev/hda1 - подготовка физического тома PV (тип раздела 8Eh);\\
 \> pvmove /dev/hda1 - освобождение физического тома (перенос данных на другие физические тома);\\
 \> vgdisplay vg00 \> - просмотреть информацию о виртуальной группе;\\
 \> vgcreate vg00 /dev/hda1 /dev/hdb1 - создание виртуальной группы на основе двух физических томов;\\
 \> vgremove vg00 \> - удаление виртуальной группы;\\ 
 \> vgextend vg00 /dev/hdc1 - добавление физического тома к виртуальной группе;\\
 \> vgreduce vg00 /dev/hda1 - удаление физического тома из виртуальной группы;\\
 \> vgexport vg00 \> - подготовка виртуальной группы для переноса на иную машину;\\
 \> vgimport vg00 /dev/hda1 /dev/hda2 - импорт виртуальной группы (с другой машины);\\
 \> lvcreate -L1500 -nlv00 vg00 - создание логического тома (LV) с именем nlv00 и размером 1500 Мб;\\
 \> lvremove /dev/vg00/home - удаление логического тома;\\
 \> lvextend -L120M /dev/vg00/home - увеличение размер логического тома до указаной величины;\\
 \> lvextend -L+100M /dev/vg00/home - увеличение размер логического тома на указаную величину;\\
 \> lvreduce -L120M /dev/vg00/home - уменьшить размер логического тома до указаной величины;\\
 \> lvreduce -L-100M /dev/vg00/home - уменьшение размер логического тома на указаную величину;\\
 \> e2fsadm  -L+100M /dev/vg00/home - изменение размер логического тома с файловой системой ext2/ext3;\\
\end{tabbing}
\subsection{Добавление в программу поддержки i18n}
\begin{tabbing}
\quad \= - \= Добавить к проекту:\\ 
 \> \> \#include <libintl.h>;\\
 \> \> \#define _(String) gettext(String);\\
 \> \> setlocale (LC_CTYPE, "");\\
 \> \> setlocale (LC_MESSAGES, "");\\
 \> \> bindtextdomain (DOMAIN,"/usr/share/locale");\\
 \> \> textdomain ("DOMAIN");\\
 \> - Все строки подлежащие переводу определить как _("my str");\\
 \> - Создать исходя из проекта POT файл командой:\\
 \> \> xgettext -o po/prog.pot -d prog -C -a *.cc *.h\\
 \> - Скопировать po/prog.pot файл в файл с именем типа uk.po. Отредактировать шапочку и переводы сообщений;\\
 \> - Для обновления PO файла после модификации исходников, выполнить:\\
 \> \> msgmerge -U old.po new.pot\\
 \> - Сформировать бинарный файл:\\
 \> \> msgfmt -vo prog.mo uk.po   (обратно msgunfmt)\\
 \> - Скопировать полученый prog.mo в каталог соответствующего языка:\\
 \> \> cp ./prog.mo /usr/share/locale/uk/LC_MESSAGES\\
\end{tabbing}

\section{Устройства}
\subsection{Типы}
\begin{tabbing}
\textbf{b} \quad \= - блочные;\\
\textbf{c} \> символьные;\\
\textbf{-} \> обычный файл;\\
\textbf{d} \> каталог;\\
\textbf{l} \> символьная ссылка;\\
\textbf{p} \> именованный канал;\\ 
\textbf{s} \> сокет;\\
\end{tabbing}
\subsection{Файлы устройств (в каталоге /dev)}
\begin{tabbing}
null \qquad \= - Нулевое устройство, данные в котором исчезают;\\
full \> - Имитация полного устройства, при записи и генерация нулей, при чтении (для отладки программ);\\
port \> - Порты IO; \\
zero \> - Неисчерпаемый источник нулей;\\
random \> - Источник случайных чисел (медленный; более случайный);\\
urandom \> - Источник случайных чисел (быстрый; менее случайный);\\
psaux   \> - Порт мыши PS/2;\\
scd[x]  \> - SCSI устройства (x=0..n);\\
sg[x]   \> - Обобщенные устройства SCSI аппаратуры (x=0..n);\\
hd[x][y]\> - Стандартное IDE устройство, где x отдельное устройство, y - раздел устройства (x=a..z; y=1..n);\\
fd[*]   \> - Флоппи устройство;\\
loop[x] \> - Петлевые устройства (x=0..n);\\
mem     \> - Физическая память;\\
kmem    \> - Виртуальная память ядра;\\
tty     \> - Управляющий терминал выполняемого процесса;\\
tty[y][x] \> - Терминальные устройства (y=S - COM порты);\\
vcs[x]  \> - Получение снимка экрана виртуальной консоли <x> (x=0..n);\\
vcsa[x] \> - Получение снимка экрана виртуальной консоли <x> с заголовком и байтами атрибутов (x=0..n);\\
eth[x]  \> - Устройства связи с Ethernet (различные сетевые карты) (x=0..n);\\
sl[x]   \> - Интерфейсы для связи по протоколу SLIP (x=0..n);\\
lp[x]   \> - Параллельные порты (x=0..n);\\
ram[x]  \> - Виртуальный диск, в памяти (x=0..n);\\
ramdisk \> - --//--\\
sndstat \> - Состояние звукового драйвера;\\
audio[x] \> - Устройство звукового вывода, совместимое с форматом Sun (x=0..n);\\
dsp[x]  \> - Устройство квантования звука (x=0..n);\\
mixer[x] \> - Для управления микшерными аппаратными средствами на звуковой плате (x=0..n);\\
music    \> - Интерфейс высокого уровня для последовательного воспроизведения звука;\\
midi[x]  \> - Устройство непосредственного доступа к порту (x=0..n);\\
\end{tabbing}

\section{Горячие клавиши}
\subsection{BASH}
\subsubsection{Основные}
\begin{tabbing}
 \verb-Ctrl+H(?)- \quad \=- Erase "<-";\\
 \verb-Ctrl+C-    \>- Прервать текущий процесс (сигнал SIGINT);\\
 \verb-Ctrl+\-    \>- Interrupt within core damp;\\
 \verb-Ctrl+D-    \>- Eof (выход из консольного пользовательского процесса);\\
 \verb-Ctrl+S-    \>- Остановить процесс;\\
 \verb-Ctrl+Q-    \>- Запустить процесс;\\
 \verb-Ctrl+Z-    \>- Перевести процесс в фоновый режим;\\
 \verb-Ctrl+J-    \>- Сброс параметров терминала;\\
 \verb-Crtl+W-    \>- Удалить последнее слово;\\
 \verb-Ctrl+M-    \>- Аналог клавиши "Enter";\\
 \verb-Ctrl+R-    \>- Переводит в режим поиска команды в истории. Повторное нажатие перебирает сходные по маске строки;\\
 \verb-Ctrl+L-    \>- Очистка экрана;\\
 \verb-TAB-       \>- Автозавершение команд;\\
 \verb-ScrLock-   \>- Приостановка выполнения(печати) текущей команды;\\
 \verb-Ctrl+Alt+Del- - Закрыть систему и перегрузится;\\
\end{tabbing}  
\subsubsection{Навигация}
\begin{tabbing}
 \verb-Up; Down- \quad \=- Просмотр и редактирование истории команд;\\
 \verb-Alt+Left-  \>- Переключение по терминалам влево(консоль);\\
 \verb-Alt+Right- \>- Переключение по терминалам вправо(консоль);\\
 \verb-Sh+PgUp-   \>- Прокрутка текста вверх;\\
 \verb-Sh+PgDown- \>- Прокрутка текста вниз;\\
 \verb-Ctrl+B-    \>- На символ назад;\\
 \verb-Ctrl+F-    \>- На символ вперёд;\\
 \verb-Alt+B-     \>- На слово вперёд;\\
 \verb-Alt+F-     \>- На слово назад;\\
 \verb-Ctrl+A-    \>- Переводит курсор в начало строки;\\
 \verb-Ctrl+E-    \>- Переводит курсор в конец строки;\\
\end{tabbing}  

\subsubsection{Редактирование}
\begin{tabbing}
  \verb-Ctrl+D- \quad \=- Удаление символа в позиции курсора;\\
  \verb-Ctrl+H-   \>- Удаление символа перед позицией курсора;\\
  \verb-Alt+D-    \>- Удаление символов до ближайшего справа пробела;\\
  \verb-Ctrl+W-   \>- Удаление символов до ближайшего слева пробела;\\
  \verb-Ctrl+U-   \>- Очистить строку ввода слева от курсора;\\
  \verb-Ctrl+K-   \>- Очистить строку ввода справа от курсора;\\
  \verb-Ctrl+T-   \>- Смена положения соседних символов;\\
  \verb=Ctrl+_=   \>- Откат редактирования;\\
  \verb=Ctrl+X,Ctrl+U= - ----//----;\\
  \verb=MidlMouse= - Вставляет текст, выделенный в данный момент в другом месте;\\
\end{tabbing}  
                 
\subsection{X}
\begin{tabbing}
 \verb-Ctrl+Alt+F[n]- \quad  \=- Переключение между псевдотерминалами;\\
 \verb-Ctrl+Alt+<+>-  \>- Сменить разрешение на следующее (прописаных в XF86Config);\\
 \verb|Ctrl+Alt+<->|  \>- Сменить разрешение на предыдущее (прописаных в XF86Config);\\ 
 \verb-Ctrl+Alt+ESC-  \>- Режим удаления указанного окна;\\ 
 \verb-Ctrl+Alt+BkSpc- \>- Закрыть текущий X сервер;\\ 
 \verb=MidlMouse= - Вставляет текст, выделенный в данный момент в другом месте;\\
\end{tabbing}  

\subsection{KDE}
\begin{tabbing}
 \verb-Alt+Tab-  \qquad  \=- Переход между окнами в прямом направлении;\\
 \verb-Alt+Sh+Tab-  \>- Переход между окнами в обратном направлении;\\
 \verb-Ctrl+Tab-    \>- Переход между рабочими столами в прямом направлении;\\
 \verb-Ctrl+Sh+Tab- \>- Переход между рабочими столами в обратном направлении;\\
 \verb-Ctrl+Esc-    \>- Показать таблицу активных процессов (ksysguard);\\
 \verb-Alt+F1-      \>- Вызвать K-меню;\\
 \verb-Alt+F12-     \>- Эмулировать мышь стрелками клавиатуры;\\
 \verb-Alt+LeftMouse- - Перенести окно за любую видимую его часть;\\
 \verb-Alt+PrScreen- - Сделать снимок текущего окна в буфер обмена;\\
 \verb-Ctrl+Alt+l-  \>- Запереть рабочий стол;\\
 \verb-Ctrl+Alt+d-  \>- Спрятать/показать рабочий стол;\\
\end{tabbing}  

\subsection{SysRQ ядра (Alt+SysRq+Key)}
\begin{tabbing}
  r \quad \=- Отключает режим непосредственной передачи символов с клавиатуры и устанавливает её в режим XLATE;\\
  k       \>- Уничтожает все процессы на текущей виртуальной консоли;\\
  b       \>- Немедленно перезапускает систему;\\
  o       \>- Отключить питание системы через АРМ;\\
  s       \>- Синхронизировать все файловые системы;\\
  u       \>- Демонтирует и перемонтирует все смонтированные файловые системы в режиме только для чтения;\\
  p       \>- Вывести текущее значение регистров и флагов на консоль;\\
  t       \>- Вывести список текущих задач и информацию о них на консоль;\\
  m       \>- Вывести текущее состояние памяти на консоль;\\
  0-9     \>- Устанавливает уровень выдачи сообщений на консоль для фильтрации сообщений ядра;\\
  e/i     \>- Посылает сигналы term или kill всем процессам, кроме init;\\
  l       \>- Посылает SIGKILL всем процессам, включая init;\\
\end{tabbing}  


\section{Форматы файлов и команды используемые в них}
\subsection{XF86Config, XF86Config-4}
\subsubsection{Section <Keyboard>}
\begin{tabbing}
Option \hspace{3em}  \=- Дополнительные опции клавиатуры:\\
\quad XkbLayout  \>- Раскладка (ru,ua);\\
\quad XkbVariant \>- Вариант раскладки (winkeys);\\
\quad XkbOptions \>- Опции клавиатуры (клавиши переключения):\\
\quad \quad grp:ctrl_shift_toggle \=- переключение с помощью Ctrl-Shift;\\
\quad \quad grp_led:scroll        \>- Использовать светодиод scroll для индикации переключения группы раскладки;\\
\end{tabbing}          
\subsubsection{Section <Monitor>}
\begin{tabbing}
Option \quad - Дополнительные опции монитора:\\
\quad "dpms" \quad - Включить режим энергосбережения монитора;\\
\end{tabbing}     
\subsubsection{Section <Pointer>}
\begin{tabbing}
Resolution 3 \quad - Определяет чувствительность мыши;\\
\end{tabbing}
\subsubsection{Section <ServerLayout>}
\begin{tabbing}
Option \quad - Дополнительные опции:\\
\quad "BlankTime" 10 \quad - Время через которое гаснет экран;\\
\end{tabbing}
\subsection{Консоль}
\subsubsection{Управление звуком}
\begin{tabbing}
 \verb+\007+  \hspace{3em} \=- издать звук;\\
 \verb+\033[10;#]+ \>- установить частоту звукового сигнала в герцах;\\
 \verb+\033[11;#]+ \>- установить продолжительность звукового сигнала в миллисекундах;\\
\end{tabbing}
\subsubsection{Управление цветом}
\begin{tabbing}
\verb+\033[0m+ \qquad \=- все атрибуты по умолчанию;\\
 \verb+\033[1m+    \>- жирный шрифт (интенсивный цвет);\\
 \verb+\033[2m+    \>- полу яркий цвет (тёмно-серый, независимо от цвета);\\
 \verb+\033[4m+    \>- выделение (ярко-белый, независимо от цвета);\\
 \verb+\033[5m+    \>- мигающий;\\
 \verb+\033[7m+    \>- реверсия (знаки приобретают цвет фона, а фон -- цвет знаков);\\
 \verb+\033[22m+   \>- установить нормальную интенсивность;\\
 \verb+\033[24m+   \>- отменить подчеркивание;\\
 \verb+\033[25m+   \>- отменить мигание;\\
 \verb+\033[27m+   \>- отменить реверсию;\\
 \verb+\033[30+    \>- чёрный цвет знаков;\\
 \verb+\033[31+    \>- красный цвет знаков;\\
 \verb+\033[32+    \>- зелёный цвет знаков;\\
 \verb+\033[33+    \>- коричневый цвет знаков;\\
 \verb+\033[34+    \>- синий цвет знаков;\\
 \verb+\033[35+    \>- фиолетовый цвет знаков;\\
 \verb+\033[36+    \>- цвет морской волны знаков;\\
 \verb+\033[37+    \>- серый цвет знаков;\\
 \verb+\033[40+    \>- чёрный цвет фона;\\
 \verb+\033[41+    \>- красный цвет фона;\\
 \verb+\033[42+    \>- зелёный цвет фона;\\
 \verb+\033[43+    \>- коричневый цвет фона;\\
 \verb+\033[44+    \>- синий цвет фона;\\
 \verb+\033[45+    \>- фиолетовый цвет фона;\\
 \verb+\033[46+    \>- цвет морской волны фона;\\
 \verb+\033[47+    \>- серый цвет фона;\\
\end{tabbing}
\subsubsection{Управление положением курсора}
\begin{tabbing}
 \verb+\033[#A+  \qquad  \=- передвинуть курсор вверх на \# строк;\\
 \verb+\033[#B+    \>- передвинуть курсор вниз на \# строк;\\
 \verb+\033[#С+    \>- передвинуть курсор вправо на \# столбцов;\\
 \verb+\033[#D+    \>- передвинуть курсор влево на \# столбцов;\\
 \verb+\033[#E+    \>- передвинуть курсор вниз на \# строк и поставить в начало строки;\\
 \verb+\033[#F+    \>- передвинуть курсор вверх на \# строк и поставить в начало строки;\\
 \verb+\033[#G+    \>- переместить курсор в указанный столбец текущей строки;\\
 \verb+\033[#;#H+  \>- задает абсолютные координаты курсора (строка, столбец);\\
\end{tabbing}
\subsubsection{Работа с палитрой}
\begin{tabbing}
\verb+\033]Pnrrggbb+ \=- Изменяет палитру. n -- номер цвета; rr, gg и bb -- значения RGB-компонент\\
                     \> в шестнадцатеричной форме;\\
\verb+\033]R+        \>- Восстанавливает палитру, принятую по умолчанию;\\
\end{tabbing}
\subsubsection{Работа с виртуальными консолями}
\verb+\033[12;#]+ - Сделать текущей консоль с указанным номером;
\subsubsection{Работа с xterm}
\begin{tabbing}
\verb+\033]0;text\007+ \quad \=- Присваивает имя окну и иконке;\\
\verb+\033]1;text\007+  \>- Присваивает имя иконке;\\
\verb+\033]2;text\007+  \>- Присваивает имя окну;\\
\end{tabbing}
\subsubsection{Общее}
\begin{tabbing}
\verb+\033c+ \quad  \=- Сброс терминала;\\
\verb+\033(K+       \>- Переключение на загружаемый шрифт;\\
\end{tabbing}

\subsection{BASH}
Команды возвращают код возврата или SIG+128, где SIG номер сигнала прервавшего выполнение.
\subsubsection{Общие}
\begin{tabbing}
\verb+![numb]+ \qquad  \=- Запуск строки <numb> из истории (history);\\
\verb+!str+    \>- Запуск ближайшей строки соответствующей маске str из истории (history);\\
\verb+\+       \>- Продолжение текущей строки на другой строке или экранирование специального символа\\ 
               \> после данного символа (\verb+\$+);\\
\verb+;+       \>- Разделитель команд;\\
\verb+()+      \>- Выполнения сценария в скобках в другой подоболочке;\\
\verb+(())+    \>- Включение выражений с "С" синтаксисом;\\
\verb+[]+      \>- Включение условных операций с синтаксисом команды test;\\
\verb+"pwd"+   \>- Определение строки с разрешением подстановки значений переменных;\\
\verb+'pwd'+   \>- Определение строки с запрещением подстановки значений переменных;\\
\verb+`pwd`+   \>- Результат выполнения команды pwd;\\
\verb+x=pwd+   \>- Объявление переменной окружения x и присвоение ей строки pwd;\\
\verb+x='34'+  \>- Объявление переменной окружения x и присвоение ей строки '34';\\
\verb+x[2]=pwd+ \>- Объявление массива x и присвоение его элементу 2 строки pwd;\\
\verb+x=(zero one two three)+ - Объявление массива x и заполнение четырех его элементов;\\
\verb+x=([0]=zero [3]=three [2]=two [1]=one)+ - Объявление массива x и заполнение четырех его элементов по выбору;\\
\verb+$((100/3)), $[100/3]+ - Позволяет выполнять простые целочисленные операции. \\
                \> Примеры: \\
                \> \quad \verb|a=4; echo $[a=$a+4] $[a+=4] $[a=a+4]|\\
                \> \quad \verb|a=4; echo $[a=$a+4, a+=4, a=a+4]|\\
		\> \quad \verb|$[2!=2] $[2!=3]|\\
		\> \quad \verb|$[a=2<3] $a|\\
                \> Допустимые команды:\\
\pushtabs
\quad \= \verb=id++, id--= \quad \=- постфиксное увеличение/уменьшение значения переменной на 1;\\
\> \verb=++id, --id=  \>- префиксное увеличение/уменьшение значения переменной на 1;\\ 
\> \verb=-, +=        \>- унарные минус и плюс;\\ 
\> \verb=!, ~=        \>- логическое и побитовое отрицание;\\ 
\> \verb=**=          \>- возведение в степень;\\ 
\> \verb=*, /, %=     \>- умножение, деление, получение остатка от деления;\\
\> \verb=+, -=        \>- сложение, вычитание;\\
\> \verb=<<, >>=      \>- побитовый сдвиг влево и вправо;\\
\> \verb+<=, >=, <, >+\>- сравнение;\\
\> \verb+==, !=+      \>- равенство и неравенство;\\
\> \verb+&+           \>- побитовое И;\\
\> \verb+^+           \>- побитовое исключающее ИЛИ;\\
\> \verb+|+           \>- побитовое ИЛИ;\\
\> \verb+&&+          \>- логическое И;\\
\> \verb+||+          \>- логическое ИЛИ;\\
\> \verb+выражение?выражение:выражение+ - условное вычисление;\\
\> \verb|=, *=, /=, %=, +=, ?=+| - присваивание;\\
\> \verb+выражение1,выражение2+ - запятая;\\
\> \verb+()+          \>- Выделение более приоритетного участка выражения;\\
\poptabs
\verb+$x, ${x}+   \>- Подстановка значения переменной/параметра x;\\
\verb+${!x}+      \>- Косвенная подстановка значения переменной/параметра указанного в x;\\
\verb+${#x}+      \>- Косвенная подстановка значения переменной/параметра указанного в x;\\
		  \> Если параметр -- * или @, подставляется количество позиционных параметров.\\
                  \> Если параметр -- массив с индексом * или @, подставляется количество элементов массива.\\
\verb+${x:?"Error, no bar"}+ - Генерировать ошибку если x не определена или равна нулю;\\
\verb+${x?"Error, no bar"}+ - ---//---;\\
\verb+${x:="foose"}+ - Присвоить значение по умолчанию если x не определена или равна нулю;\\
\verb+${x="foose"}+ - ---//---;\\
\verb+${x:offset:lenght}, ${x:offset}+ - Возвращает часть от x начиная с offset длиной lenght;\\
                \> В качестве длины и смещения могут выступать:\\
		\> - арифметические выражения;\\
		\> - смещение отрицательное число - отсчитывается с конца значения параметра;\\
		\> - параметр - @, результат - <n> позиционных параметров, начиная с параметра <m>;\\
		\> - параметр - массив с индексом @ или *, результат - <n> элементов массива, начиная с \verb+${параметр[m]}+;\\
\verb-${x:+"foose"}- - Если переменная определена то вместо неё используется "foose";\\
\verb-${x+"foose"}- - ---//---;\\
\verb+${x:-"foose"}+ - Если переменная определена то она используется иначе используется "foose";\\
\verb+${x-"foose"}+ - ---//---;\\
\verb+${параметр#шаблон}+ - ??\\
\verb+${параметр##шаблон}+ - ??\\
\verb+${параметр%шаблон}+ - ??\\
\verb+${параметр%%шаблон}+ - ??\\
\verb+${параметр/шаблон/строка}+ - Заменяется первая самая длинная подстрока значения параметра, на указанную строку;\\
\verb+${параметр//шаблон/строка}+ - Заменяются все самые длинные подстроки значения параметра, на указанную строку;\\
\verb+${array[@]}+   \>- Обращение сразу ко всему массиву;\\
\verb+$(x)+     \>- Выполнение команды x и возврат результата (подобно `x`);\\
\verb+$0+       \>- Имя команды в командной строке;\\
\verb+$n, ${n} (n = 1...)+ - аргумент n командной строки;\\
\verb+$*+       \>- Раскрывает единственное слово, содержащее список всех позиционных парам;\\
\verb+$#+       \>- Количество аргументов;\\
\verb+$@+       \>- Ссылка на все аргументы команды отделенные пробелами;\\
\verb+$$, $PPID+ \>- PID текущего процесса (скрипта);\\
\verb+$?+       \>- Код возврата последней команды;\\
\verb+$!+       \>- PID последнего фонового процесса;\\
\verb+$'\n'+    \>- Вставка управляющего символа в строку;\\
\verb+Comm &&+  \>- Выполняет действие после выражения если команда <Comm> неудачна;\\
\verb+Comm ||+  \>- Выполняет действие после вырожения если команда <Comm> удачна;\\
\verb+MYVAR#*fo+ \>- Отсекает от начала переменной MYVAR самую короткую часть удовлетворяющую маске *fo;\\
\verb+MYVAR##*fo+ \>- Отсекает от начала переменной MYVAR самую длинную часть удовлетворяющую маске *fo;\\
\verb+MYVAR%fo*+  \>- Отсекает от конца переменной MYVAR самую короткую часть  удовлетворяющую маске fo*;\\
\verb+MYVAR%%fo*+ \>- Отсекает от конца переменной MYVAR самую длинную часть удовлетворяющую маске fo*;\\
\verb+MYVAR:2:5+  \>- Возвращает часть строки MYVAR которая начинается с 2 символа и заканчивается 5;\\
\verb+if [ Condition ]+ - Условный оператор ( if ( Condition ) - tch);\\
\verb+then+     \>- выполнение условия;\\
\verb+else+     \>- невыполнение условия;\\
\verb+elif [ Condition ]+ - Совмещенная команда else if;\\
\verb+fi+        \>- окончание условного оператора;\\
\verb+for x in 1 2 3 4+ - оператор цикла, в x перебираются значения за in ( foreach x (1 2 3 4) - tch );\\
\verb+while [ Condition ]+ - выполняет цикл пока верно условие Condition ( while ( Condition ) -tch );\\
\verb+until [ Condition ]+ - выполняет цикл до равенства условия Condition;\\
\verb+(repeat x expression - tch )+ - выполняет повторение выражения <expression> x раз;\\
\verb+select x in list;+ - Запрашивает выбор из списка <list> и присваивает выбранное значение переменной <x>;\\
\verb+do+       \>- Начало цикла определенного for, while, until;\\
\verb+done+     \>- Конец цикла определенного for, while, until;\\
\verb+case x in+  - Команда выбора. Имеет структуру:\\
\quad \verb+case "${x##*.}" in+ \\
\quad \quad \verb+gz) gzunpack ${SROOT}/${x}  ;;+\\
\quad \quad \verb+bz2) bz2unpack ${SROOT}/${x} ;;+\\ 
\quad \quad \verb+*)   echo "Неизвестный формат архива" exit ;;+\\
\quad \verb+esac+\\
\verb+function func() { }+ - Определяет функцию с именем func;\\
\verb+export x+ \>- Создает переменную окружения x и экспортирование её в систему;\\
\verb-local x-  \>- Создает локальную переменную окружения которая не перекрывает глобальной.\\ 
                \> Часто используется для функций;\\
\verb+declare+  \>- Встроенная команда bash для декларирования переменных и изменения их атрибутов;\\
\verb+set x = str+ \>- Инициализация переменной;\\
\quad \verb+-A Name_A 1 2 3 4 5+ - Инициализация массива;\\
\quad \verb+-V,-X+    \>- Включение отладочного режима;\\
\quad \verb-+V,+X-    \>- Выключение отладочного режима;\\
\verb+unset x+  \>- Отмена инициализации переменной;\\
\verb+read x y+ \>- Ввод строки из двух слов;\\
\verb+break+    \>- Завершение цикла;\\
\verb+continue+ \>- Начинает цикл сначала;\\
\verb+exit+     \>- Выход из сценария;\\
\verb+eval+     \>- Означивание строки (т.е. замена записей типа \verb+"$5"+ на их значения);\\
\verb+shift+    \>- Сдвиг параметров командной строки на единицу (для доступа к параметрам с номером > 9 );\\
\verb+trap+     \>- Установка обработчиков сигналов в скрипте;\\
\verb+alias+    \>- Создание псевдонимов или альтернативных имен команд;\\
\verb+unalias+  \>- Удаление псевдонима;
\end{tabbing}
\subsubsection{Переменные окружения оболочки}
\begin{tabbing}
PWD \hspace{3em} \=- Текущий рабочий каталог;\\
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 \>- Описывает вид приглашения в командной строке;\\
MALLOC_CHECK_ - Указывает что делать с ошибками в функциях malloc, free:\\
\quad = 0 \>- молча игнорировать все ошибки;\\
\quad = 1 \>- сообщить об ошибке и продолжить работу;\\
\quad = 2 \>- прервать при ошибке (без сообщения);\\
\quad = 3 \>- прервать и сообщить об ошибке;\\
MALLOC_TRACE - Определяет путь для комманды mtrace и функции в программе mtrace;\\
\end{tabbing}
\subsubsection{Основные операторы}
\begin{tabbing}
\verb+.+ \quad \=- Выполнить все команды в файле после точки;\\
\verb+&+  \>- Выполнить команду до него в фоновом режиме;\\
\end{tabbing}
\subsubsection{Операторы сравнения файлов}
\begin{tabbing}
-e  \hspace{3em} \=- существует;\\
-d       \>- каталог;\\
-f       \>- обычный файл;\\
-c       \>- специальный файл;\\
-L       \>- символическая ссылка;\\
-r       \>- для чтения;\\
-w       \>- для записи;\\
-x       \>- исполняемый;\\
-z       \>- файл пуст;\\
-s,(-z)  \>- имя файла не нулевой длины;\\
(-o)     \>- пользователь является владельцем файла;\\
fname1 -nt fname2 - fname1 новее fname2;\\
fname1 -ot fname2 - fname1 старше fname2;\\
\end{tabbing}
\subsubsection{Операторы сравнения строк}
\begin{tabbing}
-z \hspace{3em} \=- Пуста;\\
-n       \>- выражения\\
= ,(==)  \>- Равны;\\
!=       \>- Неравна;\\
\end{tabbing}
\subsubsection{Арифметические операторы сравнения}
\begin{tabbing}
-eq \hspace{3em} \=- Равно;\\
-ne      \>- Неравно;\\
-lt,(< ) \>- Меньше;\\
-le,(<=) \>- Меньше или равно;\\
-gt,(> ) \>- Больше;\\
-ge,(>=) \>- Больше или равно;\\
\end{tabbing}
\subsubsection{Логические операторы}
\begin{tabbing}
\verb+!+ \hspace{3em} \=- отрицание логического вырожения;\\
\verb+-a,(&&)+     \>- Логическое "И";\\
\verb+-o,(||)+     \>- Логическое "ИЛИ"\\
\end{tabbing}
\subsubsection{Перенаправления вывода}
\begin{tabbing}
\verb+|+ \hspace{3em} \=- Перенаправление вывода в канал;\\
\verb+<  file+     \>- file   записать в STDIN;\\
\verb+>  file+     \>- STDOUT записать в file;\\
\verb+>> file+     \>- STDOUT добавить в file;\\
\verb+<< str+      \>- Определяет слово <str> как признак окончания ввода;\\
\verb+2> file+     \>- STDERR записать в file;\\
\verb+1>&2+        \>- STDOUT записать в STDERR;\\
\verb+2>&1+        \>- STDERR записать в STDOUT;\\
\verb+&> file+     \>- STDOUT и STDERR записать в file;\\
\end{tabbing}
\subsubsection{Специальные символы}
\begin{tabbing}
\verb+\n+ \hspace{3em} \=- Новая строка;\\
\verb+\b+   \>- Возврат на один символ;\\
\verb+\c+   \>- Печать строки без символа новой строки;\\
\verb+\f+    \>- Переход к новой странице/экрану;\\
\verb+\r+    \>- Возврат каретки;\\
\verb+\t+    \>- Табуляция;\\
\verb+\v+   \>- Табуляция по вертикали;\\
\verb+\\+    \>- Обратная косая черта;\\
\verb+0nnn+ \>- Восьмеричное число;\\
\verb+xNN+ \>- Шестнадцатеричное число;\\
\end{tabbing}
\subsubsection{Маски (подстановка, может быть отключена опцией -f или set)}
\begin{tabbing}
\verb+*+ \hspace{3em} \=- Любая строка;\\
\verb+?+ \>- Любой одиночный символ;\\
\verb+[...]+ \>- Соответствует любому символу в скобках [A-Z]; \verb+"! и ^"+ - исключение символа.\\
\end{tabbing}
\subsubsection{Представление численных значений}
\begin{tabbing}
\verb+045+ \hspace{5em} \=- Восьмеричное число (начинается с 0);\\
\verb+0x45, 0X32+       \>- Шестнадцатеричное число;\\
\verb+[основание#]n+    \>- Число с основанием <n> (по умолчанию основание 10).\\
                        \> Примеры:\\
                        \> \verb+$[2#101] $[10#101] $[16#101]+\\
                        \> \verb+$[16#FF] $[16#ff] $[0xFF]+\\
                        \> \verb+$[64**2] $[64#@@]+\\
                        \> \verb+$[64#z] $[64#Z]+\\
\end{tabbing}

\subsection{Полезные обороты}
\begin{itemize}
 \item Получить количество строк: \textbf{<wc -l>}
 \item Получить количество слов:  \textbf{<wc -w>}
 \item Получить указанную строку: \textbf{<sed -n 4p>}
 \item Получить содержимое каталога по строкам: \textbf{<ls -1 /etc>}
 \item Сгенерировать случайный пароль: \textbf{<head -c8 /dev/random | uuencode -m - | sed -n '2s/=*\$//;2p'>}
\end{itemize}


\subsection{GDB}
\begin{tabbing}
run \hspace{3em} \=- Запуск отлаживаемой программы;\\
break func \>- Установка точку прерывания на функцию func;\\
list  func \>- Просмотр содержимого функции или исходного файла;\\
next       \>- Следующая команда;\\
quit       \>- Выход;\\
\end{tabbing}

\subsection{MAKE}
Формат правила:
\begin{verbatim}
   <цель_1> <цель_2> ... <цель_n>: <зависим_1> <зависим_2> ... <зависим_n>
      <команда_1>
      <команда_2>
      ...
      <команда_n>
\end{verbatim}
Цель это некий желаемый результат может представлять собой:
\begin{enumerate}
\item имя файла (my_file: file.c file1.c);
\item команда   (clean: );
\end{enumerate}
Зависимость, также может быть файлом или командой которая должна выполнится ранее.
\subsubsection{Шаблонные правила}
\begin{tabbing}
\verb+.cpp.o:+ \qquad \=- Файлы с расширением *.o зависят от соответствующий файлов с расширением *.cpp;\\
\verb+%.o: %.cpp+ \>- Проверяет все файлы с расширением .cpp и заменяет цель на расширение .o;\\
\verb+.PHONY: x+  \>- Объявление специальной цели (не файл);\\
\verb+all:+       \>- Выполняет эту цель при отсутствие параметров команды make;\\
\end{tabbing}
\subsubsection{Ключевые слова и команды}
\begin{tabbing}
 \verb+=,:=+ \hspace{3em} \=- Оператор объявления переменных. (x = test);\\
 \verb-+=-  \>- Добавление текста к существующей переменной;\\
 \verb+#define+   \>- Определение переменных. (\verb+#define x "test 1"+);\\
 \verb+include+   \>- Включение внешнего файлы и его обработка, с прерыванием при отсутствие файла;\\
 \verb+-include+  \>- Включение внешнего файлы и его обработка, без прерывания при отсутствие файла;\\
 \verb+$(function par1, par2 ...)+ - Вызов функции и получение значения переменной;\\
 \verb+addprefix+ \>- Добавляет префикс в первом параметре к каждому элементу в списке второго параметра;\\
 \verb+addsuffix+ \>- Добавляет суффикс в первом параметре к каждому элементу в списке второго параметра;\\
 \verb+wildcard+  \>- Расширяет переданные шаблоны до списка файлов соответствующих этим шаблонам;\\
 \verb+notdir+    \>- Выделение имени файла из полного пути;\\
 \verb+patsubst+  \>- Изменяет указанным образом слова подходящие под шаблон;\\
\quad \verb+object_files = $(patsubst %.cpp, %.o, man.cpp) -> man.o+\\
 \verb+override+  \>- Позволяет изменять переменные заданные через пораметры make;\\
 \verb+for x in 1 2 3 4;+ - оператор цикла, в x перебираются значения за in;\\
 \verb+do+        \>- Начало цикла определенного for;\\
 \verb+done+      \>- Конец цикла определенного for;\\
\end{tabbing}
\subsubsection{Специальные переменные}
\begin{tabbing}
 VPATH \qquad \=- Описывает список каталогов для поиска зависимостей;\\
 CC        \>- Указывает компилятор языка С;\\
 СXX       \>- Указывает компилятор языка С++;\\
 СFLAGS    \>- Указывает флаги компилятора С;\\
 CXXFLAGS  \>- Указывает флаги компилятора С++;\\
 LDLIBS    \>- Описывает опции линкера;\\
\end{tabbing}
\subsubsection{Автоматические переменные}
\begin{tabbing}
\verb+`command`+ \=- Вставить в сценарий выхлоп команды <command>;\\
\verb+$@+        \>- Имя цели обрабатываемого правила;\\
\verb+$<+        \>- Имя первой зависимости обрабатываемого файла;\\
\verb+$^+        \>- Список зависимостей обрабатываемого правила;
\end{tabbing}

\subsection{Makefile.am}
\begin{tabbing}
  bin_PROGRAMS \qquad \=- Определяет имя программы;\\
  <prog>_SOURCES \>- Определение исходников от которых зависит программа;\\
  CXX            \>- Имя C++ компилятора;\\
  CXXFLAGS       \>- Определение опций С++ компилятора;\\
  AUTOMAKE_OPTIONS - Определение опций automake:\\
\quad foreign      \>- Не требовать создания файлов документации;\\
\end{tabbing}

\subsection{configure.in}
\begin{tabbing}
  AC_INIT(file) \qquad \=- Инициализация скрипта и проверка на наличие исходников;\\
  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]]) - extra-cmds - дополнительные команды с их инициализацией\\
         \> в init-cmds. Выполняются в конце config.status;\\
\end{tabbing}

\subsection{Сonfigure}
\begin{tabbing}
  - -bindir \qquad \=- Директория для исполняемых файлов;\\
  - -build \>-  Платформа сборки;\\
  - -cache-file \>- Файл для помещения результатов проверок;\\
  - -datadir \>- Директория для хранения файлов данных;\\
  - -enable-...(--disable-...) - Включить(выключить):\\
  - -exec-prefix \qquad \=- Похож на опцию - -prefix\\
  \pushtabs
    \quad \= altivec \qquad \=- Включение PowerPC специализированной функции;\\    
    \> cpp \>- Включить препроцессор для C;\\    
    \> languages \>- Включить языки компиляторов(c, c++, f77, java ... );\\    
    \> libgcj \>- Включить библиотеку для java;\\   
    \> nls \>- Включить NLS;\\
    \> shared \>- Использовать динамические библиотеки;\\
    \> target-optspace - Включить оптимизацию размера в ущерб быстродействия;\\
    \> threads \>- Включить использование потоков или указать библиотеку потоков;\\
  \poptabs
  - -help \>- Список всех опций командной строки;\\
  - -host \>- Имя платформы домашнего(host) компьютера;\\
  - -includedir \>- Директория заголовочного файла;\\
  - -infodir \>- Директория информации типа <info>;\\
  - -libdir \>- Директория библиотек;\\
  - -mandir \>- Директория c руководствами;\\
  - -no-create \>- Не создавать конечные файлы;\\
  - -norecursion \>- Не вызывать вложенные configure;\\
  - -prefix \>- Директория корневого каталога;\\
  - -sbindir \>- Директория для системных исполняемых файлов;\\
  - -silent \>- Подавляет вывод результатов исполнения на экран;\\
  - -srcdir \>- Каталог исходных текстов;\\
  - -sysconfdir \>- Каталог данных только для чтения(/etc);\\
  - -target \>- Имя целевой платформы;\\
  - -tmpdir \>- Каталог для хранения временных файлов Configure;\\
\end{tabbing}

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

\subsection{/etc/syslog.conf}
\verb+[!NameProg] <facility>.[op]<level>[;<facility>.<level>] <Name file>+ \\
\quad где <NameProg> - Имя программы посылающей сообщения;\\
\quad где <facility> - категория журналированния:
\begin{tabbing}
\qquad \= auth \hspace{3em} \=- Все что связано с авторизацией;\\
\> authpriv \>- Тоже что и auth, но приватные данные;\\
\> console  \>- Сообщения печатаемые на системной консоли;\\
\> cron     \>- Сообщения от системного планировщика;\\
\> daemon   \>- Ловушка для сообщений от всех остальных системных демонов;\\
\> ftp      \>- Действия ftp - сервера;\\
\> kern     \>- Сообщения от ядра;\\
\> lpr      \>- Сообщение от системы печати;\\
\> mail     \>- Сообщения от почтовой системы;\\
\> mark     \>- Для помещения сообщений каждые 20 минут;\\
\> news     \>- Сообщения от сервера новостей;\\
\> ntp      \>- Сообщения от сервера точного времени;\\
\> security \>- Сообщения от различных служб безопасности;\\
\> syslog   \>- От самой системы журналированния;\\
\> user     \>- Сообщения от пользовательских программ без указания категории;\\
\> uucp     \>- Сообщение от UUCP;\\
\> local[n] \>- Зарезервированные категории для администратора системы (n=0..7)
\end{tabbing}
\quad где <level> - Уровень детализации:
\begin{tabbing}
\qquad \= emerg \hspace{3em} \=- Панике;\\
\> alert    \>- Опасно;\\
\> crit     \>- Критично;\\
\> err      \>- Ошибки;\\
\> warning  \>- Предупреждения;\\
\> notice   \>- Замечания;\\
\> info     \>- Общая информация;\\
\> debug    \>- Отладка;\\
\> none     \>- Ничего не записывать;
\end{tabbing}
\quad где <op> - Метод журналированнияе. При отсутствие выводит сообщения указанного и более высокого уровня:
\begin{tabbing}
\qquad \= = \quad \=- Указанного уровня;\\
\> < \>- Меньше указанного уровня;\\
\> > \>- Больше указанного уровня;
\end{tabbing}
\quad где <Name file> - Имя файла для лога. Может также быть указателем на другую машину (@server.org) для журналирования на ней. А также передавать
сообщения через канал другому приложению (|/usr/bin/messcheck.pl).

\subsection{/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> после удаления модуля;\\

\subsection{Команды "sed" и команды : в VI}
Пример выделение частоты процессора:\\
\quad \verb+cat -n "/proc/cpuinfo | sed -n "/cpu MHz[^ ]*[ ]*\([^ ]*\).*/s//\1/p"+
Запросы:
\begin{tabbing}
\quad \= a \qquad \=- Вставить текст после текущей строки;\\
\> c     \>- Заменить указанные строки;\\
\> d     \>- Исключить текущую строку;\\
\> e     \>- Открыть для редактирования указанный файл с проверкой старого;\\
\> E     \>- Начать редактирование файла без проверки;\\
\> f     \>- Напечатать имя редактируемого файла;\\
\> g     \>- Применить указанный запрос ко всем строкам;\\
\> i     \>- Вставить текст перед текущей строкой;\\
\> j     \>- Объединить строки;\\
\> k     \>- Поменять строки;\\
\> l     \>- Напечатать строку;\\
\> m     \>- Переставить группу строк в другое место;\\
\> n     \>- Напечатать строки вместе с их номерами;\\
\> p     \>- Напечатать строки;\\
\> q     \>- Выйти из редактора с проверкой сохранения текущего файла;\\
\> Q     \>- Выйти без проверки;\\
\> r     \>- Считать файл в буфер;\\
\> s     \>- Заменить текст в пределах строки;\\
\> t     \>- Скопировать группу строк;\\
\> u     \>- Аннулировать результат последней замены s;\\
\> v     \>- Применить указанный запрос ко всем строкам не содержащим заданный образец;\\
\> w     \>- Записать группу строк в файл;\\
\> W     \>- Дозаписать группу строк в конец файла;\\
\> =     \>- Напечатать номер строки;\\
\> !     \>- Выполнить системную команду;\\
\> +     \>- Шаг вперёд на одну строку;\\
\> -     \>- Шаг назад на одну строку;
\end{tabbing}
Выражения:
\begin{tabbing}
\quad \= \verb+.+ \qquad \=- Любая литера, кроме новой строки;\\
\> \verb+[s]+   \>- Любая литера из цепочки s;\\
\> \verb+[^s]+  \>- Любая литера не входящая в цепочку s;\\
\> \verb+e*+    \>- Все соседние вхождения;\\
\> \verb+\(e\)+ \>- Выделить подвыражение. На подвыражение можно ссылаться используя \verb+\n+;\\
\> \verb+\n+    \>- n-е выделенное подвыражение;\\
\> \verb+^+     \>- Начало строки;\\
\> \verb+$+     \>- Конец строки;\\
\> \verb+\с+    \>- Заэкранировать специальный символ;
\end{tabbing}
Адреса:
\begin{tabbing}
\quad \= \verb+.+ \qquad \=- Текущая строка;\\
\> \verb+n+     \>- n-я строка;\\
\> \verb+$+     \>- Последняя строка редактируемого текста;\\
\> \verb+'x+    \>- Строка, помеченная меткой x;\\
\> \verb+/e/+   \>- Ближайшая следующая строка, содержащая e;\\
\> \verb+?e?+   \>- Ближайшая предыдущая строка, содержащая e;
\end{tabbing}

\subsection{Комманды AWK}
  Формат записи: \verb+awk '{print $2,$1}'+
\begin{tabbing}
 \verb+print $1,$3+ \qquad \=- Печатает указанные поля, разделённые пробелом, для всех строк;\\
 \verb+printf "%s/*\n", $2+ - Печать форматированных данных;\\
\end{tabbing}

\subsection{Параметры ядра}
\begin{tabbing}
 root=/dev/hda \quad \=- Расположение корневого раздела;\\
 ro, rw          \>- Режим монтирования - только для чтения или полный;\\
 hdd=ide-scsi    \>- На каком ide диске эмулировать scsi;\\
 init=/bin/bash  \>- Программа выполняемая сразу после загрузки ядра;\\
 syngle          \>- Загрузится в одиночном режиме;\\
 1,3,5           \>- Режим загрузки INIT:\\
                 \> 1 - однопользовательский;\\
		 \> 3 - многопользовательский без GUI;\\
		 \> 5 - многопользовательский c GUI;
\end{tabbing}

\subsection{CVS}
Репозиторий в CVS хранит полные копии всех файлов и каталогов, находящихся под контролем версий.\\
\textbf{export CVSROOT=/home/Roman/progects/CVS_R} - Указание на каталог, где находится репозиторий CVS.\\
\textbf{export CVSROOT=:pserver:user@serv.comp.org:/CVS_R} - Указание на удалённый репозиторий.\\
\textbf{cvs -d /usr/local/cvsroot init} - Создание пустого репозитория.\\
\textbf{cvs -d:pserver:user@serv.comp.org:/usr/local/cvsroot init} - Создание пустого репозитория на удалённом сервере.\\
\textbf{cvs import MyProg MyName start} - Импортирует проект MyProg от имени создателя MyName в CVS.\\
\textbf{cvs -z 3 co tc} - Експорт проекта tc для работы над ним. В результате чего будет создан каталог `tc', в который будут помещены все файлы с исходными текстами c уровнем компресии 3.\\
\textbf{cvs co -r revise Prog} - Загрузить дерева проекта с ревизией(тегом) <revise>.\\
\textbf{cvs up} - Синхронизация исходных текстов со всеми изменениями (выполнять перед фиксацией своих изменений).\\
\textbf{cvs up -r revise} - Привести содержимое дерева в соответствии с ревизией <revise>.\\
\textbf{cvs ci backend.c -r revise} - Зафиксировать изменения в backend.c и запускает редактор (ENV: CVSEDITOR), чтобы ввести журнальную запись об изменениях.\\
\textbf{cvs ci -r revise} - Зафиксировать изменения в дереве под ревизией <revise> для всего дерева.\\
\textbf{cvs tag revise} - Привести вершину дерева к <revise>.\\
\textbf{cvs release -d tc} - Выполняет удаления вашей копии проекта и при этом проверяет, что все ваши изменения были зафиксированы.\\
\textbf{cvs log file.cc} - Вывести лог изменений в файле file.cc.\\
\textbf{cvs diff driver.c} - Вывести описание изменений внесенных в файл `driver.c'.\\
\textbf{cvs add readmi.cc} - Внесение файла readmi.cc под контроль CVS.\\
\textbf{cvs rm readmi.cc} - Сообщение CVS о том что файл readmi.cc должен быть удалён из репозитория при следуйщей команде <ci>.\\

\section{Права доступа}
\begin{tabbing}
Read (r) \hspace{3em} \=- [Владелец | группа | другие ] могут:\\
\quad файл    \>- читать файл;\\
\quad каталог \>- читать содержимое каталога;\\
Write (w)     \>- [Владелец | группа | другие ] могут:\\
\quad файл    \>- модифицировать файл;\\
\quad каталог \>- создавать/удалять файлы и каталоги в данном каталоге;\\
Execute(x)    \>- [Владелец | группа | другие ] могут:\\
\quad файл    \>- запускать файл;\\
\quad каталог \>- делать каталог текущим и запускать в нем запускаемые файлы;\\
Setuid (s):\\
\quad файл    \>- Файл запускается от имени владельца файла;\\
\quad каталог \>- не имеет смысла;\\
Setgid (s):\\
\quad файл    \>- Файл запускается от имени группы файла;\\
\quad каталог \>- Файлы и каталоги создаваемые в этом каталоге будут иметь туже группу-владельца что и сам\\ 
              \> этот каталог. Кроме того у создаваемых директорий тоже будет установлен этот бит.\\
Sticky (t):\\
\quad файл    \>- Указывает системе на необходимость сохранять образ этого файла на swap-устройстве, что\\ 
              \> позволяет быстро его запускать;\\
\quad каталог \>- Файлы в этом каталоге могут стирать только их владельцы;
\end{tabbing}

%\section{Известные LINUX программы}
%\subsection{Офис}
%\begin{tabbing}
%StarOffice (p) \quad \=- Полнофункциональный офисный пакет от SUN;\\
%OpenOffice \>- Открытый проект базирующийся на StarOffice;\\
%\end{tabbing}
%\subsection{Наука}
%\begin{tabbing}
%Octave \quad \=- Matlab клон;\\
%Scilab     \>- Matlab клон;\\
%Tela       \>- Matlab клон;\\
%\end{tabbing}
%\subsection{CAD}
%\begin{tabbing}
%QCAD \qquad \=- OSP 2D CAD-программа;\\
%eagle (p)  \>- Программа для рисования электронных схем и разводки печатных плат;\\
%VariCAD (p)  \>- Подобие AutoCAD (www.varicad.com);\\
%LinuxCAD (p) \>- Подобие AutoCAD;\\
%\end{tabbing}
%\subsection{Эмуляторы}
%\begin{tabbing}
%VMWare (p) \quad \=- Виртуальная машина;\\
%Win4Lin    \>- Виртуальная машина;\\
%Bochs      \>- Open Source аналог VMWare;\\
%Plex86     \>- Клон Bochs, позволяет увеличить скорость эмуляции за счёт использования\\ 
%           \> специфических x86-инструкций;\\
%Wine       \>- Эмулятор Win-машины (полный эмулятор Win32 API);\\
%WineX (p)  \>- Тоже что и Wine, но с поддержкой DirectX;\\
%CodeWeavers CrossOver Office - Клон библиотеки Win32 (Позволяет запускать Word, Excel ...);\\
%Dosemu     \>- Эмулятор DOS и включает клон MS-DOS - FreeDOS;\\
%User-Mode Linux - "Линукс в пользовательском режиме" Самый универсальный эмулятор!\\
%XZX        \>- Полнофункциональный эмулятор ZX-Spectrum;\\
%glukalka   \>- Полнофункциональный эмулятор ZX-Spectrum;\\
%\end{tabbing}
%\subsection{3D}
%\begin{tabbing}
%MAYA \quad \=- 3D-редактор;\\
%\end{tabbing}
%\subsection{Graphic}
%\begin{tabbing}
%ImageMagic \quad \=- Очень мощная графическая библиотека (вызвать display);\\
%GIMP       \>- Отличный графический редактор;\\
%\end{tabbing}

\end{document}
