Вход в систему

Антивирус

Партнерские статусы



Linux - коротко обо всём

Linux Faq
Данная статья представляет собой краткий справочник по операционной системе Linux - файлы, команды, операторы, конфигурация программной среды, типы и конфигурация устройств.


1 Конфигурационные и информационные файлы/каталоги


1.1 Общесистемные


/dev/ — содержит специальные файлы устройств:

pts/ — файлы устройств открытых псевдотерминалов.


/etc/ — основная директория конфигурационных файлов:

anacrontab — конфигурация задач выполняемых anacron;
aspldr.conf — конфигурация boot-загрузчика ASPLoader (дистрибутив ASPLinux);
auto.misc, auto.master — конфигурации автомонтировщика;
crontab — конфигурация задач выполняемых cron;
csh.login — профиль системы для для TCSH (выполняется после регистрации);
fstab — конфигурация файловых систем(ФС) автоматически монтирующихся при загрузке;
group — системные группы пользователей;
gtk/ — файлы указателей шрифтов для графического тулкита GTK;
HOSTNAME — текущее имя машины;
inittab — конфигурация последовательности загрузки (для init);
issue — сообщение выдаваемое перед локальной регистрацией;
issue.net — сообщение выдаваемое перед сетевой регистрацией;
login.defs — описывает поведение login и su;
logrotate.conf — конфигурация демона автоматической обработки логов (ротация, упаковка, удаление);
logrotate.d — директория конфигурационных файлов демона автоматической обработки логов;
ld.so.conf — конфигурация динамического линковщика;
lilo.conf — конфигурация boot-загрузчика LILO;
man.conf — конфигурация сиcтемы страниц помощи, команда man;
motd — сообщение выдаваемое после удачной регистрации;
mtab — список смонтированных ФС;
nologin — наличие этого файла запрещает пользователям входить в систему с выдачей сообщения в файле;
nsswitch.conf — конфигурация последовательности поиска имен по различным источникам;
pam.d/ — содержит файлы конфигурации PAM:
su — описывает поведение команды su;
sudo — описывает поведение sudo.


password — системные пользователи;
profile — профиль системы для BASH (выполняется после регистрации);
rc.d/ — директория системы инициализации init (в стиле UNIX):

init.d/ — содержит скрипты, для управления системными демонами (сервисами);
rcX.d/ — директории уровней запуска X, содержат ссылки на скрипты в init.d;


sysconfig/ — содержит системные Файлы конфигураций:

keyboard — описание текущей раскладки клавиатуры;
desktop — установка графической среды (KDE,GNOME..);
i18n — конфигурация общесистеммной локали (локаль отдельных пользователей может содержаться в {home}/i18n);
harddisks — общие параметры дисков системы:
harddiskhd[x] — параметры конкретно взятого диска <x>.


security/ — содержит Файлы описывающие безопасность системы:

console.apps/ — содержит файлы указывающие на функции доступные непривилегированному пользователю из консоли;
console.perms — правила изменения прав доступа к устройствам, при аутентификации;
limits.conf — конфигурация лимитов пользователей.

sysctl.conf — содержит команды для автоматической инициализации sysctl-параметров ядра;
syslog.conf — конфигурация демона системного логера (syslogd);
shadow — содержит закодированные пароли пользователей (для системы хранения паролей TCB пароли хранятся в /etc/tcb/*);
skel/ — шаблон директории пользователя (в момент создания пользователя содержимое директории пользователя копируется отсюда);
sudoers — указание на то какие пользователи и какие программы могут быть запущены с привилегиями root используя sudo.


/proc/ — виртуальная ФС отражающая параметры ядра:

sys/ — содержит файлы с параметрами системы (большая часть допускает модификацию):
kernel/ — содержит файлы с параметрами ядра:
cap-bound — управление дополнительными правами (root) (0 – root права аннулируются);
hostname — имя хоста (системы);
osrelease — версия ядра системы;
ostype — тип ОС (Linux, *BSD, ...);
panic — признак паники ядра;
version — дата сборки ядра.


fs/ — содержит файлы с параметрами ФС:

file-max — максимальное количество открываемых файлов.

devices — список типов устройств в системе;
modules — список модулей подключенных к ядру;
self — ссылка на информацию о текущем процессе;
cpuinfo — информация о процессорах системы.


/usr/lib/locale/ — содержит локали различных стран и языков;
/usr/share/locale/ — локализации отдельных программ под конкретный язык;
/usr/share/man/ — страницы помощи man (в том числе и локализованные);
/var/spool/cron/ — задачи пользователей для cron (формируются с помощью “crontab -e” от пользователя);
/var/spool/at/ — задачи пользователей для at;
/home/{user}/ — домашняя директория пользователя:

.bashrc — профиль конкретного пользователя для BASH (запускается единожды);
.cshrc — профиль конкретного пользователя для TCSH;
.bash_profile — профиль конкретного пользователя для BASH (запускается при каждом запуске bash).


1.2 Сеть


/etc/ — основная директория конфигурационных файлов:

ethers — Файл соответствия аппаратных MAC адресов сетевым IP адресам в сети, в случае несоответствия доступ для хоста будет закрыт;
export — конфигурация NFS-ресурсов доступных извне;
hosts — перечень хостов и соответствующих им IP-адресов;
host.allow — список хостов которым вход разрешен;
host.deny — список хостов которым вход запрещен (для libc ver 5);
host.conf — указывает где и в каком порядке искать имена хостов (для libc ver 6);
nsswitch.conf — конфигурация последовательности поиска имен по различным источникам;
resolv.conf — конфигурация резолвера имён, содержит список DNS-серверов;
samba/ — содержит файлы конфигурации samba:
smb.conf — главный конфигурационный файл SAMBA;
smbusers — описывает соответствие SAMBA пользователей к системным пользователям;
smbpasswd — содержит хеши пользователей SAMBA, пароли устанавливаются утилитой smbpasswd.


services — содержит сопоставления номеров портов/сокетов их именам;
sysconfig/ — содержит системные Файлы конфигураций:

network — конфигурация сети;
network-scripts/ — скрипты и файлы конфигурации сетевых интерфейсов.


xinetd.conf — конфигурация суперсервера Internet (централизованное управление сокетами/портами);
xinetd.d/ — директория содержит файлы конфигураций отдельных сервисов для суперсервера xinetd;
ppp/ — директория содержит конфигурации PPP-соединений:

options — содержит общую для всех PPP-соединений конфигурацию;
options.* — конфигурация конкретно взятого соединения (например модемное options.ttyS1);
ip-up — скрипт выполняемый при/для соединения (демоном pppd);
ip-down — скрипт выполняемый при/для разъединении (демоном pppd).


1.3 Железо


/etc/ — основная директория конфигурационных файлов:

printcap — Файл конфигурации принтеров;
inputrc — конфигурация ресурсов ввода с клавиатуры;


/usr/lib/kbd/ — содержит файлы необходимые для корректной работы клавиатуры:

keymaps/i386/qwerty/*.kmap.gz — файлы консольных роскладок клавиатуры.


/home/{user}/ — домашняя директория пользователя:

.inputrc — конфигурация ресурсы ввода с клавиатуры конкретного пользователя.


1.4 X (графическая система)


/etc/X11/fs/config — содержит перечень каталогов со шрифтами для X;
/etc/X11/XF86Config — Файл конфигурации X (XFree86);
/etc/X11/xorg.conf — Файл конфигурации X (XOrg);
/usr/X11R6/bin/X — ссылка на текущий X сервер;
/home/{user}/.Xauthority — файл авторизации для запуска X-приложений удаленно, файлы на удаленных машинах должны соответствовать;
/home/{user}/.xinitrc — сценарий загрузки X сервера конкретного пользователя;


2 Утилиты


2.1 Основные пользовательские


awk — утилита манипуляции файлами данных, выборка и обработка текста;
bg — работа с множеством задач в терминале: перевод остановленной (Ctrl+Z) задачи на задний план;
cal — календарь (за любой год);
cat, zcat — выдает указанные файлы на STDOUT;
cd — смена директории;
clear — очистка экрана терминала;
cp — копирование файлов и директорий;
cpio — копирование файлов в архив и из архива (может использоваться для архивов);
cut — вырезает из входного файла столбцы, строки;
date — отображает текущую дату и время;
dd — преобразование, создание и другие манипуляции с файлами в двоичном виде:

dd if=/dev/zero of=/swap bs=1024 count=8208 – создание пустого файла swap размером 8Мб
dd if=/dev/fd0 of=boot.img bs=18k – создание образа из дискеты


echo — выполняет эхо-повтор строки на терминале;
exit — завершить процесс с указанным кодом возврата;
fg — работа с множеством задач в терминале: перевод остановленной (Ctrl+Z) задачи на передний план;
file — определение типа любого файла;
find — поиск:

-type — тип выводимых файлов;
-name — имя искомого файла;
-size — размер искомого файла.


grep — поиск указаной строки в указанных файлах или потоках;

grep 'str' mifile.txt


gzexe — архивирование в исполняемый модуль, с распаковкой при запуске;
gzip — компрессия и декомпрессия файлов:

-<n> — выполнить компрессию с уровнем <n>=(1..9);
-d — декомпрессия.


head — показывает заголовок/начало указанного файла;
hexdump — печать входного потока в указанном формате (DEC,HEX,OCT,ASCII);
history — показывает нумерованный список истории команд;
ipcs — показывает ресурсы IPC(inter process communication);
ipcrm — удаляет ресурсы IPC(inter process communication);
kill, skill — посылка сигнала процессу;
let,bc,expr — выполняет арифметические, логические и другие действия над числовыми значениями в переменных окружения;
ln — создание и обслуживание ссылок;
locate — поиск файла в уже созданной базе;
ls — листинг директории или информация про файл/директорию;
md5sum — подсчёт md5 суммы;
mkfifo — утилита создания именованных каналов;
mknod — утилита для создание специальных файлов;
more, less, zless — просмотр файла постранично;
mpage — печать нескольких страниц на одной;
nice,snice — запуск команды с указанным приоритетом (-20 — +20);
nohup — запуск команды с отвязкой от текущего терминала;
pidof — показать PID работающей программы;
pr — форматирование, текстового файла для печати;
printenv, env — показывает переменные окружения;
ps — показывает запущенные в системе процессы;
pstree — показывает дерево запущенных процессов;
renice — изменение приоритета активного процесса;
rm — удаление файлов и директорий;
rpm — утилита для работа с RPM-пакетами:

-i packet — установить пакет;
-e packet — удалить пакет;
-U packet — обновить пакет;
-V packet — проверка корректности установки/текущего состояния указанного пакета;
-a — выполнение указанной операции для всех пакетов;
-q — запрос данных о пакете:
f — поиск пакета которому принадлежит указанный файл;
i — вывод информации о пакете;
l — список файлов, принадлежащих пакету;
s — состояние файлов пакета;
d — список файлов документации пакета;
c — список конфигурационных файлов пакета;
p — выполнить операцию над ещё неустановленным пакетом;


-b файл.spec — частичная или полная обработка *.spec файла для сборки пакета:

a — создание бинарного и исходного rpm пакета;
b — создание бинарного rpm пакета;
c — выполнение этапов: %pre и %build с распаковкой и компиляцией;
i — выполнение этапов: %pre, %build и %install;
l — проверка списка файлов в %files;
p — выполняется этап %pre (распаковка архива);

– -rebuild my.src.rpm — скомпилировать и создать бинарный rpm из исходного rpm;
– -recompile my.src.rpm — скомпилировать из исходного rpm;
– -test — проверка файла спецификаций;
– -clean — удаление дерева каталогов BUILD;


screen — открыть команду в новом окне того же терминала с возможностью переключения – Ctrl+A;
sed — потоковый редактор;
sleep — усыпляет данный процесс на указанное количество секунд;
sort — сортировка данных в файле/потоке;
split/csplit — разбиение/сбор больших файлов на куски;
stat — информация о файле/директории;
strings — выделение символьных сообщений из не текстового файла;
symlinks — утилита обслуживания символьных ссылок в системе;
tar — создание архивов и пакетов;

-v — отображать список обработанных файлов;
-с — создавать новый архив;
-x — распаковать архив;
-f <file> — упаковывать в указанный файл <file>;
-z — выполнять компрессию полученого пакета с помощью gzip;
-j — выполнять компрессию полученого пакета с помощью bzip2;
-t — просмотр содержимого архива;



<;;p class="auto" id="p31034-25">
tail — показывает хвост указанного файла;
test — проверка типов файлов и сравнение значений;
tee — читает из стандартного входа, а затем записывает в стандартный выход и в файл;
touch — обновление отметки времени файла или создание пустого файла при его отсутствии;
time — определение времени и ресурсов выполнения команды;
tr — трансляция символов (преобразование/замена одних на другие);
tree — дерево части файловой системы;
updatedb — создание и обновление базы данных для команды locate;
vi, vim — очень мощный текстовый редактор с оригинальным управлением;
vimdiff — просмотр сравниваемых файлов в vim;
wc — подсчет количества строк, символов слов в файле;
which,whereis — показывает полный путь к искомой программе;


2.2 Базовые для администрирования


adduser, useradd – добавление пользователей в систему;
anacron – периодический запуск программ без чёткой привязки ко времени, но обязательно;
apropos – поиск man-страницы по ключевому слову;
arch – архитектура текущей системы;
at, batch – автоматизация разовых запусков программ в указанное время;
basename – выделение имени файла/директории из полного пути;
badblock – поиск плохих блоков на носителе (HDD, FDD);
chfn – изменение имени пользователя и информация о нем;
сhgrp – смена группы файла, каталога ...;
chkconfig – конфигурация уровней загрузки различных сервисов;
chmod – смена режима доступа к файлу;
chown – смена владельца и группу владельцев файла, каталога ...;
chroot – смена корня текущей сесии;
chvt – переключение на указанный терминал;
chsh – смена типа командного интерпретатора;
cron – периодический запуск програм;
crontab – формирование пользовательской конфигурации cron;
df – информация о файловых системах на данной машине;
dirname – выделение имени директории из полного пути;
dmesg – показать лог о загрузке ядра;
du – получение информации о размере содержимого файла или директории;
dumpkeys – dump карты клавиатуры;
export – встроенная команда BASH, для определения переменной окружения и экспортирования её для общей доступности;

EDITOR=xemacs – определение переменной <EDITOR> значением <xemacs>;


fgconsole – номер текущего терминала;
finger,who – информация о всех пользователях системы;
free – информация о состоянии памяти;
fuser – выдает список процессов использующих указанный файл или сокет, а также позволяет закрывать процессы занимающие ресурс;
groupadd – добавление группы пользователей;
groupdel – удаление группы пользователей;
iconv – преобразование содержимого файла из одной в другую кодировку;
id – информация о пользователе;
info – показать документацию из страниц связанной помощи (GNU-doc);
init – утилита начальной загрузки;

q – перезапуск init для активизации изменений в /etc/inittab;


locale – получение информацию о настройках локали (/etc/sysconfig/i18n);
localedef – создание новой локали из базовой;
login – вход в систему;
logrotate – утилита для автоматической упаковки, чистки и другой обработки логов;
lsof – печатает список открытых в системе файлов, сокетов, каналов, разделяемых библиотек;

-p <n> – список системных ресурсов используемых <n> процессом;
<name> – список процессов использующих ресурс <name>.


man,xman – показать страницу руководства;

-k <word> – поиск страницы по ключевому слову;


mesg – управление доступом на запись к текущему терминалу (для посылаемых сообщений);
mpage – размещение нескольких страниц текста в одной и печать их на Post Script
? принтере;
ntpdate – утилита синхронизации времени через Internet(www.ntp.org);
passwd – смена пароля пользователя;
pwd – получение полного имени текущей директории;
rlogin – вход на удаленную систему;
service – утилита для операций над сервисами в /etc/rc.d/init.d;

smb start – запуск сервиса Samba;


set – встроенная команда BASH, выполняет операции над переменными окружения;
setsid – запуск програмы в новой сессии;
sg – смена основной группы пользователя, или выполнение команды от имени указанной группы;
slogin – вход в систему по ssh (тоже что и ssh);
ssh – вход в систему по шифрованому протоколу ssh;
stty – получение и установка параметров терминала, переопределение специальных клавиш.
su – смена пользователя текущей сессии или выполнени команды от имени указанного пользователя, по умолчанию root;

-l – с перечитыванием конфигов;


sudo – запуск отдельных программ от имени другого пользователя (нужно прописать в /etc/sudoers);
shutdown – выключение системы;
talk – двухсторонний разговор с другим пользователем;
tload – информация о загрузке системы;
top, htop – вывод информации о процессах с сортировкой по занимаемому времени;
tput – управление терминалом;
tset, reset – инициализация терминала на curses;
tty – имя текущего певдотерминала;
ulimit – управление ограничениями пользователей.
umask – определяет маску прав по которой будут создаваться новые файлы;
uname – печатает информацию о текущей OS;
unset – встроенная команда BASH, очистка/удаление переменных окружения;
uptime – время непрерывной работы системы;
users – список пользователей в системе;
userdel – удаление пользователей из системы;
usermod – изменение учетной записи пользователя;
vmstat – информация об использовании виртуальной памяти;
w – информация о том что делает текущий пользователь;
wall – передача широковещательного сообщения (всем пользователям системы);
watch – периодический запуск указанной программы;
whoami – сообщает имя текущего пользователя;
write – написать сообщение указанному пользователю;
ytalk – расширенная версия talk, с возможностью работы в X;


setfont – установка консольного шрифта;
loadkeys – установка раскладки клавиатуры.
consolechars – загрузка консольных экранных шрифтов.


2.3 Файловая система


cdrecord – запись CD дисков;

cdrecord -v speed=2 dev=0,6,0 -data my.img


cfdisk – конфигурация разделов диска;
edquota – редактирование квот файловой системы;
fdformat – Форматирование дискеты;
fdisk – работа с разделами диска;
fsck – проверка файловой системы указанного типа;
fsck.<fs> – проверка файловой системы типа <fs>;

fsck.vfat /dev/fd0 – проверка файловой системы FAT12 на флоппи диске.


hdparm – установка параметров дисковой подсистемы;
loadlin.exe – загрузка ядра linux из DOS;
losetup – создание петлевого устройства(loop) с криптованием;

losetup -k 192 -e aes /dev/loop4 /tmp/file.iso
– создание loop4 в file.iso с криптованием.


mkfs – создает FS указаного типа как на физический раздел так и в файл;
mkfs.<fs> – cоздание FS типа <fs>;

mkfs.vfat /dev/fd0 – cоздает файловую систему FAT12 на флоппи диске.


mkisofs – создание ISO образа из каталога;

mkisofs -r -o my.iso /usr/games


mount – монтирование файловых систем:

  • Важные опции:
    quiet – Позволяет копировать/переносить файлы без вопросов о невозможности смены user/group;
    iocharset – Кодировка в которой производится ввод/вывод;
    codepage – Кодовая страница в которой хранится монтируемая файловая система;
    showexec – Работает для DOS/WIN FS, и отображает корректно запускаемые файлы;
    rw – Монтировать для чтения-записи;
    ro – Монтировать только для чтения;
  • Примеры:
    mount -t smbfs – o username=tridge, password=foobat //c /data/test
    – Монтирование сетевого диска //c на каталог /data/test;


    mount -t ext2 /dev/fd0 /mnt

    – Монтирование флоппи диска с FS ext2 на каталог /mnt;


    mount [-t auto] /dev/fd0 /mnt

    – Монтирование флоппи диска на каталог /mnt с автоматическим определением системы;


    mount host:/mnt/export /mnt/local

    – Монтирование директории /mnt/export удаленной машины host на локальную директорию /mnt/local;


    mount -t iso9660 -o ro,loop=/dev/loop0 /my.iso /mnt/cdrom2

    – Создание loop из образа CDROM;


    mount -t cdfs /dev/cdrom /mnt/cdrom

    – Позволяет увидеть/отредактировать CD диск как есть( с сессиями);


    mount -bind /home /var/local

    – Подключить каталог /home к каталогу /var/local


parted – очень мощный манипулятор дисковыми разделами;
quota – квоты для текущего пользователя;
quotaon – включение квот;
quotaoff – выключение квот;
quotacheck – проверка квот файловой системы;
quotastats – состояние квот файловой системы;
tune2fs – изменение параметров смонтированной ext2/ext3;
resize2fs – изменение размера файловой системы ext2/ext3 на разделе (в связке с LVM);
resize_reiserfs – изменение размера файловой reiserfs системы на разделе (в связке с LVM);
swapoff – отключить свопинг;
swapon – включить свопинг;
sync – экстренный сброс буферов на диск;
umount – отмонтировать файловую систему;
xcdroast – X-оболочка над cdrecord и mkisofs.


2.4 X (графическая система)


appres – информация о ресурсах X приложений;
glxingo – информация о расширении GLX (Open GL
?);
gnome-session – запуск дисплей-менеджера GNOME(GDM);
import – создаёт снимок X экрана или конкретного окна;
listres – вывод X – ресурсов;
mkfontdir – создает раскодировщик шрифтов в текущем каталоге из указаного каталога;

mkfontdir -e /usr/X11R6/lib/X11/fonts/encodings


showrgb – наименования и значения стандартных цветов;
startkde – запуск оконного менеджера KDE;
startx – скрипт запуска X-сервера;

startx – :2 – запуск еще одного экземпляра X, под номером 2;
startx – -depth 24 – запуск X-сервера с глубиной цвета 24 бита;


ttmkfdir – создание директории TTF шрифтов.

ttmkfdir > fonts.scale – после можно скопировать в fonts.dir


xdpyinfo – информация о дисплее;
xev – просмотр информации о событиях в окне;
xf86config – конфигурация X-сервера;
xfontsel – выбор шрифтов для X-сервера;
xfs – сервер шрифтов;
xhost – утилита управления доступом удалённых хостов к X-серверу;
xinit – утилита запуска X, а затем указанного приложения (по умолчанию – xterm);

xinit /usr/bin/icewm – :1


xkill – завершение оконного приложения;
xlsfonts – вывод списка шрифтов X-сервера;
xmag – увеличение части экрана;
xmodmap – изменение раскладки клавиатуры в X;
xosview – выводит основную информацию о ОС;
xprop – вывод реквизитов окна;
xrefresh – перерисовка экрана;
xset – утилита установкы параметров X-сервера;
xsetroot – установка вида корневого каталога;
xvidtune – настройка параметров монитора (частоты кадров и строк);
xvinfo – информация о расширении Xv;
xwininfo – показать информацию об указанном окне;
xwd – захват изображения на экране;


2.5 Железо


alsaconf – установка звуковой карты на подсистеме звука ALSA;
hwclock – установка, считывания аппаратных часов (CMOS);
kbd_mode – установка режима работы клавиатуры(RAW, MEDIUMRAW, XLATE, UNICODE);
lpr – печать с файла или с потока на указанный принтер;

lpr -P lp1 my.txt – печать файл my.txt на принтер lp1


lpq, lpstat – состояние очереди печати;
lprm – удаление задания печати из очереди;
lspci – выводит листинг устройств на PCI – шине;
pbm* – преобразование, из графического формата *.pdm в формат принтера [*];
pciscan – сканирование PCI-шины и отображение модулей необходимый для работы с устройствами на PCI-шине;
setleds – установить светодиоды на клавиатуре;
setserial – установка/конфигурация COM портов;
setterm – установка параметров терминала;
showkey – утилита для отображения сканкодов клавиш и кодов мапированных системой;
statserial – утилита для контроля за состоянием serial-порта;
tunelp – установка параметров параллельного порта;
usbview – утилита для просмотра и конфигурации USB-устройств;


2.6 Мультимедия


alsamixer – ALSA-миксер;
aumix – консольный AUDIO-миксер;
cdparanoia – позволяет грабить CD;
lame – преобразование *.wav в *.mp3;
mencoder – перекодировка видеофайлов с одного видеоформата в другой;

mencoder dvd://1 -oac mp3lame -ovc xvid -xvidencopts bitrate=800 -o 1.avi
– перекодировка первой дорожки DVD-диска с битрейтом 800 аудиокодеком mp3lame и видеокодеком xvid.


oggenc – преобразование *.wav в *.ogg;
play – проигрывание звуковых файлов;
rec – запись в звуковой файл.


2.7 Сеть


arp – манипуляция системным ARP кешем (манипуляция аппаратными адресами);
ethereal – мощный анализатор трафика сети;
ettercap – cнифер сети;
iptraf – мощный и удобный сканер сети;
ifconfig – утилита конфигурации сетевых интерфейсов (eth0, ppp0, lp0 ...);

down – выключить интерфейс;
up – включить интерфейс;
inet <ip> – интерфейс с <ip> адресом;
hw ether <mac> – установить MAC адрес интерфейса;
eth0:0 – псевдоним eth0:0 на интерфейс eth0;


iftop – контроль общего трафика по интерфейсам;
ipchains – утилита конфигурации firewall на основе интерфейса цепочек (ядра 2.2.*);
iptables – утилита конфигурации firewall на основе IP-таблиц (ядра 2.4.*);
minicom, xminicom – установка соединения с другой системой через модем(COM);
netstat – состояние сети (отображает используемые сокеты и их состояния).

-a – вывод всех сокетов;
-e – показать какой пользователь работает с сокетом в настоящий момент.


nmap,nmapfe – сканер сети и его GUI, можно получить перечень открытых портов и т.д;
nmblookup – утилита работы с Net BIOS
? (для SMB);

nmblookup -B Host '*' – возвращает IP адрес <Host>;
nmblookup -d 2 '*' – посылка широковещательных сообщений на все адреса.


ping – проверка связи с удаленным хостом путём посылки служебных тестовых сообщений;
route – управление таблицей маршрутизации;

delete – удаление указанного роутинга;
add – добавление указанного роутинга;


rsync – утилита для работы с протоколом rsinc, который, в свою очередь, используется для синхронизации по сети;

rsync -va – -partial – -stats – -delete-after -e ssh ./ devel:/incoming/backports/2.4/
– отправка пакетов в репозиторий ALTLinux Sisyphus путём синхронизации локальной директории с удалённым сервером.


smbclient – утилита для организации клиентских запросов к SMB-серверу;
smbprint – печать на SMB-принтер;
traceroute – проверка прохождения сетевых пакетов через сервера в сети;
tcpdump – дамп TCP протокола, позволяет отслеживать различные запросы;
testparm – проверка конфигурации файла smb.conf для SMB-сервера;
wget – мощная утилита для выкачивания файлов из сети по протоколам: HTTP, HTTPS, и FTP.


2.8 Почта


mail – создать сообщение;
mailq – показать очередь отправляемых сообщений;
mutt,pine – консольный почтовый клиент;
newaliases – добавляет новые почтовые алиасы сервера исходящих сообщений;
procmail – утилита автоматизации обработки почтовых сообщений;
sendmail – управление сервером исходящей почты.

-q[time] – обработать сообщения в очереди;
-v – режим печати сопровождающих сообщений;


2.9 Ядро


depmod – проверка зависимостей модулей (выполняется при добавлении новых модулей);

-a – проверка модулей по всей структуре /lib/modules и внесение соответствующих корректив;


installkernel – скрипт инсталляции ядра (используется после компиляции ядра – make install);
lsmod – получение списка загруженых и работающих модулей;
insmod – подключение модуля к ядру;
modinfo – получение информации о модуле и его параметрах;
modprobe – утилита управления модулями ядра, без параметров подключает модуль к ядру;

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


mkinitrd – скрипт автоматического создания загрузочного образа RAM-диска, для подключения к ядру;
powertweak – утилита для тонкого управления настройками ядра (через sysctl);
procinfo – получить информацию о процессах и системе из /proc;
ramsize – конфигурация размера диска в памяти используемого образом ядра по умолчанию;
rdev – конфигурация корневого каталога используемого образом ядра по умолчанию;
rmmod – отключение модуля от ядра;
sysctl – конфигурация параметров (/proc/sys/) ядра во время его работы;
vidmode – конфигурация видеорежа используемого образом ядра по умолчанию;


2.10 Программирование


aclocal – утилита из инструментария Automake, генерирует макрос aclocal.m4 в соответствии с файлом configure.in;
ar – создание/редактирование архивов(статических библиотек) из объектных модулей.
autoconf – утилита из инструментария Autoconf, генерирует скрипт configure, из файла configure.in;
automake – утилита из инструментария Automake, генераирует Makefile.in
?, из файла Makefile.am
?;

r – добавление новых и замена старых файлов;
c – создание библиотеки при её отсутствии.


cpp – препроцессор языка C, обычно вызывается из gcc;
ctags – генерирует тег-файл для облегчения навигации по коду (используется VIM);

-e – эмуляция etags для генерации тег-файлов для emacs.


ctrace – для прослеживания выполнение C-программы по операторам;
cxref – анализирует группу .c-файлов и строит для каждого файла таблицу перекрестных ссылок на автоматические, статические и глобальные имена.
dialog – позволяет создавать диалоги из скрипта в консоли;
diff – поиск изменений в сравниваемых текстовых файлах;

diff -uNr каталог.orig каталог > my.patch // Создание патча


f2c – транслирует исходный код программы на языке “Fortran” в исходный код на языке “C”;
gcc – GNU компилятор языка С,С++,ASM (с вызовом линкера);

-x lang – определяет язык исходных модулей;
-c – компилирует и собирает ранее или позже перечисленные исходные файлы;
-S – компилирует перечисленные исходные файлы в *.s файлы;
-E – производит первичную обработку исходных файлов;
-o rez – собрать перечисленные obj-файлы в один файл <rez>;
-L – определение путей поиска библиотек;
-l – определяет перечень статических библиотек (без lib* и *.a);
-w – запрет отображения предупреждений компилятора;
-Wall – генерировать все возможные предупреждающие сообщения;
-pedantic – проверка исходного текста на соответствие стандарту ANSI;
-Wl – различные опции линковщика:
, rpath – определяет дополнительные пути поиска динамических библиотек (-Wl,rpath,/usr/newpath);
,
soname – название разделяемой библиотеки (-Wl,-soname,libfuncs.so.1).

-fPIC – создание объектных файлов для динамических библиотек (PIC – Position Independent Code.)
-shared – создание динамической библиотеки (совместно с -o);
-nostdlib – не использовать стандартные системные запускающие файлы или линкующиеся библиотеки.
-static – принуждает использовать статические библиотеки вместо динамических;
-rdynamic – включает возможность использования символьной информации для разрешения ссылок в динамически загружаемых библиотеках;
-M – для каждого файла с исходным текстом препроцессор будет выдавать на стандартный вывод список зависимостей в виде правила для программы make;
-MM – аналогичен ключу -M, но в список зависимостей попадает только сам исходный файл, и файлы, включаемые с помощью директивы #include «имя_файла»;
-MD – аналогичен ключу -M, но список зависимостей выдается не на стандартный вывод, а записывается в отдельный файл зависимостей;
-MMD – аналогичен ключу -MD, но в список зависимостей попадает только сам исходный файл, и файлы, включаемые с помощью директивы #include «имя_файла»;
-pipe – компилятор будет работать через каналы.
-O[n] – установить уровень оптимизации (n=0..3).
-g – добавить отладочную информацию.
-p,-pg – добавить в модуль код для отслеживания узких мест, после выполнения генерируется mon.out файл, который можно обработать утилитой gprof.
-masm – использовать стандарт ассемблера (att|intel).


gdb – мощный консольный GNU дебагер;
indent – утилита форматирования исходного текста под указанные требования;
lclint – утилита проверки синтаксиса исходных модулей;
ldconfig – активизировать изменения в файле /etc/ld.so.conf;
ldd – показывает динамические библиотеки используемые программой;
lint – обнаруживает в C-программах конструкции, которые могут привести к ошибкам во время выполнения, расточительно используют ресурсы или могут снизить мобильность программ;
ltrace – трассировка динамических библиотек, программы указанной в параметре;
make – используется для организации сложных проектов из десятков файлов;

-directory – указывает рабочую директорию;
-makefile – указывает на используемый makefile;
-p – вызывает вывод списка всех установок по умолчанию;
-j3 – установить количество параллельно компилирующих процессов;


memprof – программа для определения утечек памяти в программах и др;
mtrace – обработка лога созданного С-функцией mtrace;
nm – используется для получения различной информации из таблицы имен объектных файлов обычного формата;
objdump – позволяет получить много информации об объектном файле, а также дизасемблировать его;
od – печать дампа файла;
p2c – транслирует исходный код программы на языке “Pascal” в исходный код на языке “C”;
patch – внесение изменений в файл исходя из файла изменений;

patch -p1 < ../my.patch – внесение изменений в текущий каталог из my.patch
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);
shar – создание самораспаковывающихся кодированных архивов для отправки по почте;
size – выдает количество байт, занимаемое тремя секциями (.text, .data и .bss) объектного файла обычного формата при загрузке его в память для выполнения;
strace – трассировка системных вызовов, осуществляемых программой указанной в параметре;
strip – удаляет из объектного файла обычного формата таблицу имен и информацию о номерах строк;
sum – расчет контрольной суммы;
Xdialog – позволяет создавать диалоги в X из скрипта.


3 Процедуры


3.1 Компиляция ядра




$ cd KernelTree/  #Переход к распакованому корню дерева исходников ядра
$ make config(menuconfig, xconfig)  #Конфигурация
$ make dep  #Создание файлов зависимостей
$ make clean  #Очистка от ранее скомпилированных модулей
$ make bzImage  #Компиляция ядра
$ make install  #Установка ядра
$ make modules  #Компиляция модулей
$ make modules_install  #Установка модулей


3.2 Создание swap в файле




$ dd if=/dev/zero of=/swap bs=1024 count=8208  #Создание файла необходимого размера для swap
$ mkswap /swap  #Инициализация структуры swap в файле
$ /bin/sync  #Сброс изменений на диск
$ swapon /swap  #Включение swap (отключение - swapoff)


3.3 Смена имени системы

  • отредактировать /etc/sysconfig/network
  • отредактировать /etc/hosts


3.4 Удалённое подключение с использованием X-сервера, для запуска GUI приложений


Вариант 1 (обычный):



client$ xinit - :1  #Запустить X-сервер на клиенте (должен запуститься xterm)
client$ xhost +server  #Зарегистрировать машину сервера у клиента
client$ telnet server -l UserName  #Подключиться к удаленной машине (серверу)
server$ export DISPLAY=client:0.0  #Установить переменную DISPLAY
server$ startkde  #Запустить оконный менеджер

Вариант 2 (используя ssh):



client$ xinit - :1  #Запустить X-сервер на клиенте (должен запуститься xterm)
client$ ssh -X UserName@server  #Подключиться к удаленной машине (серверу)
server$ startkde  #Запустить оконный менеджер


3.5 Установка русской консоли




$ consolechars -f UniCyr_8x16 -m koi8-r;
$ echo -ne "\033(K";
$ loadkeys ru1;


3.6 Подготовка и компиляция проектов на основе autoconf/automake




$ gettextize -f -c  #Генерация локализационных файлов
$ autoheader  #Генерация файла
$ autoscan  #Автоматическая генерация cofigure.scan и проверка configure.in
$ ifnames  #Создание списка идентификаторов которые используются в препроцессоре
$ aclocal -I -m4  #Генерация макроса aclocal.m4
$ autoconf  #Генерация скрипта configure. Для реконфигурации использовать autoreconf
$ automake -a -c  #Генерация файла Makefile.in
$ configure  #Генерация Makefile
$ make  #Компиляция проекта
$ make install  #Установка программы


3.7 Форматирование дискет, создание FS, проверка FS




$ fdformat  /dev/fd0
$ mkfs.vfat /dev/fd0
$ ckfs.vfat -ta /dev/fd0


3.8 Создание зашифрованых ФС




$ dd if=/dev/zero of=./sequre_disk bs=1024 count=50000  #Создание файла для будущей FS
$ losetup -e aes /dev/loop0 ./sequre_disk  #Создание шифрованого loop устройства
$ mkfs.ext3 /dev/loop0  #Cоздание файловой системы на loop устройстве
$ losetup -d /dev/loop0  #Отключение loop устройства
$ mount -o loop,encryption=aes ./sequre_disk /mnt/tmp/  #Обычное монтирование шифрованой ФС


3.9 Подготовка к проверке выделения памяти с помощью Electric Fence

  • подключить динамическую библиотеку -lefence


3.10 Подготовка к проверке выделения памяти с помощью mtrace

  • Добавить в программу: #include <mcheck.h> и mtrace()
  • Добавить переменную окружения: $ export MALLOC_TRACE=mem.log
  • Запустить программу, в результате чего буден создан файл mem.log
  • Обработать сгенерированный файл: $ mtrace my_prog $MALLOC_TRACE


3.11 Подключение дисковых квот

  • Добавить опции usrquota, grpquota для выбранных разделов в файле /etc/fstab;
  • Создать файлы quota.user и quota.group в корне выбранных разделов;
  • Выполнить проверку квот <$ quotacheck -avugm>;
  • Включить квоты <$ quotaon -avug>;
  • Редактирование квот для конкретного пользователя <$ edquota -u user>;
  • Проверка состояния квот <$ repquota -a>.


3.12 Печать страниц документации

  • man man | col -b | lpr 
  • info man | col -b | lpr


3.13 Настройка ssh




client$ ssh-keygen  #Генерация ключей на локальной машине в директорию " /.ssh/"
client$ scp ./identity.pub rserver: ~/.ssh/  #Передача публичного ключа на удалённый сервер (любым способом)
rserver$ cat ~/.ssh/identity.pub >> ~/.ssh/authorized_keys  #Авторизация своего открытого ключа на сервере
client$ ssh rserver  #Подключение к удалённому серверу


3.14 Создание ramdisk (диска в памяти)




$ mkfs /dev/ram0
$ mount /dev/ram0 /mnt/disk


3.15 Создание, использование и обслуживание LVM




$ vgscan  #Поиск по системе виртуальных групп VG
$ vgchange -ay  #Активизировать виртуальную группу (-an - деактивизировать)
$ pvscan  #Поиск доступных физических томов и отображение сравнительной информации о них
$ pvdisplay /dev/hda1  #Просмотр информации о физическом томе
$ pvcreate /dev/hda1  #Подготовка физического тома PV (тип раздела 8Eh)
$ pvmove /dev/hda1  #Освобождение физического тома (перенос данных на другие физические тома)
$ vgdisplay vg00  #Просмотреть информацию о виртуальной группе
$ vgcreate vg00 /dev/hda1 /dev/hdb1  #Cоздание виртуальной группы на основе двух физических томов
$ vgremove vg00  #Удаление виртуальной группы
$ vgextend vg00 /dev/hdc1  #Добавление физического тома к виртуальной группе
$ vgreduce vg00 /dev/hda1  #Удаление физического тома из виртуальной группы
$ vgexport vg00  #Подготовка виртуальной группы для переноса на иную машину
$ vgimport vg00 /dev/hda1 /dev/hda2  #Импорт виртуальной группы (с другой машины)
$ lvcreate -L1500 -nlv00 vg00  #Cоздание логического тома (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


3.16 Добавление в программу поддержки i18n

  • Добавить к проекту:
    #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


4 Устройства


4.1 Типы


b – блочные;
c – символьные;
- – обычный файл;
d – каталог;
l – символьная ссылка;
p – именованный канал;
s – сокет;


4.2 Файлы устройств (в каталоге /dev)


null – Нулевое устройство, данные в котором исчезают;
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).


5 Горячие клавиши


5.1 BASH

  • Основные:
Ctrl+H(?) – Erase “<-»
Ctrl+C – Прервать текущий процесс (сигнал SIGINT)
Ctrl+\ – Прервать текущий процесс с дампом памяти(core damp)
Ctrl+D – Eof (выход из консольного пользовательского процесса)
Ctrl+S – Остановить процесс
Ctrl+Q – Запустить процесс
Ctrl+Z;; – Перевести процесс в фоновый режим
Ctrl+J – Сброс параметров терминала
Crtl+W – Удалить последнее слово
Ctrl+M – Аналог клавиши “Enter”
Ctrl+R – Переводит в режим поиска команды по истории. Повторное нажатие перебирает сходные по маске строки
Ctrl+L – Очистка экрана
TAB – Автозавершение команд
ScrLock – Приостановка выполнения(печати) текущей команды
Ctrl+Alt+Del – Закрыть систему и перегрузится
  • Навигация:
Up; Down – Просмотр и редактирование истории команд
Alt+Left – Переключение по терминалам влево(консоль)
Alt+Right – Переключение по терминалам вправо(консоль)
Sh+PgUp – Прокрутка текста вверх
Sh+PgDown – Прокрутка текста вниз
Ctrl+B – На символ назад
Ctrl+F – На символ вперёд
Alt+B – На слово вперёд
Alt+F – На слово назад
Ctrl+A – Переводит курсор в начало строки
Ctrl+E – Переводит курсор в конец строки
  • Редактирование:
Ctrl+D – Удаление символа в позиции курсора
Ctrl+H – Удаление символа перед позицией курсора
Alt+D – Удаление символов до ближайшего справа пробела
Ctrl+W – Удаление символов до ближайшего слева пробела
Ctrl+U – Очистить строку ввода слева от курсора
Ctrl+K – Очистить строку ввода справа от курсора
Ctrl+T – Смена положения соседних символов
Ctrl+_ – Откат редактирования
Ctrl+X,Ctrl+U – -//-
MidlMouse – Вставляет текст, выделенный в данный момент в другом месте


5.2 X


Ctrl+Alt+F[n] – Переключение между псевдотерминалами
Ctrl+Alt+<+> – Сменить разрешение на следующее (прописаных в XF86Config)
Ctrl+Alt+<-> – Сменить разрешение на предыдущее (прописаных в XF86Config)
Ctrl+Alt+ESC – Режим удаления указанного окна
Ctrl+Alt+BkSpc – Закрыть текущий X сервер
MidlMouse – Вставляет текст, выделенный в данный момент в другом месте


5.3 KDE


Alt+Tab – Переход между окнами в прямом направлении
Alt+Sh+Tab – Переход между окнами в обратном направлении
Ctrl+Tab – Переход между рабочими столами в прямом направлении
Ctrl+Sh+Tab – Переход между рабочими столами в обратном направлении
Ctrl+Esc – Показать таблицу активных процессов (ksysguard)
Alt+F1 – Вызвать K-меню
Alt+F12 – Эмулировать мышь стрелками клавиатуры
Alt+LeftMouse – Перенести окно схватив его за любую видимую его часть
Alt+PrScreen – Сделать снимок текущего окна в буфер обмена
Ctrl+Alt+l – Запереть рабочий стол
Ctrl+Alt+d – Спрятать/показать рабочий стол


5.4 SysRQ ядра (Alt+SysRq+Key)


r – Отключает режим непосредственной передачи символов с клавиатуры и устанавливает её в режим XLATE
k – Уничтожает все процессы на текущей виртуальной консоли
b – Немедленно перезапускает систему
o – Отключить питание системы через АРМ
s – Синхронизировать все файловые системы
u – Демонтирует и перемонтирует все смонтированные файловые системы в режиме только для чтения
p – Вывести текущее значение регистров и флагов на консоль
t – Вывести список текущих задач и информацию о них на консоль
m – Вывести текущее состояние памяти на консоль

0–9
– Устанавливает уровень выдачи сообщений на консоль для фильтрации сообщений ядра
e/i – Посылает сигналы term или kill всем процессам, кроме init
l – Посылает SIGKILL всем процессам, включая init


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


6.1 xorg.conf

  • Секция «InputDevice" – описание устройств ввода (клавиатур, манипуляторов мышь)
Identifier – идентификатор устройства ввода
Driver – драйвер устройства ввода:
kbd – клавиатура;
mouse – манипулятор мышь.

Option – опция:

XkbLayout – список раскладок клавиатуры («us,ru,ua»)
XkbOptions – опции клавиатуры, обычно указывается комбинация клавиш для переключения раскладки клавиатуры ("grp:ctrl_shift_toggle", “grp_led:scroll”)
XkbVariant – вариант раскладки клавиатуры (default, winkeys)
XkbModel – модель клавиатуры (105,104 ...)
Device – файл устройства мыши (/dev/input/mice)
Protocol – Протокол интерфейса мыши (PS/2, IMPS/2, ...)
ZAxisMapping – Расключение дополнительных клавиш мыши (колесо – «4 5")
  • Секция “Monitor” – описание монитора
  • Identifier – идентификатор монитора
    DisplaySize – размер дисплея (пропорции – 320 240)
    Option – опция:
    dpms – включение режима энергосбережения
  • Секция “Device” – описание устроства видеовывода
  • Identifier – идентификатор видеокарты
    Driver – драйвер видеокарты (nv, nvidia, radeon, fglrx, ...)
    • Секция “Screen” – описание экрана
    Identifier – идентификатор экрана
    Device – идентификатор устройства видеовывода, видеокарта (описана в секции “Device”)
    Monitor – идентификатор монитора (описан в секции “Monitor”)
    DefaultDepth – глубина цвета устанавливаемая по умолчанию
    SubSection “Display” – подсекция экрана (описывает допустимые разрешения с глубинами цвета):
    Depth – глубина цвета (8,15,16,24,32)
    Modes – допустимые разрешения экрана («1152x864» “1024x768” “1024x736” “1024x600” “960x720” “848x480” “832x624” “800x600”)
  • Секция «ServerLayout" – обобщающая конфигурационная секция (корень)
  • Identifier – идентификатор сервера
    Screen – идентификатор экрана используемого сервером (описан в секции “Screen”)
    InputDevice – идентификатор устройства ввода (описано в секциях «InputDevice")
    • Секция “Module” – секция описания дополнительных модулей расширения
    Load – загрузка указанного модуля:
    dbe – ???
    glx – Модуль языка GLX (для OpenGL)
    dri – Direct rendering infrastructure (для OpenGL)


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

    • Управление звуком:
    \007 – издать звук;
    \033[10;#] – установить частоту звукового сигнала в герцах;
    \033[11;#] – установить продолжительность звукового сигнала в миллисекундах.
    • Управление цветом:
    \033[0m – все атрибуты по умолчанию;
    \033[1m – жирный шрифт (интенсивный цвет);
    \033[2m – полу яркий цвет (тёмно-серый, независимо от цвета);
    \033[4m – выделение (ярко-белый, независимо от цвета);
    \033[5m – мигающий;
    \033[7m – реверсия (знаки приобретают цвет фона, а фон – цвет знаков);
    \033[22m – установить нормальную интенсивность;
    \033[24m – отменить подчеркивание;
    \033[25m – отменить мигание;
    \033[27m – отменить реверсию;
    \033[30 – чёрный цвет знаков;
    \033[31 – красный цвет знаков;
    \033[32 – зелёный цвет знаков;
    \033[33 – коричневый цвет знаков;
    \033[34 – синий цвет знаков;
    \033[35 – фиолетовый цвет знаков;
    \033[36 – цвет морской волны знаков;
    \033[37 – серый цвет знаков;
    \033[40 – чёрный цвет фона;
    \033[41 – красный цвет фона;
    \033[42 – зелёный цвет фона;
    \033[43 – коричневый цвет фона;
    \033[44 – синий цвет фона;
    \033[45 – фиолетовый цвет фона;
    \033[46 – цвет морской волны фона;
    \033[47 – серый цвет фона.
    • Управление положением курсора
    \033[#A – передвинуть курсор вверх на # строк;
    \033[#B – передвинуть курсор вниз на # строк;
    \033[#С – передвинуть курсор вправо на # столбцов;
    \033[#D – передвинуть курсор влево на # столбцов;
    \033[#E – передвинуть курсор вниз на # строк и поставить в начало строки;
    \033[#F – передвинуть курсор вверх на # строк и поставить в начало строки;
    \033[#G – переместить курсор в указанный столбец текущей строки;
    \033[#;#H – задает абсолютные координаты курсора (строка, столбец).
    • Управление палитрой
    \033]Pnrrggbb – изменяет палитру. n – номер цвета; rr, gg и bb – значения RGB-компонент в шестнадцатеричной форме;
    \033]R – восстанавливает палитру, принятую по умолчанию.
    • Управление виртуальными консолями
    \033[12;#] – сделать текущей консоль с указанным номером.
    • Управление xterm
    \033]0;text\007 – присваивает имя окну и иконке;
    \033]1;text\007 – присваивает имя иконке;
    \033]2;text\007 – присваивает имя окну.
    • Общее
    \033c – сброс терминала;
    \033(K – переключение на загружаемый шрифт.


    6.3 BASH


    6.3.1 Общее


    ![numb] – запуск строки <numb> из истории (history);
    !str – запуск ближайшей строки соответствующей маске str из истории (history);
    \ – продолжение текущей строки на другой строке или экранирование специального символа после данного символа (\$);
    ; – разделитель команд;
    () – выполнения сценария в скобках в другой подоболочке;
    (()) – включение выражений с «С» синтаксисом;
    [] – включение условных операций с синтаксисом команды test;
    “pwd” – определение строки с разрешением подстановки значений переменных;
    'pwd' – определение строки с запрещением подстановки значений переменных;
    `pwd` – результат выполнения команды pwd;
    x=pwd – определение переменной окружения x и присвоение ей строки pwd;
    x='34' – определение переменной окружения x и присвоение ей строки '34';
    x[2]=pwd – определение массива x и присвоение его элементу 2 строки pwd;
    x=(zero one two three) – определение массива x и заполнение четырех его элементов;
    x=([0]=zero [3]=three [2]=two [1]=one) – определение массива x и заполнение четырех его элементов по выбору;
    $(( 100/3 )), $[100/3] – выполнение простых целочисленных операций.

    • Примеры:
    a=4; echo $[a=$a+4] $[a+=4] $[a=a+4]
    a=4; echo $[a=$a+4, a+=4, a=a+4]
    $[2!=2] $[2!=3]
    $[a=2<3] $a
    • Операции:
    id++, id-- – постфиксное увеличение/уменьшение значения переменной на 1
    ++id, --id – префиксное увеличение/уменьшение значения переменной на 1
    -, + – унарные минус и плюс
    !, ~ – логическое и побитовое отрицание
    ** – возведение в степень
    *, /, % – умножение, деление, получение остатка от деления
    +, - – сложение, вычитание
    < <, > > – побитовый сдвиг влево и вправо
    <=, >=, <, > – сравнение
    ==, != – равенство и неравенство
    & – побитовое И
    ^ – побитовое исключающее ИЛИ
    | – побитовое ИЛИ
    && – логическое И
    || – логическое ИЛИ
    выр1?выр2:выр3 – условное вычисление
    =, *=, /=, %=, +=, ?=+ – присваивание
    выр1,выр2 – запятая
    () – выделение более приоритетного участка выражения


    $x, ${x} – подстановка значения переменной/параметра x
    ${!x} – косвенная подстановка значения переменной/параметра указанного в x;
    ${#x} – косвенная подстановка значения переменной/параметра указанного в x,

    если параметр – * или @, подставляется количество позиционных параметров,
    если параметр – массив с индексом * или @, подставляется количество элементов массива;


    ${x:?»Error, no bar»} – генерировать ошибку если x не определена или равна нулю;
    ${x?»Error, no bar»} – -//-;
    ${x:="foose"} – присвоить значение по умолчанию если x не определена или равна нулю;
    ${x="foose"} – -//-;
    ${x:offset:lenght}, ${x:offset} – возвращает часть от x начиная с offset длиной lenght;

    В качестве длины и смещения могут выступать:
    • арифметические выражения;
    • смещение отрицательное число – отсчитывается с конца значения параметра;
    • параметр – @, результат – <n> позиционных параметров, начиная с параметра <m>;
    • параметр – массив с индексом @ или *, результат – <n> элементов массива, начиная с ${параметр[m]};


    ${x:+"foose"} – если переменная определена то вместо неё используется “foose”;
    ${x+"foose"} – -//-;
    ${x:-"foose"} – если переменная определена то она используется иначе используется “foose”;
    ${x-"foose"} – -//-;
    ${пар#шабл} – ??
    ${пар##шабл} – ??
    ${пар%шабл} – ??
    ${пар% %шабл} – ??
    ${пар/шабл/стр} – заменяется первая, самая длинная подстрока значения параметра, на указанную строку;
    ${пар/ /шабл/стр} – заменяются все самые длинные подстроки значения параметра, на указанную строку;
    ${array[@]} – обращение сразу ко всему массиву;
    $(x) – выполнение команды x и возврат результата (подобно `x`);
    $0 – имя команды в командной строке;
    $n, ${n} – аргумент n командной строки (n = 1...);
    $* – раскрывает единственное слово, содержащее список всех позиционных парам;
    $# – количество аргументов;
    $@ – ссылка на все аргументы команды отделенные пробелами;
    $$, $PPID – PID текущего процесса (скрипта);
    $? – код возврата последней команды;
    $! – PID последнего фонового процесса;
    $'\n' – вставка управляющего символа в строку;
    Comm && – выполняет действие после выражения если команда <Comm> неудачна;
    Comm || – выполняет действие после вырожения если команда <Comm> удачна;
    MYVAR#*fo – отсекает от начала переменной MYVAR самую короткую часть удовлетворяющую маске *fo;
    MYVAR##*fo – отсекает от начала переменной MYVAR самую длинную часть удовлетворяющую маске *fo;
    MYVAR%fo* – отсекает от конца переменной MYVAR самую короткую часть удовлетворяющую маске fo*;
    MYVAR% %fo* – отсекает от конца переменной MYVAR самую длинную часть удовлетворяющую маске fo*;
    MYVAR:2:5 – возвращает часть строки MYVAR которая начинается с 2 символа и заканчивается 5;


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


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

    = 0 – молча игнорировать все ошибки;
    = 1 – сообщить об ошибке и продолжить работу;
    = 2 – прервать (без сообщения);
    = 3 – прервать и сообщить об ошибке.


    MALLOC_TRACE – определяет путь для комманды mtrace и функции в программе mtrace;


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


    . – выполнить все команды в файле после точки;
    & – выполнить команду до него в фоновом режиме;
    if [ Condition ] – условный оператор ( if ( Condition ) – tch);
    then – выполнение условия;
    else – невыполнение условия;
    elif [ Condition ] – совмещенная команда else if;
    fi – окончание условного оператора;
    for x in 1 2 3 4 – оператор цикла, в x перебираются значения за in ( foreach x (1 2 3 4) – tch );
    while [ Condition ] – выполняет цикл пока верно условие Condition ( while ( Condition ) -tch );
    until [ Condition ] – выполняет цикл до равенства условия Condition;
    (repeat x expression – tch ) – выполняет повторение выражения <expression> x раз;
    select x in list; – запрашивает выбор из списка <list> и присваивает выбранное значение переменной <x>;
    do – начало цикла определенного for, while, until;
    done – конец цикла определенного for, while, until;
    break – завершение цикла;
    continue – продолжение цикла сначала;
    case x in – rоманда выбора. Имеет структуру:

    case "${x##*.}" in 
    gz) gzunpack ${SROOT}/${x} ;;
    bz2) bz2unpack ${SROOT}/${x} ;;
    • ) echo «Неизвестный формат архива» exit ;;

    esac


    <;em>function func() { } – определяет функцию с именем func;
    export x – создает переменную окружения x и экспортирование её в систему;
    local x – создает локальную переменную окружения которая не перекрывает глобальной (часто используется для функций);
    declare – встроенная команда bash для декларирования переменных и изменения их атрибутов;
    set x = str – инициализация переменной;

    • A Name_A 1 2 3 4 5 – инициализация массива;
    • V,-X – включение отладочного режима;
    +V,+X – выключение отладочного режима;


    unset x – отмена инициализации переменной;
    read x y – ввод строки из двух слов;
    exit – выход из сценария;
    eval – означивание строки (т.е. замена записей типа "$5" на их значения);
    shift – сдвиг параметров командной строки на единицу (для доступа к параметрам с номером > 9 );
    trap – установка обработчиков сигналов в скрипте;
    alias – создание псевдонимов или альтернативных имен команд;
    unalias – удаление псевдонима;


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


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


    6.3.5 Операторы сравнения строк


    -z – строка пуста;
    -n – строка непуста;
    =, (==) – строки равны;
    != – строки неравна;


    6.3.6 Арифметические операторы сравнения


    -eq – равно;
    -ne – неравно;
    -lt,(< ) – меньше;
    -le,(<=) – меньше или равно;
    -gt,(>) – больше;
    -ge,(>=) – больше или равно;


    6.3.7 Логические операторы


    ! – отрицание логического вырожения;
    -a,(&&) – логическое «И»;
    -o,(||) – логическое «ИЛИ»


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


    | – перенаправление вывода в канал
    < file – file записать в STDIN
    > file – STDOUT записать в file
    ╔╔<div class="center"> file – STDOUT добавить в file<br />
    </div>╔╔ str – определяет слово <str> как признак окончания ввода
    2> file – STDERR записать в file
    1>&2 – STDOUT записать в STDERR
    2>&1 – STDERR записать в STDOUT
    &> file – STDOUT и STDERR записать в file


    6.3.9 Специальные символы


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


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


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


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


    045 – восьмеричное число (начинается с 0)
    0x45, 0X32 – шестнадцатеричное число
    [основание#]n – число с основанием <n> (по умолчанию основание 10)

    Примеры:
    $[2#101] $[10#101] $[16#101]
    $[16#FF] $[16#ff] $[0xFF]
    $[64**2] $[64#@@]
    $[64#z] $[64#Z]


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




    wc -l  # получить количество строк
    wc -w  # получить количество слов
    sed -n 4p  # получить указанную строку
    ls -1 /etc  # получить содержимое каталога по строкам
    head -c8 /dev/random | uuencode -m - | sed -n '2s/=*$//;2p'  # cгенерировать случайный пароль


    6.4 GDB


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


    6.5 MAKE


    Формат правила:

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


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

    • имя файла (my_file: file.c file1.c);
    • команда (clean: );


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


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


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


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


    =,:= – оператор объявления переменных (x = test)
    += – добавление текста к существующей переменной
    #define – определение переменных. (#define x «test 1")
    include – включение внешнего файлы и его обработка, с прерыванием при отсутствие файла
    -include – включение внешнего файлы и его обработка, без прерывания при отсутствие файла
    $(function par1, par2 ...) – вызов функции и получение значения переменной
    addprefix – добавляет префикс в первом параметре к каждому элементу в списке второго параметра
    addsuffix – добавляет суффикс в первом параметре к каждому элементу в списке второго параметра
    wildcard – расширяет переданные шаблоны до списка файлов соответствующих этим шаблонам
    notdir – выделение имени файла из полного пути
    patsubst – изменяет указанным образом слова подходящие под шаблон

    object_files = $(patsubst %.cpp, %.o, man.cpp) -> man.o


    override – позволяет изменять переменные заданные через пораметры make
    for x in 1 2 3 4; – оператор цикла, в x перебираются значения за in
    do – начало цикла определенного for
    done – конец цикла определенного for


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


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


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


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


    6.6 Makefile.am


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

    • foreign – не требовать создания файлов документации


    6.7 configure.in


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

    extra-cmds – дополнительные команды с их инициализацией в init-cmds


    AC_OUTPUT_COMMANDS(extra-cmds [, init-cmds] ]) – дополнительные команды с их инициализацией в init-cmds. Выполняются в конце config.status


    6.8 Сonfigure


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


    6.8 RPM *.spec

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


    6.9 /etc/syslog.conf


    [!NameProg] <facility>.[op]<level>[;<facility>.<level>] <Name file>

    где:

    <NameProg> – имя программы посылающей сообщения;
    <facility> – категория журналированния:
    • auth – все что связано с авторизацией;
    • authpriv – тоже что и auth, но приватные данные;
    • console – сообщения печатаемые на системной консоли;
    • cron – сообщения от системного планировщика;
    • daemon – ловушка для сообщений от всех остальных системных демонов;
    • ftp – действия ftp – сервера;
    • kern – сообщения от ядра;
    • lpr – сообщение от системы печати;
    • mail – сообщения от почтовой системы;
    • mark – для помещения сообщений каждые 20 минут;
    • news – сообщения от сервера новостей;
    • ntp – сообщения от сервера точного времени;
    • security – сообщения от различных служб безопасности;
    • syslog – от самой системы журналированния;
    • user – сообщения от пользовательских программ без указания категории;
    • uucp – сообщение от UUCP;
    • local[n] – зарезервированные категории для администратора системы (n=0..7)


    <level> – Уровень детализации:

    • emerg – паника;
    • alert – опасность;
    • crit – критично;
    • err – ошибки;
    • warning – предупреждения;
    • notice – замечания;
    • info – общая информация;
    • debug – отладка;
    • none – ничего не записывать.


    <op> – Метод журналированнияе. При отсутствие выводит сообщения указанного и более высокого уровня:

    • = – указанного уровня;
    • < – меньше указанного уровня;
    • > – больше указанного уровня;

    <Name file> – Имя файла для лога. Может также быть указателем на другую машину (@server.org) для журналирования на ней. А также передавать сообщения через канал другому приложению (|/usr/bin/messcheck.pl).


    6.10 /etc/modules.conf


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


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


    Пример выделение частоты процессора:

    cat -n «/proc/cpuinfo | sed -n «/cpu MHz[^ ]*[ ]*\([^ ]*\).*/s\1/p»//


    Запросы:

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


    Выражения:

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


    Адреса:

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


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


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


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


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


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

    1 – однопользовательский;
    3 – многопользовательский без GUI;
    5 – многопользовательский c GUI.


    6.13 CVS


    Репозиторий CVS хранит полные копии всех файлов и каталогов, находящихся под контролем версий.



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


    7 Права доступа


    Read ( r ) – [Владелец | группа | другие ] могут:

    файл – читать файл
    каталог – читать содержимое каталога


    Write ( w ) – [Владелец | группа | другие ] могут:

    файл – модифицировать файл
    каталог – создавать/удалять файлы и каталоги в данном каталоге


    Execute( x ) – [Владелец | группа | другие ] могут:

    файл – запускать файл
    каталог – делать каталог текущим и запускать в нем запускаемые файлы


    Setuid ( s ):

    файл – файл запускается от имени владельца файла
    каталог – не имеет смысла


    Setgid ( s ):

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


    Sticky ( t ):

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


    Автор: Роман Савченко
    Оригинал статьи LinuxShortAll




    Rambler's Top100

     Gif

    Powered by Drupal - Design by Artinet