Bash скрипты
Практическое руководство.
Дейв Тейлор, Брендон Перри «Сценарии командной оболочки. Linux, OS X и Unix» Питер, 2017 год, 448 стр., (6,43 мб. pdf + 4,67 мб. epub)
Это второе издание книги,(первое издание книги вышло в 2004 году) дополнены новыми материалами 12 глав, добавлено 3 новые главы. В книге демонстрируются приемы создания сценариев в командной оболочке bash (скрипты). Приводятся практические примеры программирования самых распространенных (типичных) задач. с которыми сталкиваются системные администраторы и активные пользователи Unix — подобных систем.
Пользователям Windows 10, также будет интересно попробовать свои силы в создании сценариев (Microsoft выпустила bash для десятки), см. приложение A: Установка Bash в Windows 10. Все приводимые примеры: настройка и управление системой, работа с сетью, администрирование WEB-сервера и сценарии полезные для веб-мастеров, работа в облаке, с файлами и др. — могут быть взяты за основу и использоваться как шаблоны.
Используя данные примеры можно создавать и приспосабливать bash-скрипты под собственные нужды. Для начинающих пользователей обязательно следует прочесть Главу 0 (Краткое введение в сценарии командной оболочки), это новая глава, добавлена во второе издание. ISBN 978-5-496-03029-8
Содержание.
Глава 0 Краткое введение в сценарии командной оболочки
Что такое командная оболочка? 34
Запуск команд 36
Настройка оболочки входа 37
Запуск сценариев командной оболочки 38
Упрощение способа вызова сценариев 40
Почему именно сценарии командной оболочки? 41
За дело 42
Глава 1 Отсутствующая библиотека
Что такое POSIX? 43
№ 1 Поиск программ в PATH 44
Код 45
Как это работает 47
Запуск сценария 47
Результаты 48
Усовершенствование сценария 48
№ 2 Проверка ввода: только алфавитно-цифровые символы 49
Код 50
Как это работает 50
Запуск сценария 51
Результаты 51
Усовершенствование сценария 51
№ 3 Нормализация форматов дат 52
Код 53
Как это работает 54
Запуск сценария 54
Результаты 55
Усовершенствование сценария 55
№ 4 Удобочитаемое представление больших чисел 56
Код 56
Как это работает 57
Запуск сценария 58
Результаты 58
Усовершенствование сценария 58
№ 5 Проверка ввода: целые числа 59
Код 59
Как это работает 60
Запуск сценария 61
Результаты 61
Усовершенствование сценария 61
№ 6 Проверка ввода: вещественные числа 62
Код 62
Как это работает 64
Запуск сценария 64
Результаты 64
Усовершенствование сценария 65
№ 7 Проверка форматов дат 65
Код 66
Как это работает 67
Запуск сценария 68
Результаты 68
Усовершенствование сценария 69
№ 8 Улучшение некачественных реализаций echo 69
Код 70
Запуск сценария 71
Результаты 71
Усовершенствование сценария 71
№ 9 Вычисления произвольной точности с вещественными числами 72
Код 72
Как это работает 73
Запуск сценария 74
Результаты 74
№ 10 Блокировка файлов 74
Код 75
Как это работает 76
Запуск сценария 77
Результаты 77
Усовершенствование сценария 78
№ 11 ANSI-последовательности управления цветом 78
Код 79
Как это работает 79
Запуск сценария 80
Результаты 80
Усовершенствование сценария 81
№ 12 Создание библиотечных сценариев 81
Код 82
Как это работает 83
Запуск сценария 83
Результаты 84
№ 13 Отладка сценариев 84
Код 85
Как это работает 85
Запуск сценария 85
Результаты 88
Усовершенствование сценария 88
Глава 2 Усовершенствование пользовательских команд
№ 14 Форматирование длинных строк 90
Код 91
Как это работает 91
Запуск сценария 92
Результаты 92
№ 15 Резервное копирование файлов при удалении 93
Код 93
Как это работает 95
Запуск сценария 96
Результаты 96
Усовершенствование сценария 96
№ 16 Работа с архивом удаленных файлов 97
Код 97
Как это работает bash-скрипты 99
Запуск сценария 101
Результаты 101
Усовершенствование сценария 101
№ 17 Журналирование операций удаления файлов 102
Код 102
Как это работает 103
Запуск сценария 103
Результаты 103
Усовершенствование сценария 104
№ 18 Вывод содержимого каталогов 105
Код 105
Как это работает 106
Запуск сценария 107
Результаты 107
Усовершенствование сценария 108
№ 19 Поиск файлов по именам 108
Код 108
Как это работает 109
Запуск сценария 110
Результаты 110
Усовершенствование сценария 111
№ 20 Имитация других окружений: MS-DOS 112
Код 112
Как это работает 113
Запуск сценария 113
Результаты 114
Усовершенствование сценария 114
№ 21 Вывод времени в разных часовых поясах 114
Код 115
Как это работает 117
Запуск сценария 118
Результаты 118
Усовершенствование сценария 118
Глава 3 Создание утилит
№ 22 Утилита для напоминания 119
Код 120
Как это работает 121
Запуск сценария 121
Результаты 122
Усовершенствование сценария 122
№ 23 Интерактивный калькулятор 123
Код 123
Как это работает 124
Запуск сценария 124
Результаты 124
Усовершенствование сценария 125
№ 24 Преобразование температур 125
Код 125
Как это работает 126
Запуск сценария 127
Результаты 128
Усовершенствование сценария 128
№ 25 Вычисление платежей по кредиту 128
Код 129
Как это работает 129
Запуск сценария 130
Результаты htbook.ru 130
Усовершенствование сценария 131
№ 26 Слежение за событиями 131
Код 132
Как это работает 134
Запуск сценария 135
Результаты 136
Усовершенствование сценария 137
Глава 4 Тонкая настройка Unix
№ 27 Вывод содержимого файлов с нумерацией строк 138
Код 139
Как это работает 139
Запуск сценария 139
Результаты 139
Усовершенствование сценария 140
№ 28 Перенос длинных строк 140
Код 141
Как это работает 141
Запуск сценария 141
Результаты 142
№ 29 Вывод файла с дополнительной информацией 142
Код 142
Как это работает 143
Запуск сценария 143
Результаты 144
№ 30 Имитация флагов в стиле GNU с помощью quota 144
Код 144
Как это работает 145
Запуск сценария 145
Результаты 145
№ 31 Делаем sftp более похожей на ftp 146
Код 146
Как это работает 147
Запуск сценария 147
Результаты 147
Усовершенствование сценария 148
№ 32 Исправление grep 148
Код 149
Как это работает 150
Запуск сценария 151
Результаты 151
Усовершенствование сценария 151
№ 33 Работа со сжатыми файлами 151
Код 152
Как это работает 153
Запуск сценария 153
Результаты 154
Усовершенствование сценария 155
№ 34 Гарантия максимальной степени сжатия файла 155
Код 155
Как это работает 157
Запуск сценария 157
Результаты 157
Глава 5 Системное администрирование: управление пользователями
№ 35 Анализ использования дискового пространства 160
Код 161
Как это работает 161
Запуск сценария 162
Результаты 162
Усовершенствование сценария 163
№ 36 Уведомление о превышении квоты дискового пространства 163
Код 163
Как это работает 164
Запуск сценария 164
Результаты 165
Усовершенствование сценария 165
№ 37 Увеличение удобочитаемости вывода команды df 165
Код 166
Как это работает 166
Запуск сценария 167
Результаты 167
Усовершенствование сценария 168
№ 38 Определение доступного пространства на диске 168
Код 169
Как это работает 169
Запуск сценария 169
Результаты 169
Усовершенствование сценария 170
№ 39 Реализация защищенной команды locate 170
Код 171
Как это работает 173
Запуск сценария 173
Результаты 174
Усовершенствование сценария 174
№ 40 Добавление пользователей в систему 175
Код 176
Как это работает 177
Запуск сценария 177
Результаты 177
Усовершенствование сценария 178
№ 41 Приостановка действия учетной записи 178
Код 179
Как это работает 180
Запуск сценария 180
Результаты 180
№ 42 Удаление учетной записи 181
Код 182
Как это работает 183
Запуск сценария 183
Результаты 184
Усовершенствование сценария 184
№ 43 Проверка пользовательского окружения 184
Код 185
Как это работает 186
Запуск сценария 187
Результаты 188
№ 44 Очистка гостевой учетной записи 188
Код 188
Как это работает 189
Запуск сценария 189
Результаты 189
Глава 6 Системное администрирование: обслуживание системы
№ 45 Слежение за программами с атрибутом setuid 190
Код 191
Как это работает 192
Запуск сценария 192
Результаты 192
№ 46 Установка системной даты 193
Код 193
Как это работает 194
Запуск сценария 195
Результаты 195
№ 47 Завершение процессов по имени 195
Код 197
Как это работает 198
Запуск сценария 199
Результаты 199
Усовершенствование сценария 199
№ 48 Проверка записей в пользовательских файлах crontab 200
Код 200
Как это работает 204
Запуск сценария 204
Результаты 205
Усовершенствование сценария 205
№ 49 Запуск заданий cron вручную 205
Код 206
Как это работает 207
Запуск сценария 208
Результаты 208
Усовершенствование сценария 208
№ 50 Ротация файлов журналов 209
Код 210
Как это работает 212
Запуск сценария 213
Результаты 213
Усовершенствование сценария 214
№ 51 Управление резервными копиями 214
Код 214
Как это работает 216
Запуск сценария 217
Результаты 217
№ 52 Резервное копирование каталогов 217
Код 218
Как это работает 219
Запуск сценария 219
Результаты 219
Глава 7. Пользователи Интернета
№ 53 Загрузка файлов через FTP 222
Код 222
Как это работает 223
Запуск сценария 223
Результаты 224
Усовершенствование сценария 224
№ 54 Извлечение адресов URL из веб-страницы 225
Код 226
Как это работает 227
Запуск сценария 227
Результаты 227
Усовершенствование сценария 228
№ 55 Получение информации о пользователе GitHub 229
Код 229
Как это работает 230
Запуск сценария 230
Результаты 230
Усовершенствование сценария 230
№ 56 Поиск по почтовому индексу 230
Код 231
Как это работает 231
Запуск сценария 232
Результаты 232
Усовершенствование сценария 232
№ 57 Поиск по телефонному коду города 232
Код 233
Как это работает 233
Запуск сценария 234
Результаты 234
Усовершенствование сценария 234
№ 58 Слежение за погодой 234
Код 234
Как это работает 235
Запуск сценария 235
Результаты 235
Усовершенствование сценария 236
№ 59 Поиск информации о кинофильме в базе IMDb 236
Код 236
Как это работает 238
Запуск сценария 239
Результаты 239
Усовершенствование сценария 239
№ 60 Пересчет валют по курсу 240
Код 240
Как это работает htbook.ru 241
Запуск сценария 242
Результаты 242
Усовершенствование сценария 242
№ 61 Извлечение информации об адресе Биткоин 243
Код 243
Как это работает 243
Запуск сценария 244
Результаты 244
Усовершенствование сценария 244
№ 62 Определение изменений в веб-страницах 244
Код 245
Как это работает 246
Запуск сценария 247
Результаты 247
Усовершенствование сценария 248
Глава 8. Инструменты веб-мастера
Запуск сценариев из этой главы 251
№ 63 Обзор CGI-окружения 251
Код 252
Как это работает 252
Запуск сценария 252
Результаты 253
№ 64 Журналирование веб-событий 253
Код 254
Как это работает 255
Запуск сценария 255
Результаты 256
Усовершенствование сценария 256
№ 65 Динамическое конструирование веб-страниц 256
Код 258
Как это работает 258
Запуск сценария 259
Результаты 259
Усовершенствование сценария 259
№ 66 Превращение веб-страниц в электронные письма 260
Код 260
Как это работает 261
Запуск сценария 261
Результаты 261
Усовершенствование сценария 261
№ 67 Создание веб-ориентированного фотоальбома 262
Код 263
Как это работает 263
Запуск сценария 264
Результаты 264
Усовершенствование сценария bash-скрипты 264
№ 68 Отображение случайного текста 265
Код 266
Как это работает 266
Запуск сценария 267
Результаты 267
Усовершенствование сценария 267
Глава 9. Администрирование веб-сервера
№ 69 Выявление недействительных внутренних ссылок 268
Код 268
Как это работает 269
Запуск сценария 270
Результаты 270
Усовершенствование сценария 271
№ 70 Выявление недействительных внешних ссылок 271
Код 271
Как это работает 273
Запуск сценария 273
Результаты 273
№ 71 Управление паролями в Apache 274
Код 275
Как это работает 277
Запуск сценария 280
Результаты 280
Усовершенствование сценария 281
№ 72 Синхронизация файлов с помощью SFTP 281
Код 282
Как это работает 283
Запуск сценария 284
Результаты 284
Усовершенствование сценария 284
Глава 10. Администрирование интернет-сервера
№ 73 Исследование журнала access_log веб-сервера Apache 287
Код 288
Как это работает 290
Запуск сценария 290
Результаты 290
Усовершенствование сценария 291
№ 74 Трафик поисковых систем 292
Код 292
Как это работает 293
Запуск сценария 294
Результаты 294
Усовершенствование сценария 294
№ 75 Исследование журнала error_log веб-сервера Apache 295
Код 296
Как это работает 298
Запуск сценария 299
Результаты 299
№ 76 Предотвращение катастрофических последствий с использованием удаленного архива 300
Код 300
Как это работает 301
Запуск сценария 302
Результаты 302
Усовершенствование сценария 302
№ 77 Мониторинг состояния сети 303
Код 304
Как это работает 307
Запуск сценария 309
Результаты 309
Усовершенствование сценария 310
№ 78 Изменение приоритета процесса по его имени 310
Код 310
Как это работает 312
Запуск сценария 312
Результаты 312
Усовершенствование сценария 313
Глава 11. Сценарии для OS X
№ 79 Автоматизация захвата изображения экрана 316
Код 318
Как это работает 318
Запуск сценария 319
Результаты 319
Усовершенствование сценария 319
№ 80 Динамическая настройка заголовка терминала 320
Код 320
Как это работает 320
Запуск сценария 321
Результаты 321
Усовершенствование сценария 321
№ 81 Создание суммарного списка медиатек iTunes 321
Код 322
Как это работает 322
Запуск сценария 323
Результаты 323
Усовершенствование сценария 324
№ 82 Исправление команды open 324
Код 324
Как это работает 325
Запуск сценария 325
Результаты 325
Усовершенствование сценария 326
Глава 12. Сценарии для игр и развлечений
№ 83 Декодирование: игра в слова 328
Код 329
Как это работает 330
Запуск сценария 330
Результаты 331
Усовершенствование сценария 331
№ 84 Виселица: угадай слово, пока не поздно 331
Код 332
Как это работает 333
Запуск сценария 334
Результаты 334
Усовершенствование сценария 336
№ 85 Угадай столицу 336
Код 336
Как это работает 337
Запуск сценария 338
Результаты 338
Усовершенствование сценария 339
№ 86 Является ли число простым? 339
Код 340
Как это работает 341
Запуск сценария 341
Результаты 341
Усовершенствование сценария 342
№ 87 Игральные кости 342
Код 342
Как это работает 343
Запуск сценария 344
Усовершенствование сценария 345
№ 88 «Раз-два» 345
Код 346
Как это работает 351
Запуск сценария 353
Результаты 353
Усовершенствование сценария 354
Глава 13. Работа в облаке
№ 89 Поддержание непрерывной работы Dropbox 355
Код 356
Как это работает 356
Запуск сценария 357
Результаты 357
Усовершенствование сценария 357
№ 90 Синхронизация с Dropbox 357
Код 357
Как это работает 359
Запуск сценария 359
Результаты 359
Усовершенствование сценария 360
№ 91 Создание слайд-шоу из фотопотока в облаке 360
Код 361
Как это работает 362
Запуск сценария 363
Результаты 363
Усовершенствование сценария 363
№ 92 Синхронизация файлов с Google Drive 363
Код 364
Как это работает 365
Запуск сценария 365
Результаты 365
Усовершенствование сценария 366
№ 93 Компьютер сказал 367
Код 367
Как это работает 368
Запуск сценария 369
Результаты 370
Усовершенствование сценария 370
Глава 14. ImageMagick и обработка графических файлов
№ 94 Интеллектуальный анализатор размеров изображений 371
Код 372
Как это работает 372
Запуск сценария 373
Результаты 373
Усовершенствование сценария 373
№ 95 Добавление водяных знаков в изображения 374
Код 374
Как это работает 375
Запуск сценария 376
Результаты 376
Усовершенствование сценария 377
№ 96 Добавление рамок вокруг изображений 377
Код 377
Как это работает 379
Запуск сценария 379
Результаты 380
Усовершенствование сценария 380
№ 97 Создание миниатюр изображений 381
Код 381
Как это работает 383
Запуск сценария 384
Результаты 384
Усовершенствование сценария 384
№ 98 Интерпретация информации геопозиционирования GPS 385
Код 385
Как это работает 386
Запуск сценария 387
Результаты 387
Усовершенствование сценария 387
Глава 15. Дни и даты
№ 99 Определение дня недели в указанную дату в прошлом 389
Код 389
Как это работает 390
Запуск сценария 390
Усовершенствование сценария 391
№ 100 Вычисление дней между датами 391
Код 391
Как это работает 393
Запуск сценария 394
Усовершенствование сценария 394
№ 101 Вычисление дней до указанной даты 394
Код 395
Как это работает 397
Запуск сценария 397
Усовершенствование сценария 398
Приложения.
Приложение A Установка Bash в Windows 10 399
Переключение в режим для разработчика 399
Установка bash 401
Командная оболочка bash от Microsoft в сравнении с Linux 402
Приложение Б Дополнительные сценарии 403
№ 102 Массовое переименование файлов 403
Код 403
Как это работает 404
Запуск сценария 405
Результаты 405
Усовершенствование сценария 405
№ 103 Массовое выполнение команд в многопроцессорной системе 406
Код 407
Как это работает 408
Запуск сценария 408
Результаты 409
Усовершенствование сценария 409
№ 104 Определение фазы Луны 409
Код 410
Как это работает 410
Запуск сценария 411
Результаты 411
Усовершенствование сценария 412
Скачать техническую литературу бесплатно6,43 мб. pdf Скачать техническую литературу бесплатно4,67 мб. epub
Добавить комментарий