СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

План-конспект лекции "Реляционная модель. Команды Linux"

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«План-конспект лекции "Реляционная модель. Команды Linux"»

Реляционная модель Принципы

Реляционная модель данных была предложена Коддом как альтернатива наиболее распространенной в то время сетевой модели. В основу модели Кодд положил три базовых принципа (или, по его словам, три стремления):

  1. независимость данных на логическом и физическом уровнях – стремление к независимости;

  2. создание структурно простой модели – стремление к коммуникабельности;

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

Основной побудительной причиной исследований, результатом которой стало создание реляционной модели, стало желание четко разграничить логические и физические аспекты управления БД (первое стремление). В качестве дополнительного результата исследований предполагалась разработка теоретических основ организации и управления БД, то есть создание строгой математической модели.

Для реализации трех принципов пришлось отказаться от принятых ранее принципов структуризации данных (повторяющихся групп, связанных структур). В качестве структурной единицы выбрано отношение n-го порядка: при соответствующих операторах и концептуальном представлении в виде таблиц оно позволяет реализовать все три предложенных принципа. Отношение n-го порядка – математическое множество, в котором порядок строк не имеет значения. Заметим, что понятие реляционная БД несколько шире, чем табличная: во втором случае предполагается, что к строке можно добраться по номеру, следовательно, порядок строк имеет значение. Традиционно позиционирование данных определялось адресами в памяти, в реляционной модели адресный способ выбора данных заменен ассоциативным. Каждая единица информации в реляционных БД (РБД) ассоциируется с уникальной тройкой: именем отношения, значением ключа, именем атрибута. При таком подходе система должна сама (а) определить, где следует поместить фрагмент данных, (б) выбрать путь доступа при поиске.

Модель

Напомним, что модель данных – это не только структура, это комбинация, по крайней мере, трех составляющих:

  • типов структур данных,

  • операторов или правил вывода, применимых к правильным типам данных,

  • общих правил целостности, который определяет множество непротиворечивых состояний БД и множество изменений ее состояний.

Структурная часть реляционной модели состоит из следующих компонент:

  • доменов – совокупности однотипных значений данных;

  • отношений неопределенного порядка, концептуально представленных таблицами;

  • атрибутов – атомарных данных, определяющих столбцы таблицы;

  • кортежей – строк таблицы,

  • потенциальных (возможных) ключей – атрибутов, однозначно определяющих кортеж в отношении;

  • первичных ключей – для отношения это один из возможных ключей.

Обрабатывающая часть состоит из операторов выбора, проекции, соединения и т.п., которые преобразуют отношения в отношения.

Часть, относящаяся к целостности, состоит из правил: правила целостности на уровне объекта и правила целостности ссылок. В любой реализации можно определить ограничения, которые определят меньшее множество возможных непротиворечивых значений.

Кодд приводит критерии, по которым СУБД можно отнести к реляционным. Эти критерии следующие:

  • СУБД должна поддерживать таблицы без видимых пользователю навигационных связей;

  • язык манипулирования данными должен обеспечивать минимальную возможность реляционной обработки, то есть включать операторы выбора, проекции и соединения.

Если СУБД не удовлетворяет второму критерию, ее назвают табличной. Реляционные СУБД с минимальной возможностью реляционной обработки называются минимально реляционными, если же в СУБД в полной мере реализованы две последние составляющие реляционной модели,– это полностью реляционные СУБД. СУБД, реализующие полный набор реляционных операторов, называются реляционно полными.

Уточнения

Определение. Пусть существует n доменов D1,…,Dn. Отношение R представляется как подмножество D1D2Dn, т.е. подмножество упорядоченных n-ок (d1,d2,…,dn) – кортежей. Домен Di представлен i-м элементом. Вместо упорядоченности чаще используют уникальные имена.

Не каждое отношение может быть объектом реляционной модели. Важное свойство отношений реляционной модели – нормализованность.

Определение. Отношения нормализованы, если каждый его атрибут атомарен, то есть, не заменим другим отношением.

В отличие от предыдущих моделей данных, в реляционной модели не заданы явные ссылки между таблицами или атрибутами. Между тем, для того, чтобы база данных отражала реальную взаимосвязь объектов предметной области, необходимо как-то ссылаться на данные. В реляционной модели это достигается использованием ключей.

Определение. В отношении могут быть несколько одиночных или составных атрибутов, однозначно идентифицирующих кортеж. Это возможные ключи. Один из них объявляется первичным.

Так как ключ однозначно определяет кортеж, упорядоченность кортежей в отношении не имеет значения. Отношения можно рассматривать как множества кортежей. В соответствии с этим представлением считается, что в отношении нет одинаковых кортежей.

Таким образом, мы сформулировали следующие свойства отношений:

  1. Нормализованные отношения представляются в виде табличной структуры.

  2. Упорядоченность кортежей теоретически несущественна.

  3. Все кортежи различны.



В терминологии реляционной модели следующие понятия рассматриваются как синонимы:

Таблица синоним Отношения,

Столбец синоним Атрибута,

Строка синоним Кортежа.

Наконец, осталось дать следующее

Определение. Реляционная БД – совокупность изменяющихся во времени нормализованных отношений, которые могут быть связаны через общие домены.

В дальнейших лекциях будет уделено внимание отдельным вопросам реляционной теории, которая лежит в основе модели. Хорошее теоретическое обоснование – одно из основных ее достоинств.

Основные достоинства реляционной модели – теоретическое обоснование, простота определения данных и их реорганизации.

Недостаток – проблемы с организацией связи. Он компенсируется различной степенью нормализации, однако явная связь (сеть, иерархия) чаще более эффективна по времени.

Пример

В приведенном фрагменте БД регистрируются оценки, полученные студентами на экзаменах. Перечень предметов и список преподавателей приведены в отдельных таблицах. Ведомость представлена двумя таблицами: заголовком и списком студентов. Все таблицы связаны ключами. Таблица, из которой производится ссылка, должна содержать так называемый внешний ключ. Он может не быть ключом данной таблицы, но его домен совместим с доменом ключа таблицы, на которую ссылается данная.

Заголовок ведомости

Номер
ведомости

Код
предмета

Код
преподавателя

Дата сдачи

Семестр

Группа

1

10

7

03.01.2005

5

306

2

5

3

07.01.2005

7

406

Ключи – (1) номер ведомости; (2) код предмета, семестр, группа.

Внешние ключи – (1) код предмета; (2) код преподавателя.

Код ведомости имеет уникальное значение. Код предмета, семестр, группа тоже однозначно определяют ведомость. Внешние ключи «Код предмета» и «Код преподавателя» служат для связи с таблицами Предметы и Преподаватели.

Предметы

Код предмета

Название предмета

5

Машинная графика

10

Базы данных

Ключи – (1) код предмета.

Таблица представляет собой простой справочник, позволяющий уменьшать избыточность в базе данных.

Преподаватели

Код преподавателя

ФИО преподавателя

Должность преподавателя

3

Чернышов Л.Н.

Доцент

7

Лукин В.Н.

Доцент

Ключи – (1) код преподавателя; (2) ФИО преподавателя.

Таблица, как и предыдущая, служит справочником. Она имеет атрибут «Должность», который тоже может быть представлен кодом.

Успеваемость

Номер ведомости

Номер студента

Оценка

1

1

5

1

2

4

2

1

5

2

2

3

1

3

3

2

3

5

Ключи – (1) номер ведомости, номер студента.

Внешние ключи – (1) номер ведомости; (2) номер студента.

Основная таблица, отражающая успехи студентов. Каждый кортеж однозначно определяется уникальным кодом ведомости и номером студента в списке группы. Для получения дополнительных атрибутов, например, номера группы, используется внешний ключ «Код ведомости» (связь с таблицей Заголовок ведомости), для расшифровки фамилии студента служит внешний ключ «Номер студента».

Студенты

Номер студента

Группа

Номер зачетки

ФИО студента

1

306

9708104

Иванов И.И.

2

306

9708035

Петров П.П.

3

306

9708117

Сидоров С.С.

1

506

9508017

Алексеев А.А.

1

506

9508027

Борисов Б.Б.

1

506

9508037

Васильев В.В.

Ключи – (1) группа, номер студента; (2) номер зачетки.

Каждый из ключей однозначно определяет студента. В зависимости от задачи может использоваться тот или иной ключ, который становится первичным. В нашем случае первичным будет ключ (1).

Конец примера





  1. Linux команды, которым не нашлось место ни в каком другом разделе.

# uname -a

# Показать версию ядра Linux;

# lsb_release -a

# На экран выводиться информация о версии операционной системы Debian и оснваных на ней дистрибутивах;

# cat /etc/SuSE-release

# На экран выводится информация о версии операционной системы SuSE;

# man hier

# Описание иерархии файловой системы (для чего нужна каждая директория в linux);

# clear

# Очищение экрана терминала;

# wall Привет

# Отправляет на терминалы других пользователей сообщение "Привет";

# date

# Показывает текущую дату и время;

# cal -3

# Показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь);

# uptime

# Показать текущее время и работу системы без перезагрузки и выключения;

# hostname

# Показать сетевое имя компьютера;

# whois linux.org

# Показать информацию о доменом имени linux.org;

# export http_proxy=http://your.proxy:port

# Изменить переменной окружения http_proxy, для использования интернета через proxy-сервер;

# wget http://itshaman.ru/images/logo_white.png

# Скачать файл http://itshaman.ru/images/logo_white.png в текущую папку;

# wget --convert-links -r http://www.linux.org/

# Копирование сайта целиком и конвертирование ссылок для автономной работы. Копирование происходит на 5 уровней в глубину;

# pppconfig

# Создание и настройка Dial-Up соединения для выхода в Интернет по модему;

# pppoeconf

# Создание и настройка выхода в Интернет через ADSL-модем;

# !!

# Выполнить последнюю команду;

# history | tail -50

# Показать последние 50 набранных команд;

# exit

# Завершить сеанс текущего пользователя;

# passwd

# Меняет пароль текущего пользователя;

# shutdown -h now

# Выход из Linux;

# poweroff

# Выход из Linux;

# reboot

# Перезагрузка системы;

# last reboot

# Cтатистика перезагрузок;

# winecfg

# Настройка Wine - НЕэмулятор WinAPI;

# host itshaman.ru

# Показывает IP-адрес введенного сайта;

2. Команды Linux: работы с файлами и директориями

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

2.1 Директории и файлыНаверх

# pwd

# Выводит текущий путь;

# ls

# Выводит список файлов и каталогов по порядку;

# ls -laX

# Выводит форматированный список всех файлов и директорий, включая скрытые;

# cd

# Переход в домашнюю директорию;

# cd /home

# Переход в директорию /home;

# touch /home/primer2

# Создание пустого файла /home/primer2;

# cat /home/primer2

# Показать содержимое файла /home/primer2;

# tail /var/log/messages

# Выводит конец файла. Удобно при работе с логами и большими файлами;

# nano /home/primer2

# Редактирование файла /home/primer2;

# gedit /home/primer2

# Вторая команда Linux для редактирования файла;

# echo "Последняя строчка" | sudo tee -a /home/primer2

# Добавление к концу файла "Последняя строчка" в файл /home/primer2;

# cp /home/Mut@NT/primer.txt /home/primer.txt

# Копирует /home/Mut@NT/primer.tx в home/primer.txt;

# ln -s /home/Mut@NT/primer.txt /home/primer

# Cоздает символическую ссылку /home/primer к файлу /home/Mut@NT/primer.txt;

# mkdir /home/Mut@NT/shaman

# Создание директории с именем shaman;

# rmdir /home/Mut@NT/shaman

# Удаление директории с именем shaman;

# rm -rf /home/Mut@NT/shaman

# Удаление директории с вложенными фалами;

# cp -la /dir1 /dir2

# Копирование директорий;

# mv /dir1 /dir2

# Переименование директории;

# du -sh /home/Mut@NT/

# Выводит на экран размер заданной директории. Можно использовать для определения размера файлов;

# locate primer

# Поиск всех файлов с именем primer;

2.2 Права доступаНаверх

# [sudo] chmod 0777 /home/

# Изменение прав доступа к директории только для /home. 0777 – разрешение на чтение/запись/исполнение для всех групп;

# [sudo] chmod -R 0777 /home/

# Рекурсивное изменение прав доступа к директории /home. 777 – разрешение на чтение/запись/исполнение для всех групп. Все вложенные директории и файлы будут иметь права 0777;

# [sudo] chown Mut@NT:ITShaman /home/primer.txt

# Изменение владельца и группы только для файла /home/primer.txt;

# [sudo] chown -R Mut@NT /home/

# Изменение владельца для всего содержимого директории /home;

3. Команды Linux: работа с архивами

Наверх

# tar cf primer.tar /home/primer.txt

# Создать tar-архив с именем primer.tar содержащий /home/primer.txt;

# tar czf primer.tar.gz /home/primer.txt

# Cоздать tar-архив с сжатием Gzip по имени primer.tar.gz;

# tar cjf primer.tar.bz2 /home/primer.txt

# Cоздать tar-архив с сжатием Bzip2 по имени primer.tar.bz;

# tar xf primer.tar

# Распаковать архив primer.tar в текущую папку;

# tar xzf primer.tar.gz

# Распаковать tar-архив с Gzip;

# tar xjf primer.tar.bz

# Распаковать tar-архив с Bzip2;

4. Команды Linux: установка программ

4.1 Просмотр установленных пакетовНаверх

RPM - дистрибутивы

# rpm -qa

# Показать список установленных пакетов RPM в системе;

DEB - дистрибутивы

# dpkg -l |more

# Показать список установленных пакетов DEB в системе;

# apt-cache search имя пакета

# Ищет в индексах наличее доступного пакета и выводит на экран краткую информацию о нужном пакете (очень полезная команда для поиска и установки программ из консоли);

# apt-cache showpkg имя пакета

# Полная информация о указанном пакете;

4.2 Установка и удаление пакетовНаверх

RPM - дистрибутивы

# [sudo] rpm -i pkgname.rpm

# Установка RPM пакета pkgname.rpm;

# [sudo] rpm -e pkgname

# Удаление RPM пакета pkgname;

# [sudo] dpkg -i *.rpm

# Установка всех пакетов в директории;

DEB - дистрибутивы

# [sudo] apt-get update

# Обновление списка доступных пакетов из Internet;

# [sudo] apt-get upgrade

# Обновление доступной версии установленных пакетов в системе;

# [sudo] apt-get install pkgname

# Установка DEB пакета pkgname;

# [sudo] apt-get remove pkgname

# Удаление DEB пакета pkgname;

# [sudo] dpkg -i *.deb

# Установка всех пакетов в директории;

5. Команды Linux: мониторинг работы и просмотр логов.

Наверх

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

# top

# Информация в реальном времени о загруженных процессах, потребление ОЗУ;

# htop

# Более расширенная on line-статистика о загруженных процессах (разработчик http://htop.sourceforge.net);

# dmesg

# Показывает log-файл загрузки ОС и нахождения новых устройств;

# mpstat 1

# Показывает расширенную статистику потребления ресурсов системы в процентах (для некоторых дистрибутивов необходима установка пакета sysstat);

# vmstat 2

# Показать расширенную статистику по использованию виртуальной памяти;

# iostat 2

# Показать расширенную статистику прерываний по устройствам;

6. Команды Linux: информация об устройствах.

Наверх

# lsdev

# информация об уже установленных устройствах (в некоторых дистрибутивах требует доставить пакет procinfo);

# cat /proc/cpuinfo

# Показать полную информацию о модели процессора (частота, поддерживаемые инструкции и т.д.);

# cat /proc/meminfo

# Показать расширенную информацию о занимаемой оперативной памяти (MemTotal, MemFree, Buffers, Cached, SwapCached,HighTotal, HighFree, LowTotal и т. д.);

# grep SwapTotal /proc/meminfo

# Показать размер раздела выделенного под swap;

# watch -n1 'cat /proc/interrupts'

# Показать информацию о прерываниях;

# free -m

# Информация о используемой и свободной ОЗУ и Swap-файле (-m указывает, что отображать нужно в Мб);

# cat /proc/devices

# Показать все устройства в системе (названия взяты из директории /proc/devices);

# lspci -tv

# Показать обнаруженные PCI-устройства;

# lsusb -tv

# Показать обнаруженные USB-устройства;

# [sudo] dmidecode

# Показать информацию о версии BIOS компьютера;

# gtf 1024 768 75

# Выводит строку ModeLine для Вашего монитора на параметрах экрана 1024x768x75Hz;

7. Команды Linux: жесткие диски и файловая система.

7.1 Информация о файловой системе и жестком дискеНаверх

# fdisk -l

# Информация о всех подключенных жестких и сменных дисках;

# [sudo] hdparm -I /dev/sda

# Полная информация о IDE/ATA жестких дисках;

# smartctl -a /dev/sda1

# Выводит SMART-информацию о разделе жесткого диска /dev/sda1 (необходима установка пакета smartmontools);

# [sudo] blkid

# Выводит UUID всех доступных накопителей информации в системе;

7.2 Производительность жесткого дискаНаверх

# [sudo] hdparm -tT /dev/sda

# Показывает производительность жесткого диска;

7.3 Монтирование разделов жесткого дискаНаверх

# mount | column -t

# Показывает полную информацию о примонтированных устройсвах;

# cat /proc/partitions

# Показывает только примонтированные разделы жесткого диска;

# df

# Показывает свободное место на разделах;

# [sudo] mount /dev/sda1 /mnt

# Монтирует раздел /dev/sda1 к точке монтирования /mnt;

# [sudo] mount -t auto /dev/cdrom /mnt/cdrom

# Монтирует большинство CD-ROM`ов;

# [sudo] mount /dev/hdc -t iso9660 -r /cdrom

# Монтирует IDE CD-ROM;

# [sudo] mount /dev/scd0 -t iso9660 -r /cdrom

# Монтирует SCSI CD-ROM;

# [sudo] mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt

# Монтирование FreeBSD разделов в Linux;

# [sudo] mount -t smbfs -o username=vasja,password=pupkin //pup/Video

# Монтирование сетевых ресурсов (SMB);

# [sudo] mount -t iso9660 -o loop /home/file.iso /home/iso

# Монтирование ISO-образов;

# [sudo] mount /dev/sdb1 -t vfat -o rw /mnt

# Монтирование раздел с файловой системой FAT 16/32 (к примеру USB-накопитель) к точки монтирования /mnt с возможностью записи;

# [sudo] umount /mnt

# Отмонтирует раздел от точки монтирования /mnt;

8. Команды Linux: настройка сети.

8.1 Конфигурация сетиНаверх

# ifconfig

# Показать параметры всех сетевых;

# ifconfig eth0

# Показать параметры сетевого интерфейса eth0;

# [sudo] ethtool eth0

# Показывает состояние сетевого интерфейса eth0 (для некоторых дистрибутивов требуется установка пакета ethtool). Команда ethtool применяется только для проводных подключений, не работает с беспроводными интерфейсами;

# [sudo] ethtool -s eth0 speed 100 duplex full autoneg off

# Принудительно задать скорость сетевому интерфейсу 100Mbit и режим Full duplex и отключить автоматическое определение;

# ifconfig eth0 192.168.50.254 netmask 255.255.255.0

# Задать основной IP адрес сетевому интерфейсу eth0;

# ip addr add 192.168.50.254/24 dev eth0

# Задать основной IP адрес сетевому интерфейсу eth0;

# ifconfig eth0:0 192.168.51.254 netmask 255.255.255.0

# Задать дополнительный IP адрес сетевому интерфейсу eth0;

# ip addr add 192.168.51.254/24 dev eth0 label eth0:1

# Задать дополнительный IP адрес сетевому интерфейсу eth0;

# [sudo] ifconfig eth0 up

# Запустить сетевой интерфейс eth0;

# [sudo] ifconfig eth0 down

# Отключить сетевой интерфейс eth0;

# ifconfig eth0 hw ether 00:01:02:03:04:05

# Смена MAC адреса;

# [sudo] /etc/init.d/dhcpd restart

# Перезагрузка DHCP клиента;

# ping 192.168.0.2

# Проверка сетевого соединения. Пингуется IP адрес 192.168.0.2 (пинговать можно ya.ru);

8.2 МаршрутизацияНаверх

# route -n

# Выводит на экран таблицу маршрутизации;

# netstat -rn

# Выводит на экран таблицу маршрутизации;

8.3 Управление портами (брандмауэр)Наверх

# netstat -an | grep LISTEN

# Показывает список всех открытых портов;

# lsof -i

# Показывает список всех открытых портов в сеть Internet;

# [sudo] netstat -tup

# Активные соединения с интернетом;

# socklist

# Показывает все открытые сокеты;

# [sudo] netstat -anp --udp --tcp | grep LISTEN

# Список приложений, которые открывают порты;

# [sudo] iptables -L -n -v

# Показывает статус firewall (статус iptables);

# [sudo] iptables -P INPUT ACCEPT

# Открывает доступ ко всем портам;

# [sudo] iptables -P FORWARD ACCEPT

# Открывает доступ ко всем портам;

# [sudo] iptables -P OUTPUT ACCEPT

# Открывает доступ ко всем портам;

# [sudo] iptables -X

# Удаляет все цепочки;

8.4 Управление NATНаверх

# [sudo] iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# "Поднятие" NAT на интерфейсе eth0;

# [sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 20022 -j DNAT --to 192.168.16.44:22

# Перенаправление порта 20022, который использется для ssh;

# [sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 993:995 -j DNAT --to 192.168.16.254:993-995

# Перенаправление диапазона портов 993-995;

# iptables -L -t nat

# Проверка статуса NAT;

9. Команды Linux: создание и запись ISO образов.

Наверх

# cdrecord -scanbus

# Показывает все доступные CD-ROM;

# dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc

#Создание ISO образов с диска CD-ROM;

10. Команды Linux: пользователи и группы.

Наверх

Команды Linux необходимые для работы с пользователями и группами пользователей.

# id

# Показывает сводную информацию по текущему пользователю (логин, UID, GID, группы);

# finger Mut@NT

# Показать информацию о пользователе Mut@NT;

# last

# Показывает последних зарегистрированных пользователей;

# who

# Показывает имя текущего пользователя и время входа;

# useradd Mut@NT

# Добавление нового пользователя Mut@NT;

# groupadd ITShaman

# Добавление группы ITShaman;

# usermod -a -G ITShaman Mut@NT

# Добавляет пользователя Mut@NT в группу ITShaman (для Debian-подобных дистрибутивов);

groupmod -A Mut@NT ITShaman

# Добавляет пользователя Mut@NT в группу ITShaman (SuSE);

# userdel Mut@NT

# Удаление пользователя Mut@NT;

# groupdel ITShaman

# Удаление группы ITShaman;

11. Команды Linux: работа с процессами.

Наверх

Все запущенные процессы имеют уникальные номера - PID.

# ps axjf

# Показать все загруженные процессы;

# pgrep -l sshd

# Показать PID определенного процесса – sshd;

# echo $$

# Показать PID вашей оболочки;

# fuser -va 22/tcp

# Показать PID процесса использующий порт 22;

# fuser -va /home

# Показывает PID процесса имеющего доступ к /home;

# lsof /home

# Показывает список процессы, которые используют /home;

# killall 0 httpd

# Выводит на экран текущее состояние процесса httpd;

# kill 4712

# «Убить» процесс с PID 4712;

# [sudo] killall TERM 4712

# Посылает процессу с PID`ом 4712 сигнал TERM - завершить процесс;

# [sudo] killall HUP httpd

# Посылает процессу с именем httpd сигнал HUP - остановить процесс;

# [sudo] fuser -k -TERM -m /home

# “Убить” все процессы имеющие доступ к /home;

Важные сигналы посылаемые процессам:

  • 1 - HUP остановить процесс

  • 2 - INT прервать процесс

  • 3 - QUIT выйти

  • 9 - KILL “убить” процесс

  • 15 - TERM завершить процесс

12. Команды Linux: Runlevels.

Наверх

После загрузки ядра Linux начинают загружаться различные демоны и программы, такие как NetworkManager, Evolution и т. д., результат которых мы видим у себя после загрузки на рабочем столе. Загрузка каждой службы осуществляется скриптом. Все скрипты лежат в /etc/init.d.

Runlevels – это целое число, которое определяет “уровень загрузки”.

Уровни загрузки” бывают:

  • Runlevels=0 Выключение компьютера;

  • Runlevels=1 режим Single-User;

  • Runlevels=2 Текстовый режим без поддержки сети;

  • Runlevels=3 Текстовый режим с поддержкой сети;

  • Runlevels=4;

  • Runlevels=5 Графический режим;

  • Runlevels=6 Перезагрузка компьютера.

То есть скрипты, которые должны загружаться только в текстовом режиме с поддержкой сети, имеют Runlevels равный 3.

Более простой вариант настройки:

# [sudo] sysv-rc-conf

#Очень удобная настройка Runlevels (необходима установка пакета sysv-rc-conf);

Ручной вариант настройки:

# chkconfig --list

# Показывает список всех скриптов с соответствующими им Runlevels;

# chkconfig --list udev

# Показывает разрешенные Runlevels только отдельного скрипта, в нашем случае udev;

# [sudo] update-rc.d udev defaults

# Выставление скрипту udev значений Runlevels по-умолчанию (для Debian-подобных дистрибутивов);

# [sudo] chkconfig udev --level 35 on

# Добавление скрипту udev Runlevels 3 и 5;

# [sudo] update-rc.d udev start 20 2 3 4 5 . stop 20 0 1 6

# Изменить параметры для скрипта udev (для Debian-подобных дистрибутивов);

# [sudo] chkconfig udev off

# Отключение у udev всех Runlevels;

# [sudo] update-rc.d -f udev remove

# Отключение у udev всех Runlevel (для Debian-подобных дистрибутивов);

13. Команды Linux: Работа с ядром и модулями.

13.1 Работа с ядром системыНаверх

# uname -a

# Показать версию ядра Linux;

13.2 Работа с модулями ядраНаверх

# lsmod

# Список всех модулей загруженных в ядро;

# [sudo] modprobe isdn

# Загрузка модуля на примере isdn;

# make

# Создание сжатого образа ядра системы;

# make modules

# Компиляция модуля;

# [sudo] make modules_install

# Установка модуля;

# [sudo] make install

# Установка в ядро системы;

14. Команды Linux: работа с LiveCD.

Наверх

# [sudo] chroot /mnt

# смена root-окружения на /mnt. После этого коневой раздел, примонтировнный к /mnt, будет использоваться как родной;

15. Команды Linux: конвертирование различной информации;

15.1 Конвертирование текстаНаверх

# iconv -l

# Выводит список всех доступных кодировок;

# iconv -f cp1251 -t UTF-8 file_cp1251.txt -o file_utf8.txt

# Смена кодировки. Был файл file_cp1251.txt с кодировкой cp1251, а в итоге получился файл file_utf8.txt с кодировкой utf8;

15.2 Конвертирование PDF в JPEGНаверх

# convert name.pdf name-%03d.jpg

# Конвертируется name.pdf в постраничные JPEG изображения (в некоторых дистрибутивах необходимо установить пакет imagemagick);

# convert *.jpeg name.pdf

# Конвертируются JPEG изображения в PDF (в некоторых дистрибутивах необходимо установить пакет imagemagick);

15.3 Конвертирование видеоНаверх

# mencoder -o videoout.avi -oac mp3lame -ovc lavc -srate 11025 -channels 1 -af-adv force=1 -lameopts preset=medium -lavcopts vcodec=msmpeg4v2:vbitrate=600 -mc 0 vidoein.AVI

15.4 Конвертирование аудиоНаверх

# cdparanoia -B

# Копирование треков с AudioCD в текущую директорию wav-файлами;

# lame -b 256 in.wav out.mp3

# Конвертирование wav-файлов в mp3 с качеством 256 kb/s;

# oggenc in.wav -b 256 out.ogg

# Конвертирование wav-файлов в Ogg Vorbis с качеством 256 kb/s;

16. Команды Linux: печать на принтере.

Наверх

# export PRINTER=lbp2900

# Выбор принтера по-умолчанию. В примере выбран принтер Canon LBP-2900;

# lpr #2 name.txt

# Распечатать на принтере Canon LBP-2900 две копии файла name.txt;

# lprm -

# Удаление всех задач с принтера по-умолчанию;