Автор: /RomanSavochenko
Примечание: Документ создаётся автором с 2002г. До настоящего момента документ создавался в среде LaTeX. На текущий момент выполняется публикация документа в среде Wiki с последующим оформлением в среде dockbook. LaTeX версию документа можно взять
здесь и исходник
здесь. Документ оформляется в среде WIKI для привлечения к его развитию пользователей ОС Linux занимающихся изучением ОС Linux и желающих опубликовать свой опыт работы в данной ОС. Разрешается вносить изменения в данный документ с целью исправления обнаруженных ошибок или с целью его дополнения.
Внимание. Документ доступен только для чтения. Если вы желаете его дополнить воспользуйтесь ссылкой:
http://www.freesource.info/wiki/Stat'i/KratkoOboVsjom/Linux
Action source page doesn't exist yet(/Roman Savochenko / Linux Short All / part 1?)
Action source page doesn't exist yet(/Roman Savochenko / Linux Short All / part 2?)
Action source page doesn't exist yet(/Roman Savochenko / Linux Short All / part 3?)
$ cd KernelTree/ #Переход к распакованому корню дерева исходников ядра
$ make config(menuconfig, xconfig) #Конфигурация
$ make dep #Создание файлов зависимостей
$ make clean #Очистка от ранее скомпилированных модулей
$ make bzImage #Компиляция ядра
$ make install #Установка ядра
$ make modules #Компиляция модулей
$ make modules_install #Установка модулей
$ dd if=/dev/zero of=/swap bs=1024 count=8208 #Создание файла необходимого размера для swap
$ mkswap /swap #Инициализация структуры swap в файле
$ /bin/sync #Сброс изменений на диск
$ swapon /swap #Включение swap (отключение - swapoff)
Вариант 1 (обычный):
client$ xinit - :1 #Запустить X-сервер на клиенте (должен запуститься xterm)
client$ xhost +server #Зарегистрировать машину сервера у клиента
client$ telnet server -l UserName #Подключиться к удаленной машине (серверу)
server$ export DISPLAY=client:0.0 #Установить переменную DISPLAY
server$ startkde #Запустить оконный менеджер
client$ xinit - :1 #Запустить X-сервер на клиенте (должен запуститься xterm)
client$ ssh -X UserName@server #Подключиться к удаленной машине (серверу)
server$ startkde #Запустить оконный менеджер
$ consolechars -f UniCyr_8x16 -m koi8-r;
$ echo -ne "\033(K";
$ loadkeys ru1;
$ 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 #Установка программы
$ fdformat /dev/fd0
$ mkfs.vfat /dev/fd0
$ ckfs.vfat -ta /dev/fd0
$ 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/ #Обычное монтирование шифрованой ФС
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 #Подключение к удалённому серверу
$ mkfs /dev/ram0
$ mount /dev/ram0 /mnt/disk
$ 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
# Включение пакетного режима. Для оптических носителей всех типов.
$ 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 # Обычное монтирование устройства. Т.е совершенно прозрачно и стандартно!
b - блочные;
c - символьные;
- - обычный файл;
d - каталог;
l - символьная ссылка;
p - именованный канал;
s - сокет;
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).
Ctrl+Alt+F[n] - Переключение между псевдотерминалами
Ctrl+Alt+<+> - Сменить разрешение на следующее (прописаных в XF86Config)
Ctrl+Alt+<-> - Сменить разрешение на предыдущее (прописаных в XF86Config)
Ctrl+Alt+ESC - Режим удаления указанного окна
Ctrl+Alt+BkSpc - Закрыть текущий X сервер
MidlMouse - Вставляет текст, выделенный в данный момент в другом месте
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 - Спрятать/показать рабочий стол
r - Отключает режим непосредственной передачи символов с клавиатуры и устанавливает её в режим XLATE
k - Уничтожает все процессы на текущей виртуальной консоли
b - Немедленно перезапускает систему
o - Отключить питание системы через АРМ
s - Синхронизировать все файловые системы
u - Демонтирует и перемонтирует все смонтированные файловые системы в режиме только для чтения
p - Вывести текущее значение регистров и флагов на консоль
t - Вывести список текущих задач и информацию о них на консоль
m - Вывести текущее состояние памяти на консоль
0-9 - Устанавливает уровень выдачи сообщений на консоль для фильтрации сообщений ядра
e/i - Посылает сигналы term или kill всем процессам, кроме init
l - Посылает SIGKILL всем процессам, включая init
![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] - выполнение простых целочисленных операций.
$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[@]} - обращение сразу ко всему массиву;
$(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;
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:
MALLOC_TRACE - определяет путь для комманды mtrace и функции в программе mtrace;
. - выполнить все команды в файле после точки;
& - выполнить команду до него в фоновом режиме;
if [ Condition ] - условный оператор ( if ( Condition ) - tch);
then - выполнение условия;
else - невыполнение условия;
elif [ Condition ] - совмещенная команда else if;
fi - окончание условного оператора;
for x in 1 2 3 4 - оператор цикла, в x перебираются значения за in ( foreach x (1 2 3 4) - tch );
while [ Condition ] - выполняет цикл пока верно условие Condition ( while ( Condition ) -tch );
until [ Condition ] - выполняет цикл до равенства условия Condition;
(repeat x expression - tch ) - выполняет повторение выражения <expression> x раз;
select x in list; - запрашивает выбор из списка <list> и присваивает выбранное значение переменной <x>;
do - начало цикла определенного for, while, until;
done - конец цикла определенного for, while, until;
break - завершение цикла;
continue - продолжение цикла сначала;
case x in - rоманда выбора. Имеет структуру:
function func() { } - определяет функцию с именем func;
export x - создает переменную окружения x и экспортирование её в систему;
local x - создает локальную переменную окружения которая не перекрывает глобальной (часто используется для функций);
declare - встроенная команда bash для декларирования переменных и изменения их атрибутов;
set x = str - инициализация переменной;
unset x - отмена инициализации переменной;
read x y - ввод строки из двух слов;
exit - выход из сценария;
eval - означивание строки (т.е. замена записей типа "$5" на их значения);
shift - сдвиг параметров командной строки на единицу (для доступа к параметрам с номером > 9 );
trap - установка обработчиков сигналов в скрипте;
alias - создание псевдонимов или альтернативных имен команд;
unalias - удаление псевдонима;
-e - существует;
-d - каталог;
-f - обычный файл;
-c - специальный файл;
-L - символическая ссылка;
-r - для чтения;
-w - для записи;
-x - исполняемый;
-z - файл пуст;
-s,(-z) - имя файла не нулевой длины;
(-o) - пользователь является владельцем файла;
fname1 -nt fname2 - fname1 новее fname2;
fname1 -ot fname2 - fname1 старше fname2;
-z - строка пуста;
-n - строка непуста;
= ,(==) - строки равны;
!= - строки неравна;
-eq - равно;
-ne - неравно;
-lt,(< ) - меньше;
-le,(<=) - меньше или равно;
-gt,(>) - больше;
-ge,(>=) - больше или равно;
! - отрицание логического вырожения;
-a,(&&) - логическое "И";
-o,(||) - логическое "ИЛИ"
| - перенаправление вывода в канал
< file - file записать в STDIN
> file - STDOUT записать в file
ҐҐ<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
\n - новая строка
\b - возврат на один символ
\c - печать строки без символа новой строки
\f - переход к новой странице/экрану
\r - возврат каретки
\t - табуляция
\v - табуляция по вертикали
\\ - обратная косая черта
0nnn - восьмеричное число
xNN - шестнадцатеричное число
* - любая строка
? - любой одиночный символ
[...] - соответствует любому символу в скобках [A-Z]; "! и ^" - исключение символа.
045 - восьмеричное число (начинается с 0)
0x45, 0X32 - шестнадцатеричное число
[основание#]n - число с основанием <n> (по умолчанию основание 10)
wc -l # получить количество строк
wc -w # получить количество слов
sed -n 4p # получить указанную строку
ls -1 /etc # получить содержимое каталога по строкам
head -c8 /dev/random | uuencode -m - | sed -n '2s/=*$//;2p' # cгенерировать случайный пароль
run - запуск отлаживаемой программы
break func - установка точку прерывания на функцию func
list func - просмотр содержимого функции или исходного файла
next - следующая команда;
quit - выход;
Формат правила:
Цель это некий желаемый результат может представлять собой:
Зависимость, также может быть файлом или командой которая должна выполнится ранее.
.cpp.o: - файлы с расширением *.o зависят от соответствующий файлов с расширением *.cpp
%.o: %.cpp - проверяет все файлы с расширением .cpp и заменяет цель на расширение .o
.PHONY: x - объявление специальной цели (не файл)
all: - выполняет эту цель при отсутствие параметров команды make
=,:= - оператор объявления переменных (x = test)
+= - добавление текста к существующей переменной
#define - определение переменных. (#define x "test 1")
include - включение внешнего файлы и его обработка, с прерыванием при отсутствие файла
-include - включение внешнего файлы и его обработка, без прерывания при отсутствие файла
$(function par1, par2 ...) - вызов функции и получение значения переменной
addprefix - добавляет префикс в первом параметре к каждому элементу в списке второго параметра
addsuffix - добавляет суффикс в первом параметре к каждому элементу в списке второго параметра
wildcard - расширяет переданные шаблоны до списка файлов соответствующих этим шаблонам
notdir - выделение имени файла из полного пути
patsubst - изменяет указанным образом слова подходящие под шаблон
override - позволяет изменять переменные заданные через пораметры make
for x in 1 2 3 4; - оператор цикла, в x перебираются значения за in
do - начало цикла определенного for
done - конец цикла определенного for
VPATH - описывает список каталогов для поиска зависимостей
CC - указывает компилятор языка С
СXX - указывает компилятор языка С++
СFLAGS - указывает флаги компилятора С
CXXFLAGS - указывает флаги компилятора С++
LDLIBS - описывает опции линкера
`command` - вставить в сценарий выхлоп команды <command>
$@ - имя цели обрабатываемого правила
$< - имя первой зависимости обрабатываемого файла
$^ - список зависимостей обрабатываемого правила
bin_PROGRAMS - определяет имя программы
<prog>_SOURCES - определение исходников от которых зависит программа
CXX - имя C++ компилятора
CXXFLAGS - определение опций С++ компилятора
AUTOMAKE_OPTIONS - определение опций automake:
AC_INIT(file) - инициализация скрипта и проверка на наличие исходников
AC_CONFIG_AUX_DIR(dir) - использовать скрипты типа install-sh из каталога <dir>
AM_INIT_AUTOMAKE(prog, 1.0) - определение имени и версии проекта
AC_PROG_CC - проверка наличия С компилятора
AC_PROG_CXX - проверка наличия С++ компилятора
AC_OUTPUT([file ... [, extra-cmds [, init-cmds] ] ]) - создаёт выходные файлы <file> типа Makefile (копирует входной file.in и подставляет значения переменных).
AC_OUTPUT_COMMANDS(extra-cmds [, init-cmds] ]) - дополнительные команды с их инициализацией в init-cmds. Выполняются в конце config.status
--bindir - директория для исполняемых файлов
--build - платформа сборки
--cache-file - файл для помещения результатов проверок
--datadir - директория для хранения файлов данных
--enable-...(-disable-...) - включить(выключить) возможность/функцию
--exec-prefix - похож на опцию - -prefix
--help - список всех опций командной строки
--host - имя платформы домашнего(host) компьютера
--includedir - директория заголовочного файла
--infodir - директория информации типа <info>
--libdir - директория библиотек
--mandir - директория c руководствами
--no-create - не создавать конечные файлы
--norecursion - не вызывать вложенные configure
--prefix - директория корневого каталога
--sbindir - директория для системных исполняемых файлов
--silent - подавляет вывод результатов исполнения на экран
--srcdir - каталог исходных текстов
--sysconfdir - каталог данных только для чтения(/etc)
--target - имя целевой платформы
--tmpdir - каталог для хранения временных файлов Configure
[!NameProg] <facility>.[op]<level>[;<facility>.<level>] <Name file>
где:
<level> - Уровень детализации:
<op> - Метод журналированнияе. При отсутствие выводит сообщения указанного и более высокого уровня:
alias [class] [module] - определяет модуль/драйвер, как определенный класс устройств
alias [class] off - обозначает, что этому классу не соответствует ни одно устройство
options [класс или модуль] [знач1] [знач2] - определяет дополнительные параметры модуля
pre-install [класс или модуль] command - выполняет программу <command> перед инсталляцией модуля
post-install [класс или модуль] command - выполняет программу <command> после инсталляции модуля
pre-remove [класс или модуль] command - выполняет программу <command> перед удалением модуля
post-remove [класс или модуль] command - выполняет программу <command> после удаления модуля
Пример выделение частоты процессора:
Запросы:
a - вставить текст после текущей строки
c - заменить указанные строки
d - исключить текущую строку
e - открыть для редактирования указанный файл с проверкой старого
E - начать редактирование файла без проверки
f - напечатать имя редактируемого файла
g - применить указанный запрос ко всем строкам
i - вставить текст перед текущей строкой
j - объединить строки
k - поменять строки
l - напечатать строку
m - переставить группу строк в другое место
n - напечатать строки вместе с их номерами
p - напечатать строки
q - выйти из редактора с проверкой сохранения текущего файла
Q - выйти без проверки
r - считать файл в буфер
s - заменить текст в пределах строки
t - скопировать группу строк
u - аннулировать результат последней замены s
v - применить указанный запрос ко всем строкам не содержащим заданный образец
w - записать группу строк в файл
W - дозаписать группу строк в конец файла
= - напечатать номер строки
! - выполнить системную команду
+ - шаг вперёд на одну строку
- - шаг назад на одну строку
Выражения:
. - любая литера, кроме новой строки
[s] - любая литера из цепочки s
[^s] - любая литера не входящая в цепочку s
e* - все соседние вхождения;
\(e\) - выделить подвыражение, на подвыражение можно ссылаться используя \n
\n - n-е выделенное подвыражение
^ - начало строки
$ - конец строки
\с - заэкранировать специальный символ
Адреса:
. - текущая строка
n - n-я строка
$ - последняя строка редактируемого текста
'x - строка, помеченная меткой x
/e/ - ближайшая следующая строка, содержащая e
?e? - ближайшая предыдущая строка, содержащая e
Формат записи: awk '{print $2,$1}'
print $1,$3 - печатает указанные поля, разделённые пробелом, для всех строк
printf "%s/*\n", $2 - печать форматированных данных
root=/dev/hda - расположение корневого раздела
ro, rw - режим монтирования - только для чтения или полный
hdd=ide-scsi - на каком ide диске эмулировать scsi
init=/bin/bash - программа инициализации, выполняется сразу после загрузки ядра
syngle - загрузится в одиночном режиме
1,3,5 - режим загрузки INIT:
Репозиторий 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>.
Read ( r ) - [Владелец | группа | другие ] могут:
Write ( w ) - [Владелец | группа | другие ] могут:
Execute( x ) - [Владелец | группа | другие ] могут:
Setuid ( s ):
Setgid ( s ):
Sticky ( t ):