
- •Тема 1. Основы Unix
- •Структура unix
- •Сравнение Windows 2000 и Unix
- •Сравнение FreeBsd и Linux
- •Командные интерпретаторы Unix
- •Тема 2. Команды интерпретатора
- •2.1 Команды работы с файловой системой
- •2.2 Создание ссылок
- •2.3 Конвейеры и перенаправление ввода-вывода
- •Тема 3. Сценарии
- •3.1 Редактирование исходных файлов
- •3.2 Работа с командным интерпретатором
- •3.3 Переменные
- •3.4 Взаимодействие с пользователем
- •3.5 Арифметические операции в сценариях
- •Тема 4. Операторы сценариев
- •4.1 Операторы цикла
- •4.2 Другие операторы
- •4.3 Арифметические операторы and и or
- •Код завершения
- •Файловые дескрипторы
- •Отладка сценариев
- •4.7 Запись команд
- •Использование специальных символов
- •Тема 5. Файловая система FreeBsd
- •Разделы жесткого диска
- •5.2 Файловые системы
- •Монтирование файловых систем
- •Блоки и индексные дескрипторы
- •5.5 Пользователи и группы
- •5.6 Права доступа к файлам и каталогам
- •5.7 Добавление и удаление учетных записей пользователей
- •5.8 Управление процессами
- •Тема 6. Работа с файлами в Unix
- •6.2 Файловые функции Unix
- •6.3 Пример программы для обработки файла
- •Тема 7. Межмашинное взаимодействие
- •7.1 Сокеты
- •7.2 Функции для программирования сокетов
- •Тема 8. Программирование процессов
- •8.1 Информация о процессах
- •8.2 Создание порожденного процесса
- •8.3 Программные каналы
- •Тема 9. Web и Ftp сервисы
- •9.1 Конфигурирование Web-сервера
- •9.2 Конфигурирование ftp-сервера
- •Подключение к Internet
Файловые дескрипторы
Файловый дескриптор – это число, устанавливаемое ядром для каждого открытого файла
По умолчанию открываются три дескриптора.
0 - стандартный входной поток STDIN. Обычно ввод идет с клавиатуры, но его можно переназначить на файл: exec < f0.txt .
1 - стандартный выходной поток STDOUT. Вывод идет на экран, но его можно переназначить на файл: exec > f1.txt .
2 - стандартный поток ошибок STDERR. Запись 2 > &1 означает переназначение STDERR на STDOUT.
Отладка сценариев
Трассировку сценария можно включит опцией –xv:
#!/bin/sh -xv
В результате можно увидеть результаты выполнения отдельных строк сценария.
4.7 Запись команд
Символы < , > , | , ; , & являются специальными символами интерпретатора. Они не являются аргументами команд, а управляют процессом запуска команд.
Запись
date : who
равносильна вводу двух команд в разных строках.
Запись
date : who | wc
означает, что команде wc передается только результат who, т.к. приоритет “|” выше, чем “;”.
Команды можно группировать. Запись
( date : who ) | wc
означает, что результаты date и who конкатенируются в один поток, который передается в wc.
Амперсанд & после команды указывает интерпретатору, что не нужно ждать завершения этой команды, а сразу переходить к выполнению следующей. Запись
( sleep 5; date ) & who
означает, что вначале выполняется who, через 5 секунд – date.
Использование специальных символов
Целый ряд символов в Unix имеет специальное значение. Чтобы использовать эти символы, как обычные, можно заключить их в апострофы. Можно использовать двойные кавычки, однако интерпретатор внутри кавычек будет искать символы $, ’ ’, \. Обратные кавычки трактуются, как вывод команды, записанной внутри кавычек.
Примеры
echo * - вывод списка всех файлов
echo ’*’ - вывод *
echo hello - вывод hello
echo \* - вывод *
echo ab\
cd\
e - вывод abcde
echo ’hello
’ - вывод hello
Тема 5. Файловая система FreeBsd
Разделы жесткого диска
Каждая ОС позволяет разбить диск на разделы, FreeBSD имеет не один, а два уровня разбиения. На первом находятся разделы BIOS, адресуемые непосредственно оборудованиям ПК. Их может быть не более четырех, и другие ОС рассматривают их как разделы (partitions). Если разбиение диска выполнялось в системе Windows, каждый раздел является именно разделом BIOS.
Во FreeBSD для разделов BIOS используется термин слайсы (slices). Когда же речь идет о разделах, то подразумевается второй уровень разбиения.
Во FreeBSD раздел может иметь например такую маркировку
/dev/ad0s1e .
Здесь ad0 – устройство ATA0, s1 – слайс 1, e - раздел общего пользования.
Диски IDE/ATA имеют имена от ado до ad3 , диски SCSI начинаются с da.Слайсы нумеруются, начиная с 1.
Типы разделов: а - корневой раздел, в - раздел swap, с - сейчас не используется, d - h - для общего пользования.
Создание слайса выполняется в режимеn Fdisk программы Sysinstall (отличается от fdisk в DOS). В режиме Label программы Sysinstall выполняется создание и форматирование разделов BSD.