Linux и UNIX: программирование в shell. Руководство разработчика
Linux и UNIX: программирование в shell. Руководство разработчика читать книгу онлайн
Данная книга является практическим руководством по программированию интерпретатора Bourne shell -cтандартного командного интерпретатора в UNIX, полностью совместимого с интерпретатором BASH shell в Linux. Книга предназначена для начинающих и опытных программистов и содержит множество полезных примеров, советов и подсказок. С ее помощью читатель сможет быстро научиться создавать shell–сценарии для реальных задач и ситуаций, возникающих в большинстве систем UNIX и Linux.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Введение
Интерпретатор bourne shell
Переносимость интерпретатора shell
Структура книги
Интерпретатор shell
Фильтрация текста
Регистрация в системе
Основы shell–программирования
Совершенствование навыков по написанию сценариев
Что нужно знать
ЧАСТЬ 1
ГЛАВА 1
1.1. Информация о файлах
1.2. Типы файлов
1.3. Права доступа к файлам
1.4. Изменение прав доступа к файлу
1.4.1. Символьный режим
1.4.2. Примеры использования команды chmod
1.4.3. Абсолютный режим
1.4.4. Дополнительные примеры использования команды chmod
1.5. Каталоги
1.6. Биты смены идентификаторов (SUID и SGID)
1.6.1. Для чего нужны биты SUID и SGID?
1.6.2. Установка битов SUID и SGID
1.7. Команды chown и chgrp
1.7.1. Пример использования команды chown
1.7.2. Пример использования команды chgrp
1.7.3. Определение групп, в состав которых вы входите
1.7.4. Определение групп, в состав которых входят другие пользователи
1.8. Команда umask
1.8.1. Обработка значений umask
1.8.2. Примеры установки значений umask
1.9. Символические ссылки
1.9.1. Применение символических ссылок
1.9.2. Примеры создания символических ссылок
1.10. Заключение
ГЛАВА 2
2.1. Опции команды find
2.1.1. Опция -name
2.1.2. Опция -perm
2.1.3. Опция -prune
2.1.4. Опции -user и -nouser
2.1.5. Опции -group и -nogroup
2.1.6. Опция -mtime
2.1.7. Опция -newer
2.1.8. Опция -type
2.1.9. Опция -size
2.1.10. Опция -depth
2.1.11. Опция -mount
2.1.12. Поиск файлов с последующей архивацией командой cpio
2.1.13. Опции -exec и -ok
2.1.14. Дополнительные примеры использования команды find
2.2. Команде xargs
2.3. Заключение
ГЛАВА 3
3.1. Планировщик cron и команда crontab
3.1.1. Структура crontab–файла
3.1.2. Примеры записей в crontab–файле
3.1.3. Опции команды crontab
3.1.4. Создание crontab–файла
3.1.5. Вывод на экран содержимого crontab–файла
3.1.6. Редактирование crontab–файла
3.1.7. Удаление crontab–файла
3.1.8. Восстановление утерянного crontab–файла
3.2. Команда at
3.2.1. Запуск команд и сценариев с помощью команды at
3.2.2. Просмотр списка запланированных заданий
3.2.3. Удаление запланированного задания
3.3. Оператор &
3.3.1. Запуск команды в фоновом режиме
3.3.3. Уничтожение фонового задания
3.4. Команда nohup
3.4.1. Запуск задания с помощью команды nohup
3.4.2. Одновременный запуск нескольких заданий
3.5. Заключение
ГЛАВА 4
4.1. Применение метасимвола '*'
4.2. Применение метасимвола '?'
4.3. Применение метасимволов […] и [!…]
4.4. Заключение
ГЛАВА 5
5.1. Команда echo
5.2. Команда read
5.3. Команда cat
5.4. Каналы
5.5. Команда tee
5.6. Стандартные потоки ввода, вывода и ошибок
5.6.1. Стандартный поток ввода
5.6.2. Стандартный поток вывода
5.6.3. Стандартный поток ошибок
5.7. Файловый ввод–вывод
5.7.1. Переадресация стандартного потока вывода
5.7.2. Переадресация стандартного потока ввода
5.7.3. Переадресация стандартного потока ошибок
5.7.5. Объединение выходных потоков в файле
5.8. Команда exec
5.9. Применение дескрипторов файлов
5.10. Заключение
ГЛАВА 6
6.1. Оператор &&
6.2. Оператор ||
6.3. Группирование команд с помощью скобок
6.4. Заключение
ЧАСТЬ 2
ГЛАВА 7
7.1. Поиск одиночных символов с помощью метасимвола '.'
7.2. Поиск выражений в начале строки с помощью метасимвола '^'
7.3. Поиск выражений в конце строки с помощью метасимвола '$'
7.4. Поиск символов, встречающихся неопределенное число раз, с помощью метасимвола '*'
7.5. Поиск специальных символов с помощью метасимвола ''
7.6. Поиск символов, входящих в заданный набор или
7.7. Поиск символов, встречающихся заданное число раз
7.8. Примеры
7.9. Заключение
ГЛАВА 8
8.1. Команда grep
8.1.1. Употребление кавычек
8.1.2. Параметры команды grep
8.1.3. Поиск среди нескольких файлов
8.1 4. Определение числа строк, в которых найдено совпадение
8.1.5. Вывод номеров строк
8.1.6. Поиск строк, не соответствующих шаблону
8.1.7. Поиск символов на границе слов
8.1.8. Игнорирование регистра символов
8.2. Команда grep и регулярные выражения
8.2.1. Выбор символов из списка
8.2.2. Инверсия шаблона с помощью метасимвола ""
8.2.3. Шаблон, соответствующий любому символу
8.2.4. Поиск по дате
8.2.5. Комбинированные диапазоны
8.2.6. Поиск повторяющихся последовательностей
8.2.7. Выбор из нескольких шаблонов
8.2.8. Поиск пустых строк
8.2.9. Поиск специальных символов
8.2.10. Поиск имен файлов, соответствующих заданному формату
8.2.11. Поиск IP–адресов
8.2.12. Поиск строк с использованием подстановочных знаков
8.3. Классы символов
8.4. Дополнительные примеры использования команды grep
8.4.1. Фильтрация списка файлов
8.4.2. Подавление вывода сообщений об ошибках
8.4.3. Фильтрация списка процессов
8.5. Команда egrep
8.6. Заключение
ГЛАВА 9
9.1. Вызов awk
9.2. Сценарии
9.2.2. Работа с полями и записями
9.2.3. Регулярные выражения
9.2.4. Метасимволы
9.2.5. Операторы
9.2.6. Операторы сравнения
9.2.7. Логические операторы
9.2.8. Операторы присваивания и арифметические операторы
9.2.9. Встроенные переменные
9.2.10. Встроенные функции работы со строками
9.2.11. Escape–последовательности
9.2.12. Команда printf
9.2.13. Передача переменных утилите awk
9.2.14. Файлы сценариев
9.2.15. Массивы
9.3. Заключение
ГЛАВА 10
10.1. Чтение и обработка данных в sed
10.2. Вызов редактора sed
10.2.1. Сохранение выходных данных
10.2.2. Синтаксис команд
10.2.3. Основные команды редактирования
10.3. Регулярные выражения
10.4. Вывод строк (команда p)
10.4.1. Отображение строки по номеру
10.4.2. Отображение строк из заданного диапазона
10.4.3. Поиск строк, соответствующих шаблону
10.4.4. Поиск пo шаблону и номеру строки
10.4.5. Поиск специальных символов
10.4.6. Поиск первой строки
10.4.7. Поиск последней строки
10.4.8. Отображение всего файла
10.5. Вывод номеров строк (команда =)
10.6. Добавление текста (команда а)
10.7. Создание файла сценария
10.8. Вставка текста (команда i)
10.9. Изменение текста (команда с)
10.10. Удаление текста (команда d)
10.11. Замена подстроки (команда s)
10.12. Вывод строк в файл (команда w)
10.13. Чтение строк на файла (команда r)
10.14. Досрочное завершение работы (команда q)
10.15. Отображение управляющих символов (команда l)
10.16. Дополнительные примеры использования редактора sed
10.16.1. Обработка управляющих символов
10.16.2. Обработка отчетов
10.16.3. Добавление текста
10.16.4. Удаление начальной косой черты в путевом имени
10.17. Заключение
ГЛАВА 11
11.1. Сортировка файлов с помощью команды sort
11.1.1. Опции команды sort
11.1.2. Сохранение результатов сортировки
11.1.3. Тестовый файл
11.1.4. Индексация полей
11.1.5. Проверка факта сортировки файла
11.1.6. Простейшая сортировка
11.1.7. Сортировка а обратном порядке
11.1.8. Сортировка по заданному полю
11.1.9. Сортировка по числовому полю
11.1.10. Сортировка с отбрасыванием повторяющихся строк
11.1.11. Задание ключа сортировки с помощью опции -k
11.1.12. Несколько ключей сортировки
11.1.13. Указание позиции, с которой начинается сортировка