Книга Командная строка Linux и автоматизация рутинных задач. Колисниченко Денис
978-5-9775-0850-6 |
109.00 грн.
|
Код товара: 4989 Доставка по всей территории Украины БЕСПЛАТНАЯ
|
2012г.
Количество страниц: 352
В книге Командная строка Linux и автоматизация рутинных задач. Колисниченко Денис рассмотрены команды Линукс, основы работы в командной строке, и настройка системы при помощи программ, обладающих лишь текстовым интерфейсом. Работа с системой выполняется лишь в режиме консоли, что требует определенной квалификации пользователя. Детально описаны максимально полезные команды Линукс, особенности файловой системы Линукс, криптографическая файловая система Ecryptfs, система инициализации systemd, загрузчики GRUB и GRUB2, ядро 3.0. С позиции пользователя оценены интерактивные возможности оболочки zsh. Даны практические примеры разработки сценариев на языках оболочек bash и tcsh. Рассмотрено управление пакетами для максимально злободневных на сегодняшний день дистрибутивов. Для энтузиастов Линукс написана отдельная глава о создании своего установочного пакета Линукс и создании загрузочного LIVECD.
Оглавление Введение 11
Часть I. Командная строка
15
Глава 1. Введение в командную строку
17
1.1. Вход в систему 17
1.2. Команды poweroff, halt, reboot, shutdown 20
1.3. Как работать в консоли 20
1.4. Графические терминалы 21
Глава 2. Командные интерпретаторы
23
2.1. Файл /etc/shells 23
2.2. Оболочка sh 24
2.3. Оболочка csh 24
2.4. Оболочка ksh 25
2.5. Оболочка bash 25
2.6. Оболочка zsh 26
2.7. Оболочка tcsh 27
2.8. Оболочка ash 27
2.9. Выбор оболочки 27
Глава 3. Базовые команды Linux
29
3.1. О командах Linux 29
3.2. Команда arch: сведения об архитектуре компьютера 29
3.3. Команда banner: текстовый баннер 30
3.4. Команда chsh: изменение командного интерпретатора 30
3.5. Команды cksum и md5sum: вычисление контрольной суммы файла 31
3.6. Команда clear: очистка экрана 32
3.7. Команда date: вывод даты и времени 32
3.8. Команда echo: вывод сообщения 33
3.9. Команда exit: выход из системы 33
3.10. Команда env: установка переменных окружения 34
3.11. Команды man и info: вывод справки 34
3.12. Команда printenv: вывод значения переменной окружения 34
3.13. Команда reset: сброс терминала 34
3.14. Команда sleep: пора спать 35
3.15. Команда startx: запуск графического интерфейса X.Org 35
3.16. Команда tee: перенаправление ввода 35
3.17. Команда true: успешное завершение 35
3.18. Команда yes: возвращает y 36
3.19. Команда uname: название и версия дистрибутива Linux 36
3.20. Конвертирование кодировок, звуковых и графических файлов 36
Глава 4. Файловая система. Команды для работы с файловой системой
39
4.1. Файловые системы, поддерживаемые Linux 39
4.1.1. Выбор файловой системы 41
4.1.2. Linux и файловые системы Windows 41
4.1.3. Сменные носители 42
4.2. Особенности файловой системы Linux 42
4.2.1. Имена файлов в Linux 42
4.2.2. Файлы и устройства 43
4.2.3. Корневая файловая система и монтирование 44
4.2.4. Стандартные каталоги Linux 45
4.3. Команды для работы с файлами и каталогами 46
4.3.1. Работа с файлами 46
4.3.2. Работа с каталогами 48
4.4. Команда ln: создание ссылок 50
4.5. Команды chown, chmod и chattr 51
4.5.1. Команда chmod: права доступа к файлам и каталогам 51
4.5.2. Команда chown: смена владельца файла 53
4.5.3. Специальные права доступа (SUID и SGID) 53
4.5.4. Команда chattr: атрибуты файла, запрет изменения файла 53
4.6. Монтирование файловых систем 55
4.6.1. Команды mount и umount 55
4.6.2. Файлы устройств и монтирование 56
Жесткие диски 56
Приводы оптических дисков 58
Дискеты 58
Флешки и внешние жесткие диски 58
4.6.3. Опции монтирования файловых систем 59
4.6.4. Монтирование разделов при загрузке 60
4.6.5. Подробно о UUID и файле /etc/fstab 62
4.6.6. Монтирование Flash-дисков 64
4.7. Настройка журнала файловой системы ext3 65
4.8. Файловая система ext4 66
4.8.1. Сравнение ext3 и ext4 66
4.8.2. Совместимость с ext3 68
4.8.3. Переход на ext4 68
4.9. Особые команды 69
4.9.1. Команда mkfs: создание файловой системы 69
4.9.2. Команда fsck: проверка и восстановление файловой системы 69
4.9.3. Команда chroot: смена корневой файловой системы 70
4.9.4. Установка скорости CD/DVD 70
4.9.5. Монтирование каталога к каталогу 70
4.9.6. Команды поиска файлов 70
4.10. eCryptfs: краткое руководство для секретного агента 72
Глава 5. Процессы
75
5.1. Команды kill, killall, xkill и ps 75
5.2. Программа top: кто больше всех расходует процессорное время? 77
5.3. Команды nice и renice: изменение приоритета процесса 79
5.4. Перенаправление ввода/вывода 79
5.5. Команда fuser: кто открыл ресурс? 80
Глава 6. Запись CD/DVD из консоли
81
6.1. Команда dd: создание образа диска 81
6.2. Команды cdrecord и dvdrecord: запись образа на болванку 82
6.3. Команды очистки перезаписываемых дисков 83
6.4. Команда mkisofs: создание ISO-образа 83
6.5. Преобразование образов дисков 84
6.6. Создание и монтирование файлов с файловой системой 84
Глава 7. Команды для работы с текстом
85
7.1. Команда cmp: сравнение двух файлов 85
7.2. Команда column: разбивка текста на столбцы 85
7.3. Команда comm: еще одна команда для сравнения файлов 86
7.4. Команда diff: сравнение файлов 86
7.5. Команда diff3: сравнение трех файлов 87
7.6. Команда egrep: расширенный текстовый фильтр 88
7.7. Команда expand: замена символов табуляции пробелами 89
7.8. Команда fmt 89
7.9. Команда fold 90
7.10. Команда grep: текстовый фильтр 90
7.11. Команды more и less: постраничный вывод 90
7.12. Команды head и tail: вывод начала и хвоста файла 90
7.13. Команда look 91
7.14. Команда sort: сортировка файлов 91
7.15. Команда split: разбиение файлов на несколько частей 91
7.16. Команда unexpand: замена пробелов символами табуляции 92
7.17. Команды vi, nano, ee, mcedit, pico: текстовые редакторы 92
7.18. Команда wc: подсчет слов в файле 96
Глава 8. Команды для работы с сетью и Интернетом
97
8.1. Команда ifconfig: управление сетевыми интерфейсами 97
8.2. Маршрутизация 98
8.2.1. Команда netstat: просмотр таблицы маршрутизации 98
8.2.2. Команда route: изменение таблицы маршрутизации 102
8.3. Команда pppoeconf: настройка DSL-соединения 104
8.4. Команда pppconfig: настройка модемного (PPP) соединения 108
8.5. Команда wvdial: настройка PPP-соединения 109
8.6. Текстовые браузеры 111
8.7. Команда ftp: FTP-клиент 111
8.8. Команда wget: загрузка файлов 112
8.9. Команды для диагностики сети 114
8.10. Настройка сети вручную. Конфигурационные файлы 118
8.10.1. Конфигурационные файлы Fedora 120
8.10.2. Конфигурационные файлы openSUSE 122
8.10.3. Конфигурационные файлы Debian/Ubuntu 124
8.11. Команда mii-tool 124
8.12. Сетевой сканер nmap 125
8.12.1. Что такое nmap? 125
8.12.2. Где мне взять nmap? 126
8.12.3. Примеры использования nmap 126
Глава 9. Команды системного администратора
129
9.1. Программы разметки диска 129
9.1.1. Программа fdisk 129
9.1.2. Программа parted 132
9.1.3. Введение в GPT. Утилиты для работы с GPT 136
9.2. Информация о системе и пользователях 137
9.2.1. Команда uptime: информация о работе системы 137
9.2.2. Команда users: информация о пользователях 137
9.2.3. Команды w, who, ftpwho и whoami: информация о пользователях 138
9.2.4. Мониторинг работы системы 138
9.3. Планировщик at 141
9.3.1. Команда at: добавление задания 141
9.3.2. Команды atq и atrm: очередь заданий и удаление задания 141
9.4. Планировщик crond 141
9.5. Планировщик anacron 143
9.6. Команда date: вывод и установка даты и времени 144
9.7. Команды free и df: информация о системных ресурсах 144
9.8. Команда ssh: удаленный вход в систему 144
9.9. Устройства и драйверы 146
Часть II. Операционная система
149
Глава 10. Загрузчики Linux
151
10.1. Основные загрузчики 151
10.2. Конфигурационные файлы GRUB и GRUB2 152
10.2.1. Конфигурационный файл GRUB 152
10.2.2. Конфигурационный файл GRUB2. Команды grub-mkconfig и update-grub 155
10.3. Команды установки загрузчиков 159
10.4. Установка тайм-аута выбора операционной системы. Редактирование параметров ядра 159
10.5. Установка собственного фона загрузчиков GRUB и GRUB2 162
10.6. Постоянные имена и GRUB 163
10.7. Восстановление загрузчика GRUB/GRUB2 164
10.8. Две и более ОС Linux на одном компьютере 165
10.9. Загрузка с ISO-образов 166
10.10. Установка пароля загрузчика 167
10.10.1. Загрузчик GRUB 167
10.10.2. Загрузчик GRUB2 169
Глава 11. Системы инициализации Linux
171
11.1. Начальная загрузка Linux 171
11.2. Система инициализации init 173
11.2.1. Команда init 174
11.2.2. Команда service 175
11.2.3. Редакторы уровней запуска 175
11.2.4. Параллельная загрузка сервисов, или как сделать старую систему init быстрее 176
11.3. Система инициализации upstart 177
11.3.1. Как работает upstart? 177
11.3.2. Конфигурационные файлы upstart 178
11.4. Система инициализации systemd 179
11.4.1. Идеальная система инициализации 179
11.4.2. Введение в systemd 180
11.4.3. Основные особенности systemd 182
11.4.4. Сравнение init, upstart и systemd 182
11.4.5. Немного практики 184
11.4.6. Команды системного администратора 187
11.5. Система инициализации Slackware 188
Глава 12. Команды управления пользователями
191
12.1. Многопользовательская система 191
12.2. Пользователь root 192
12.2.1. Максимальные полномочия 192
12.2.2. Как работать без root 192
Команда sudo 193
Команда su 193
Проблемы с sudo в Ubuntu и Kubuntu 194
Ввод серии команд sudo 195
12.2.3. Переход к традиционной учетной записи root 195
Преимущества и недостатки sudo 195
Традиционная учетная запись root в Ubuntu 196
Традиционная учетная запись root в Mandriva 197
Вход в качестве root в Fedora 198
12.3. Создание, удаление и модификация пользователей стандартными средствами 199
12.3.1. Команды adduser и passwd 199
12.3.2. Команда usermod 200
12.3.3. Команда userdel 201
12.3.4. Подробно о создании пользователей 201
12.4. Группы пользователей 203
12.5. Команды квотирования 203
Глава 13. Ядро
207
13.1. Команда dmesg: вывод сообщений ядра 207
13.2. Параметры ядра 213
13.3. Компиляция ядра 217
13.3.1. Установка исходных кодов ядра 218
13.3.2. Настройка ядра 218
13.3.3. Компиляция ядра 222
13.4. RT-ядро 224
13.5. Особенности компиляции ядра в других дистрибутивах Linux 224
Часть III. Программирование и автоматизация в Linux
227
Глава 14. Программирование на языке C. Утилиты для программиста
229
14.1. Команда gcc: компилятор 229
14.2. Команда make: сборка проекта 231
14.3. Команды из пакета binutils 232
14.4. Другие полезные команды 233
14.5. Команда gdb: отладка программ 233
Глава 15. Автоматизация рутинных задач с помощью bash
237
15.1. Настройка bash 237
15.2. Автоматизация задач с помощью bash 239
15.3. Привет, мир! 240
15.4. Использование переменных в собственных сценариях 240
15.5. Передача параметров сценарию 242
15.6. Массивы и bash 242
15.7. Циклы 243
15.8. Условные операторы 244
15.9. Функции 245
15.10. Примеры сценариев 245
15.10.1. Сценарий мониторинга журнала 245
15.10.2. Переименование файлов 246
15.10.3. Преобразование систем счисления 247
15.10.4. Проверка прав пользователя 247
15.10.5. Генератор имени временного файла 248
Глава 16. Автоматизация задач с помощью tcsh
249
16.1. Использование tcsh 249
16.2. Конфигурационные файлы tcsh 250
16.3. Создание сценариев на tcsh 251
16.3.1. Переменные, массивы и выражения 251
16.3.2. Чтение ввода пользователя 254
16.3.3. Переменные оболочки tcsh 254
16.3.4. Управляющие структуры 257
Условный оператор if 257
Условный оператор if..then..else 258
Оператор foreach 259
Оператор while 259
Оператор switch 260
16.3.5. Встроенные команды tcsh 261
Глава 17. Автоматизация обработки задач средствами gawk
263
17.1. Введение в gawk 263
17.2. Основы языка 263
17.2.1. Образцы и действия 263
17.2.2. Операторы 264
17.2.3. Переменные 265
17.2.4. Ассоциативные массивы 265
17.2.5. Функции 265
17.2.6. Вывод с помощью printf 266
17.2.7. Управляющие структуры 267
Условный оператор if..else 267
Цикл while 267
Цикл for 267
17.3. Примеры 268
Глава 18. Собственный сервер для PHP-программиста
271
18.1. Зачем нужен сервер PHP-программисту? 271
18.2. Web-сервер 271
18.2.1. Установка Apache и PHP 271
18.2.2. Тестирование настроек Web-сервера 272
18.2.3. Конфигурационные файлы сервера. Команды запуска и останова сервера 274
18.3. Сервер баз данных MySQL 274
18.3.1. Установка сервера 274
18.3.2. Команды управления пользователями MySQL-сервера 275
18.3.3. Команды запуска и останова сервера 276
18.3.4. Программа MySQL Administrator 276
18.4. Быстрая настройка FTP-сервера 278
Часть IV. Управление пакетами
283
Глава 19. Введение в пакеты. Программы rpm и dpkg
285
19.1. Что такое пакет? 285
19.2. Репозитории пакетов 287
19.3. Программы для управления пакетами 288
19.4. Программа rpm для всех дистрибутивов, совместимых с Red Hat 289
19.5. Программа rpmbuild: простая сборка пакетов исходного кода 290
19.6. Программа dpkg: управление DEB-пакетами 290
19.7. Команда alien: установка RPM-пакетов 292
Глава 20. Управление пакетами в Debian/Ubuntu
295
20.1. Программы для управления пакетами 295
20.2. Программа apt-get 295
20.2.1. Установка пакетов. Источники пакетов 295
20.2.2. Основные команды программы apt-get 296
Обновление источников 297
Удаление и переустановка пакетов 297
Обновление пакета и системы 298
Очистка кэша пакетов 298
Опции программы apt-get 299
Подключение репозитория Medibuntu в Ubuntu 299
Корова в apt-get 300
20.3. Программа aptitude 300
Глава 21. Управление пакетами в Fedora
301
21.1. Использование программы yum 301
21.2. Управление источниками пакетов 303
21.3. Установка пакетов через прокси-сервер 305
21.4. Плагины для программы yum 305
Глава 22. Управление пакетами в openSUSE. Менеджер пакетов zypper
307
Глава 23. Управление пакетами в Slackware
311
23.1. Особенности Slackware 311
23.2. Управление пакетами 312
23.2.1. Команда installpkg: установка пакетов 313
23.2.2. Команда removepkg: удаление пакетов 314
23.2.3. Команда upgradepkg: обновление пакетов 315
23.3. Нет нужного пакета — вам поможет программа rpm2tgz 315
23.4. Программа slackpkg: установка пакетов из Интернета 315
Глава 24. Управление пакетами в Mandriva
317
24.1. Команда urpmi: установка пакетов 317
24.2. Команда urpme: удаление пакетов 322
24.3. Поиск пакета. Получение информации о пакете 322
Часть V. Средства резервного копирования и дистрибутивостроения
323
Глава 25. Создание дистрибутива
325
25.1. Зачем нужно создавать еще один дистрибутив? 325
25.2. Инструменты для создания дистрибутива 326
25.3. Этапы создания дистрибутива 327
25.4. Процесс создания дистрибутива 327
25.5. Развитие дистрибутива 330
Глава 26. Средства резервного копирования. Создание LiveCD-диска
331
26.1. Необходимость в "живой" резервной копии 331
26.2. Средства клонирования Linux 332
26.3. Clonezilla 333
26.4. Remastersys Backup 340
26.5. Linux Live 342
Заключение 345
Предметный указатель