Вход:  Пароль:  
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Linux — кратко обо всём.


Автор: /Roman Savochenko
Примечание: Документ создаётся автором с 2002г. До настоящего момента документ создавался в среде LaTeX. На текущий момент выполняется публикация документа в среде Wiki с последующим оформлением в среде dockbook. LaTeX версию документа можно взять здесь и исходник здесь. Документ оформляется в среде WIKI для привлечения к его развитию пользователей ОС Linux занимающихся изучением ОС Linux и желающих опубликовать свой опыт работы в данной ОС. Разрешается вносить изменения в данный документ с целью исправления обнаруженных ошибок или с целью его дополнения.


Внимание. Документ доступен только для чтения. Если вы желаете его дополнить воспользуйтесь ссылкой: http://wiki.oscada.org.ua/RomanSavochenko/LinuxShortAll


Оглавление документа


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 — конфигурация системы страниц помощи, команда 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 — смена директории;
cksum — подсчёт контрольной суммы и количества байтов файла;
clear — очистка экрана терминала;
cmp — побайтовое сравнение файлов;
comm — построчное сравнение файлов;
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 — размер искомого файла;
-atime — доступ был в течении указанных последних дней;
-mtime — файл модифицировался в течении указанных последних дней;
-ctime — атрибуты файла модифицировались в течении указанных последних дней;
-perm — режим доступа к файлу;

gpg — утилита шифрования и подписывания электронной подписью;
grep — поиск указаной строки в указанных файлах или потоках;

grep 'str' mifile.txt

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

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

Примеры:

gzip < /dev/cdrom > cdrom.iso.gz — чтение и упаковка образа CD;

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), временного отключения (Ctrl+A,D) и восстановления сессии (screen -r);
sed — потоковый редактор;
sleep — усыпляет данный процесс на указанное количество секунд;
slocate — поиск файла по ранее созданной базе (slocate bash);
sort — сортировка данных в файле/потоке;
split/csplit — разбиение/сбор больших файлов на куски;
stat — информация о файле/директории;
strings — выделение символьных сообщений из не текстового файла;
symlinks — утилита обслуживания символьных ссылок в системе;
tar — создание архивов и пакетов;

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

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 — автоматизация разовых запусков программ в указанное время;

echo 'wget url' | at 01:00 — запустить загрузку в 01:00

basename — выделение имени файла/директории из полного пути;
badblock — поиск плохих блоков на носителе (HDD, FDD);
chfn — изменение имени пользователя и информация о нем;
сhgrp — смена группы пользователей: файла, каталога ...;
chkconfig — конфигурация уровней загрузки различных сервисов;
chmod — смена режима доступа к файлу;
chown — смена владельца и группы владельцев файла, каталога ...;
chroot — смена корня текущей сессии;
chvt — переключение на указанный терминал;
chsh — смена типа командного интерпретатора;
consolechars — загрузка консольных экранных шрифтов;
convmv — перекодировка имён файлов/директорий с одной кодировки в другую (может понадобиться для перекодирования файлов на ФС: ext2, ext3, reisrfs);
cron — планирование периодического запуска программ;
crontab — формирование пользовательской конфигурации cron;
df — информация о файловых системах данной машины;
dirname — выделение имени директории из полного пути;
du — получение информации о размере содержимого файла или директории;
dumpkeys — dump карты клавиатуры;
export — встроенная команда BASH для определения переменной окружения и экспортирования её для общей доступности;

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

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

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

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

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

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

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

mesg — управление доступом на запись к текущему терминалу (для посылаемых сообщений);
mpage — размещение нескольких страниц текста в одной и печать их на PostScript принтере;
ntpdate — утилита синхронизации времени через Internet(www.ntp.org);
passwd — смена пароля пользователя;
popd — извлечь директорию из стека директорий;
pushd — помещение текущей директории в стек директорий;
pwd — получение полного имени текущей директории;
rlogin — вход на удаленную систему;
scp — безопасное копирование файлов посредством ssh:

scp file.txt user1@remote_server:/ — копирование файла на удалённую систему;

service — утилита для операций над сервисами в /etc/rc.d/init.d;

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

set — выполняет операции над переменными окружения (встроенная команда BASH), часто просто устанавливает переменную окружения;
setfont — установка консольного шрифта;
setsid — запуск программы в новой сессии;
sg, newgrp — смена основной группы пользователя, или выполнение команды от имени указанной группы;
slogin — вход в систему по шифрованому протоколу ssh (тоже что и ssh);
ssh — вход в систему по шифрованому протоколу ssh или же удалённый запуск команд:

ssh -X user@remserver.org — шифрованный вход на удалённую систему с транспортировкой X-протокола;
ssh user@remserver.org 'wget ftp://myfile' — запуск загрузки на удалённом сервере.

sshfs — Fuse модуль для монтирования файловой системы через ssh.
stty — получение и установка параметров терминала, переопределение специальных клавиш;
su — смена пользователя текущей сессии или выполнение команды от имени указанного пользователя (по умолчанию root);

-l — с перечитыванием конфигурационных файлов;

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


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> — создание FS типа <fs>;

mkfs.vfat /dev/fd0 — создание файловой системы FAT12 на флоппи диске.

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

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

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

Важные опции:
quiet — позволяет копировать/переносить файлы без вопросов о невозможности смены прав доступа (для ФС типа FAT);
iocharset — кодировка в которой производится ввод/вывод (для ФС FAT, NTFS и UDF);
codepage — кодовая страница в которой хранится монтируемая файловая система (для ФС FAT);
showexec — отображать корректно запускаемые файлы (для ФС FAT);
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-оболочка для записи CD/DVD (над cdrecord и mkisofs).

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

appres — информация о ресурсах X-приложений;
glxingo — информация о расширении GLX (OpenGL);
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 бита;

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;
dmesg — протокол обнаружения оборудования ядром системы, как при загрузки, так и в процессе функционирования;
dmidecode — декодер информации BIOS об оборудование системы и самом BIOS;
hwclock — установка/считывание аппаратных часов (CMOS);
kbd_mode — установка режима работы клавиатуры (RAW, MEDIUMRAW, XLATE, UNICODE);
lpr — печать с файла или с потока на указанный принтер;

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

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

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

alsamixer — ALSA-микшер;
aumix — консольный AUDIO-микшер;
cdparanoia — позволяет «грабить» Audio-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 на основе IP-цепочек (ядра 2.2.*);
iptables — утилита конфигурации firewall на основе IP-таблиц (ядра 2.4.*);
lynx — консольный WEB-браузер. Может использоваться для выполнения различных действий над WEB-страницами в скриптах.

lynx -dump -width=100 file://mypage.html > mypage.txt — преобразование html-страницы в текст.

minicom, xminicom — установка соединения с другой системой через модем(COM);
netstat — состояние сети (отображает используемые сокеты и их состояния);

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

nmap,nmapfe — сканер сети и его GUI, можно получить перечень открытых портов и т.д;
nmblookup — утилита работы с NetBIOS (для 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, mailx — создать сообщение;
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 — позволяет создавать диалоги в консоли, из скрипта (на основе ncurses);
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 Смена имени системы

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  #Создание файловой системы на loop устройстве
$ losetup -d /dev/loop0  #Отключение loop устройства
$ mount -o loop,encryption=aes ./sequre_disk /mnt/tmp/  #Обычное монтирование шифрованной ФС

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

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

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

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

3.13 Настройка ssh

client$ ssh-keygen  #Генерация ключей на локальной машине в директорию " /.ssh/"
client$ scp ./identity.pub rserver: ~/.ssh/  #Передача публичного ключа на удалённый сервер (любым способом)
rserver$ cat ~/.ssh/identity.pub >> ~/.ssh/authorized_keys  #Авторизация своего открытого ключа на сервере
# либо 'client$ ssh-copy-id rserver'  вместо предыдущих двух строчек
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  #Создание виртуальной группы на основе двух физических томов
$ 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

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

3.17 Свободная запись на перезаписываемые оптические носители (пакетный режим)

# Включение пакетного режима. Для оптических носителей всех типов.
$ cdrwtool -d /dev/cdrom -q  # Подготовка CD-RW носителя
$ dvd+rw-format /dev/dvd  # Подготовка носителей: DVD-RW, DVD+RW, DVD-RAM
$ pktsetup /dev/pkt_dev /dev/cdrom  # Включение режима пакетной записи на устройство /dev/pkt_dev
$ mkudffs /dev/pkt_dev  # Создание файловой системы UDF. Только для DVD+RW и DVD-RAM
$ mount /dev/pkt_dev /mnt/pkt_cd -t udf -o rw,noatim  # Монтирование пакетного устройства на /mnt/pkt_cd
#Прямая запись (без пакетного режима) на носители DVD+RW и DVD-RAM
$ dvd+rw-format /dev/dvd  # Подготовка носителей (один раз).
$ mkudffs /dev/dvd  # Создание файловой системы UDF (один раз).
$ mount /dev/dvd /mnt/cdrom  # Обычное монтирование устройства. Т.е совершенно прозрачно и стандартно!

3.18 Запуск терминальной задачи на сервере и продолжение её работы в фоне

$ screen  # Запуск терминального экранного менеджера
$ wget ftp://workserv.org/mydownloadfile.iso  # Запуск задачи
Ctrl+A D  # Отключение экрана от терминала (выполнение в фоне)
$ screen -r  # Подключение к фоновому терминалу.


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) — выполнение команды x и возврат результата (подобно `x`);
x=pwd — определение переменной окружения x и присвоение ей строки pwd;
x='34' — определение переменной окружения x и присвоение ей строки '34';
x[2]=pwd — определение массива x и присвоение его элементу 2 строки pwd;
x=(zero one two three) — определение массива x и заполнение четырех его элементов;
x=([0]=zero [3]=three [2]=two [1]=one) — определение массива x и заполнение четырех его элементов по выбору;
$(( 100/3 )), $[100/3] — выполнение простых целочисленных операций.

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

В качестве длины и смещения могут выступать:

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

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

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

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

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

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

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

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

& — выполнить команду до него в фоновом режиме;
if [ Condition ] — условный оператор ( if ( Condition ) – tch);
then — тело выполнения условия;
else — тело невыполнение условия;
elif [ Condition ] — совмещенная команда else if;
fi — окончание условного оператора;
for x in 1 2 3 4 — оператор цикла, в x перебираются значения за in ( foreach x (1 2 3 4) – tch ). Общая структура циклов:

for x in 1 2 3 4
do #тело цикла
done

while [ Condition ] — выполняет цикл пока верно условие Condition ( while ( Condition ) -tch );
until [ Condition ] — выполняет цикл до равенства условия Condition;
(repeat x expression – tch ) — выполняет повторение выражения <expression> x раз;
select x in list; — запрашивает выбор из списка <list> и присваивает выбранное значение переменной <x>;
do — начало тела цикла определенного for, while, until;
done — конец тела цикла определенного for, while, until;
break — завершение цикла;
continue — продолжение цикла сначала;
case x in — команда выбора. Имеет структуру:

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

function func() { } — определяет функцию с именем func;
func a1 a2 a3 — вызов функции;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6.4 GDB

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

6.5 MAKE

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

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

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


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

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

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

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

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

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

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

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

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

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

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

6.6 Makefile.am

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

6.7 configure.in

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

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

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

6.8 Сonfigure

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

6.8 RPM *.spec

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

6.9 /etc/syslog.conf

[!NameProg] <facility>.[op]<level>[;<facility>.<level>] <Name file>
где:

<NameProg> – имя программы посылающей сообщения;
<facility> – категория журналирования:
  • 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.14 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-устройстве, что позволяет быстро его запускать
каталог – файлы в этом каталоге могут стирать только их владельцы


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]