Оглавление Лицензионное соглашение 3 Аннотация 4 Использованные ресурсы 5 Введение 12 Немного истории 12 Стандарт POSIX 12 Глава 1. Знакомство с операционной системой 14 Программы оболочки (командные интерпретаторы) 14 Файловая система 15 Иерархия 15 Имена файлов 17 Символы подстановки в именах файлов 18 Типы файлов 18 Глава 2. Знакомство с файловой системой 20 Программы для работы с файловой системой 20 pwd 20 cd 20 ls 21 Физическое устройство файловой системы 23 Программы для работы с файлами 24 touch 24 cp 25 mv 26 dd 27 mkdir 28 rm 28 rmdir 28 Программы для просмотра текстовых файлов 28 cat 29 tac 30 head и tail 30 more 30 less 31 Глава 3. Знакомство с командным интерпретатором 32 Неадекватное поведение терминала 32 Комфортная работа в командной строке 32 Автоподстановка 32 История команд 33 Переменные среды окружения 34 Псевдонимы 36 Стандартные ввод, вывод и вывод ошибки 37 Перенаправления. Перенаправление стандартного вывода 38 Перенаправление стандартного вывода ошибки 38 Перенаправление стандартного ввода 38 Конвейеры 39 Глава 4. Обработка текстовой информации 40 Программы для управления выводом текстовой информации 40 tee 40 Структурированные текстовые файлы 40 cut 41 paste 42 sort 42 wc 43 tr 43 diff 44 Обработка текстовой информации 44 grep 44 Примеры регулярных выражений 45 Примеры использования grep 45 sed 45 Команда a 45 Команда i 45 Команда p 46 Команды s и g 46 Команда q 46 Команда d 46 Использование командного файла 46 Способы адресации 47 Глава 5. Ссылки 48 ln 48 Глава 6. Основы системы безопасности 51 Права доступа 51 Права доступа к файлам 51 Права доступа к директориям 52 Права доступа к символьным ссылкам 53 chmod 53 Числовой формат записи прав доступа 53 Символьный формат записи прав доступа 54 Копирование прав доступа 55 Специальные права 55 suid 55 sgid 57 stiky 58 Обозначение 58 Права доступа по умолчанию 58 POSIX ACL 59 getfacl 59 setfacl 60 Формат записи ACL 62 Изменение владельца и группы файлов 63 chown 63 chgrp 63 Глава 7. Процессы 64 ps 64 pgrep 66 Потомок, родитель 67 pstree 68 nohup 69 Демоны 69 Сигналы 69 kill 71 killall 72 pkill 72 Мониторинг процессов 72 top 72 Batch-режим 76 Приоритет процессов 77 nice 78 renice 79 Временная остановка выполнения процесса 79 Глава 8. Система помощи 82 man 82 Программа просмотра 83 Директории 83 MANPATH 84 Поиск в страницах руководства 84 Русские man pages 85 info 85 --help 85 HOWTO 86 Документация к программам 86 Глава 9. Текстовые редакторы 87 Редактор vi 87 Режимы работы редактора vi 87 Команды редактора vi 88 Примеры использования vi 88 Вместо заключения 89 Глава 10. Основы shell script 90 Запуск приложений 90 Переменные 90 Массивы переменных 91 Переменные окружения 93 Взаимодействие с пользователем 94 Подстановка 95 Арифметические выражения 96 Условный оператор if 97 Проверка условий с помощью оператора test 98 Операторы && и || 99 Оператор case 99 Оператор for 101 Получение данных из внешних файлов 103 Оператор while 104 Оператор select 105 Оператор «точка». Функции. 106 Специальные переменные 108 Использование программы getopts 110 Оператор trap 111 Глава 11. Установка дистрибутива 113 Требования к компьютеру 113 Загрузка 113 Подготовка (разметка) жесткого диска 114 Типы файловых систем 119 Файловая система ext2 119 Журналируемые файловые системы 120 Файловая система ext3 120 Файловая система ReiserFS 121 Файловая система JFS 121 Файловая система XFS 121 Файловые системы компании Microsoft 122 Файловые системы iso9660 и udf 122 Виртуальные файловые системы 122 Файловая система proc 122 Файловая система sysfs 128 Файловая система для устройств /dev 128 Программа установки 130 Глава 12. Управление накопителями и файловыми системами 135 Программы для работы с накопителями 135 badblocks 135 mkfs 135 mke2fs 139 mkreiserfs 139 jfs_mkfs 140 mkfs.xfs 140 tune2fs 141 fsck 142 Использование файловых систем 144 mount 144 Параметры монтирования файловых систем 145 Параметры монтирования, общие для всех файловых систем 145 Параметры монтирования файловой системы ext3 145 Параметры монтирования файловой системы JFS 146 Параметры монтирования файловой системы XFS 146 Параметры монтирования файловой системы iso9660 146 Параметры монтирования файловой системы vfat 146 Параметры монтирования файловой системы ntfs 147 umount 147 Работа с файловыми системами 147 Файлы fstab и mtab 149 Использование USB накопителей 152 df 153 du 154 Глава 13. Работа с пользователями 156 Файл passwd 156 Файл shadow 157 Файл group 158 Программы для работы с учетными записями пользователей 159 skel каталог 160 vipw 160 Программа для смены пароля пользователя passwd 160 Управление группами 161 Программа su 161 Настройка пользовательской среды окружения 162 Приглашения интерпретатора 163 Файл ~/.bash_logout 164 Глава 14. Русификация консоли и консольных приложений (локализация) 165 Таблицы кодировки символов 165 Локализация 167 Настройка системных средств локализации 168 Проверка наличия средств локализации 168 Формат задания значений переменных локализации 169 Включение средств локализации 169 Локализация консоли 170 consoletools 171 Как это сделано в дистрибутиве Black Cat 172 kbd 173 Как это сделано в Slackware Linux 174 Переключение кодировок 174 Отображение русских букв в файловых системах vfat и ntfs 175 Глава 15. Сети в Linux 176 Немного истории 176 Сети TCP/IP 176 Введение в сети TCP/IP 177 Ethernet 177 Хабы, свитчи и коммутаторы 178 Другие типы оборудования 178 Internet Protocol 179 IP на последовательных линиях 180 Transmission Control Protocol 180 User Datagram Protocol 180 Сетевые порты 181 Библиотека сокетов 181 Сети и Linux 182 Различные направления разработки 182 Сетевые интерфейсы 183 ip адреса 183 Что такое бит? 183 Сетевые маски 184 Трюки с сетевой маской 185 Шестнадцатеричные сетевые маски 185 Неиспользуемые адреса 186 Преобразование адресов 186 IP маршрутизация 187 IP сети 187 Подсети 187 Gateways 187 Таблица маршрутов (Routing Table) 188 Метрические значения 189 Internet Control Message Protocol 189 Преобразование имен машин 190 Обзор сетевых устройств в Linux 190 Установка Ethernet 191 Автоопределение Ethernet 191 Другие типы сетей 193 Драйверы сетевых устройств в ядре 193 Динамическое подключение драйверов 193 Загрузка модулей сетевых карт в Slackware Linux 196 Определение HOSTNAME 196 Получение сетевого адреса 196 Создание подсетей 197 Создание файлов hosts и networks 197 Настройка сетевых интерфейсов 198 Расположение конфигурационных файлов 198 Программа ifconfig 199 Настройка интерфейса lo 200 Настройка Ethernet интерфейса eth0 201 Использование нескольких ip адресов на одном интерфейсе 201 Интерфейс для последовательного порта 202 Настройка маршрутизации 203 Лабораторная работа 204 Конфигурационный файл rc.inet1 206 Программа netstat 207 Отображение статистики интерфейса 208 Отображение соединений 208 Проверка ARP-таблиц 208 Программа tcpdump 209 Фильтрация при сборе пакетов 212 Логические выражения 213 Примеры фильтров 214 Настройка клиента DNS 214 Библиотека Resolver 214 Файл host.conf 215 Resolver и переменные окружения 215 Файл nsswitch.conf 216 Файл resolv.conf 217 Ошибкоустойчивость Resolver 218 Настройка удаленного управления 219 Шифрование 219 Ключи 219 Симметричное шифрование 220 Асимметричное шифрование 221 Установка и конфигурирование ssh 223 Ssh daemon 223 Клиент ssh 224 Использование ssh 225 Глава 16. Поиск файлов в файловой системе 227 Программа which 227 Программа whereis 227 Программа locate 227 Программа find 228 Глава 17. Архивация и резервное копирование 231 Программы для архивации данных 231 Программа tar 231 Программа cpio 234 Сжатие (компрессия) данных 238 Программа gzip 239 Программа bzip2 239 Программа compress 240 Сравнение программ сжатия 240 Вызов программ сжатия из программы tar 241 Резервное копирование и восстановление данных 242 Какова Ваша стратегия? 242 Что копировать? 242 Инструменты резервного копирования 243 Глава 18. Управление программным обеспечением 245 Менеджер пакетов Slackware 245 Формат пакетов 245 Программы для работы с пакетами 246 pkgtool 246 Проверка установленного программного обеспечения 246 installpkg 247 upgradepkg 249 removepkg 249 swaret 250 rpm2tgz/rpm2targz 251 Создание пакетов 251 explodepkg 251 makepkg 252 Скрипты SlackBuild 252 Менеджер пакетов RPM 252 Компиляция программного обеспечения из исходных текстов 255 Необходимые сведения о программировании на языке Си 255 Инсталляция программного обеспечения из исходных кодов 256 Программа make 257 Пример сборки программ из исходных кодов. Программа screen 257 Глава 19. Система печати в Linux 263 Классические средства печати 263 Файл /etc/printcap 264 Фильтры 265 PostScript и Ghostscript 266 Шрифты для Ghostscript 266 Печать на удаленный принтер 267 Система печати CUPS 267 Как это работает? 268 Обновление информации о принтерах 268 Классификация принтеров 268 Интеграция с MS Windows 268 Настройка CUPS 268 Модули системы печати CUPS 269 Пример подключения USB принтера HP LaserJet 1300 270 Сетевая печать 270 WEB-интерфейс системы CUPS 270 Глава 20. Ядро Linux 271 Нумерация версий ядра 271 Старая система нумерации 272 Современная система нумерации 272 О компиляции нового ядра 272 Перед тем как начать... 273 Семь шагов к новому ядру 273 Получение и разархивация ядра 273 Применение заплаток к исходникам ядра 274 Конфигурирование будущего ядра 275 Компиляция ядра 276 Компиляция модулей 277 Установка ядра 277 Настройка загрузчика ядра 278 Глава 21. Система инициализации Linux 281 Программа init 281 Формат файла /etc/inittab 282 Система инициализации BSD 285 Файл /etc/rc.d/rc.S 285 Заключение 290 Файлы /etc/rc.d/rc.modules и /etc/rc.d/rc.netdevice 291 Файл /etc/rc.d/rc.M 291 Файлы /etc/rc.d/rc.inet1 и /etc/rc.d/inet2 294 Файл /etc/rc.d/rc.inet1 294 Файл /etc/rc.d/rc.inet2 295 Заключение 295 Система инициализации SystemV 296 Файл /etc/rc.d/rc 297 Программа chkconfig 298 Запуск и останов сервисов вручную 299 Конфигурационные файлы в директории /etc/sysconfig 300 Приложение 1. Восстановление пароля пользователя root 301 Методические рекомендации 302