
В книге рассматриваются задачи, которые выполняются из командной строки операционной системы Linux. Объясняется, как попасть в командную строку, работать в консоли, настраивать систему с помощью программ, обладающих только текстовым интерфейсом. Описаны особенности файловой системы Linux, наиболее полезные команды для работы с текстом, сетью и Интернетом, а также команды системного администратора. Особое внимание уделено написанию сценариев автоматизации рутинных задач на языках командных оболочек bash и tcsh. Рассмотрены способы перенаправления ввода-вывода, маски и псевдонимы, различные варианты запуска программ, эффективные приемы использования клавиатуры, примеры сложных команд и другие вопросы.
Эффективная работа в командной строке Linux.
Настоящий линуксоид должен уметь работать в консоли, что требует определенной квалификации пользователя. Рассмотрены задачи, которые выполняются из командной строки Linux. Объясняется, как попасть в командную строку, работать в консоли, настраивать систему с помощью программ, обладающих только текстовым интерфейсом. Описаны особенности файловой системы Linux, наиболее полезные команды для работы с текстом, сетью и Интернетом, а также команды системного администратора. Особое внимание уделено написанию сценариев автоматизации рутинных задач на языках командных оболочек bash и tcsh. Рассмотрены способы перенаправления ввода-вывода, маски и псевдонимы, различные варианты запуска программ, эффективные приемы использования клавиатуры, примеры сложных команд и другие вопросы.
- Работа в консоли
- Автоматизация на языках оболочек bash и tcsh
- Особенности файловой системы Linux
- Управление процессами
- Команды системного администратора
- Команды для обработки текста и для работы в сети
Книгу “Командная строка Linux” можно купить со скидкой в интернет-магазине издательства “БХВ“.
Глава 1. Как попасть в командную строку?…………………………………………….. 9
1.1. Переключаемся из графического режима в консоль………………………………………………………….. 9
1.2. Графические терминалы…………………………………………………………………………………………………….. 12
1.3. Удаленная консоль……………………………………………………………………………………………………………… 12
1.4. Завершение работы из консоли. Команды poweroff, halt, reboot, shutdown………………….. 14
Глава 2. Как работать в консоли?………………………………………………………….. 15
2.1. Ввод команд………………………………………………………………………………………………………………………… 15
2.2. Ввод/вывод и каналы………………………………………………………………………………………………………….. 16
2.3. Шесть полезных команд…………………………………………………………………………………………………….. 17
2.3.1. Команда wc……………………………………………………………………………………………………………………. 17
2.3.2. Команда head………………………………………………………………………………………………………………… 18
2.3.3. Команда cut…………………………………………………………………………………………………………………… 19
2.3.4. Команда grep…………………………………………………………………………………………………………………. 19
2.3.5. Команда sort………………………………………………………………………………………………………………….. 20
2.3.6. Команда uniq…………………………………………………………………………………………………………………. 21
Глава 3. Оболочка bash………………………………………………………………………….. 23
3.1. Маски имен файлов…………………………………………………………………………………………………………….. 23
3.2. Переменные окружения………………………………………………………………………………………………………. 24
3.3. Псевдонимы…………………………………………………………………………………………………………………………. 25
3.4. Изменение приглашения командной строки…………………………………………………………………….. 25
3.5. Еще раз о перенаправлении ввода/вывода………………………………………………………………………. 26
3.6. Пробелы в именах файлов………………………………………………………………………………………………….. 28
3.7. Инициализация переменных………………………………………………………………………………………………. 29
3.8. Просмотр истории команд…………………………………………………………………………………………………. 29
3.9. Вызов предыдущих команд……………………………………………………………………………………………….. 30
3.10. Защита от случайного удаления файла…………………………………………………………………………. 30
3.11. Использование последнего вывода команды…………………………………………………………………. 31
3.12. Редактирование командной строки…………………………………………………………………………………. 31
Глава 4. Файловая система. Команды для работы с файловой системой… 33
4.1. Особенности файловой системы Linux……………………………………………………………………………… 33
4.1.1. Имена файлов в Linux…………………………………………………………………………………………………… 33
4.1.2. Файлы и устройства……………………………………………………………………………………………………… 33
4.1.3. Корневая файловая система и монтирование…………………………………………………………….. 34
4.1.4. Стандартные каталоги Linux………………………………………………………………………………………. 35
4.2. Команды для работы с файлами и каталогами……………………………………………………………….. 36
4.2.1. Работа с файлами………………………………………………………………………………………………………….. 36
4.2.2. Работа с каталогами…………………………………………………………………………………………………….. 39
4.2.3. Удобная навигация по файловой системе…………………………………………………………………… 41
4.3. Команда ln: создание ссылок…………………………………………………………………………………………….. 44
4.4. Команды chmod, chown и chattr…………………………………………………………………………………………. 45
4.4.1. Команда chmod: права доступа к файлам и каталогам…………………………………………….. 45
4.4.2. Команда chown: смена владельца файла…………………………………………………………………… 47
4.4.3. Специальные права доступа (SUID и SGID)………………………………………………………………. 47
4.4.4. Команда chattr: атрибуты файла, запрет изменения файла……………………………………… 48
4.5. Монтирование файловых систем………………………………………………………………………………………. 49
4.5.1. Команды mount и umount……………………………………………………………………………………………… 49
4.5.2. Файлы устройств и монтирование………………………………………………………………………………. 50
Жесткие диски………………………………………………………………………………………………………………….. 50
Приводы оптических дисков…………………………………………………………………………………………… 52
Дискеты…………………………………………………………………………………………………………………………….. 52
Флешки и внешние жесткие диски………………………………………………………………………………….. 53
4.5.3. Опции монтирования файловых систем……………………………………………………………………… 53
4.5.4. Монтирование разделов при загрузке………………………………………………………………………… 54
4.5.5. Подробно о UUID и файле /etc/fstab……………………………………………………………………………. 56
4.5.6. Монтирование флешек…………………………………………………………………………………………………. 59
4.6. Настройка журнала файловой системы ext3…………………………………………………………………… 59
4.7. Файловая система ext4……………………………………………………………………………………………………….. 60
4.7.1. Сравнение ext3 и ext4…………………………………………………………………………………………………… 61
4.7.2. Совместимость с ext3……………………………………………………………………………………………………. 62
4.8. Особые команды…………………………………………………………………………………………………………………. 62
4.8.1. Команда mkfs: создание файловой системы……………………………………………………………….. 62
4.8.2. Команда fsck: проверка и восстановление файловой системы…………………………………. 62
4.8.3. Команда chroot: смена корневой файловой системы………………………………………………… 63
4.8.4. Установка скорости CD/DVD………………………………………………………………………………………. 63
4.8.5. Монтирование каталога к каталогу……………………………………………………………………………. 64
4.8.6. Команды поиска файлов………………………………………………………………………………………………. 64
4.9. Многофункциональная команда dd………………………………………………………………………………….. 65
4.9.1. Копирование файлов с помощью команды dd……………………………………………………………. 66
4.9.2. Разделение файла на несколько частей………………………………………………………………………. 67
4.9.3. Создание резервной копии жесткого диска………………………………………………………………… 67
4.9.4. Создание архива с резервной копией всего жесткого диска…………………………………….. 67
4.9.5. Уничтожение всех данных раздела жесткого диска………………………………………………….. 68
4.10. Команда du………………………………………………………………………………………………………………………… 68
Глава 5. Процессы…………………………………………………………………………………. 70
5.1. Оболочки, команды и программы……………………………………………………………………………………… 70
5.2. Родительский и дочерний процессы………………………………………………………………………………….. 71
5.3. Команды kill, killall, xkill и ps…………………………………………………………………………………………….. 72
5.4. Программа top: кто больше всех расходует процессорное время?……………………………….. 74
5.5. Команды nice и renice: изменение приоритета процесса………………………………………………… 76
5.6. Команда fuser: кто открыл ресурс?…………………………………………………………………………………… 77
Глава 6. Различные способы выполнения команд…………………………………. 78
6.1. Списки………………………………………………………………………………………………………………………………….. 78
6.1.1. Условные списки…………………………………………………………………………………………………………… 78
6.1.2. Безусловные списки………………………………………………………………………………………………………. 79
6.2. Подстановка………………………………………………………………………………………………………………………… 80
6.2.1. Подстановка команды………………………………………………………………………………………………….. 80
6.2.2. Подстановка процесса………………………………………………………………………………………………….. 81
6.3. Команда как строка……………………………………………………………………………………………………………. 82
6.3.1. Передача команды в виде аргумента………………………………………………………………………….. 82
6.3.2. Перенаправление команды на стандартный ввод bash…………………………………………….. 82
6.4. Удаленное выполнение команды по SSH…………………………………………………………………………. 83
6.5. Фоновое выполнение команд…………………………………………………………………………………………….. 83
Глава 7. Некоторые полезные команды…………………………………………………. 85
7.1. Команда seq…………………………………………………………………………………………………………………………. 85
7.2. Фигурные скобки…………………………………………………………………………………………………………………. 86
7.3. Команда find……………………………………………………………………………………………………………………….. 86
Глава 8. Команды для работы с текстом………………………………………………… 88
8.1. Команда sort: сортировка файлов…………………………………………………………………………………….. 88
8.2. Команда diff: сравнение файлов……………………………………………………………………………………….. 88
8.3. Команда diff3: сравнение трех файлов…………………………………………………………………………….. 89
8.4. Команда cmp: сравнение двух файлов……………………………………………………………………………… 90
8.5. Команда comm: еще одна команда для сравнения файлов……………………………………………… 90
8.6. Команда column: разбивка текста на столбцы………………………………………………………………… 91
8.7. Команда egrep: расширенный текстовый фильтр……………………………………………………………. 91
8.8. Команда expand: замена символов табуляции пробелами…………………………………………….. 92
8.9. Команда fmt…………………………………………………………………………………………………………………………. 93
8.10. Команда fold……………………………………………………………………………………………………………………… 93
8.11. Команда grep: текстовый фильтр……………………………………………………………………………………. 93
8.12. Команды more и less: постраничный вывод……………………………………………………………………. 94
8.13. Команды head и tail: вывод начала и хвоста файла……………………………………………………… 94
8.14. Команда look…………………………………………………………………………………………………………………….. 94
8.15. Команда split: разбиение файлов на несколько частей………………………………………………… 94
8.16. Команда unexpand: замена пробелов символами табуляции………………………………………. 95
8.17. Команды vi, nano, ee, mcedit, pico: текстовые редакторы……………………………………………… 95
8.18. Команда sed: потоковый текстовый редактор……………………………………………………………….. 99
8.19. Команда wc: подсчет слов в файле……………………………………………………………………………….. 100
8.20. Некоторые команды преобразования символов и форматов……………………………………… 101
Глава 9. Эффективное использование клавиатуры………………………………. 102
9.1. Работа с окнами………………………………………………………………………………………………………………… 102
9.2. Доступ к веб-браузерам из командной строки……………………………………………………………….. 104
9.3. Работаем с буфером обмена…………………………………………………………………………………………….. 106
Глава 10. Команды для работы с сетью и Интернетом…………………………. 107
10.1. Команда ifconfig: управление сетевыми интерфейсами……………………………………………… 107
10.2. Маршрутизация………………………………………………………………………………………………………………. 109
10.2.1. Команда netstat: просмотр таблицы маршрутизации и другой
сетевой информации…………………………………………………………………………………………………………….. 109
10.2.2. Команда route: изменение таблицы маршрутизации……………………………………………. 113
10.3. Команды получения информации об узле……………………………………………………………………. 116
10.3.1. Получение информации о доменном имени……………………………………………………………. 116
10.3.2. Команды host и dig……………………………………………………………………………………………………. 116
10.3.3. Утилита DMitry…………………………………………………………………………………………………………. 118
10.4. Текстовые браузеры……………………………………………………………………………………………………….. 118
10.5. Команда ftp: FTP-клиент………………………………………………………………………………………………… 118
10.6. Команда wget: загрузка файлов…………………………………………………………………………………….. 120
10.7. Команды для диагностики сети…………………………………………………………………………………….. 121
10.8. Команда ssh…………………………………………………………………………………………………………………….. 125
10.9. Сетевой сканер nmap………………………………………………………………………………………………………. 127
10.9.1. Что такое nmap?………………………………………………………………………………………………………… 127
10.9.2. Где мне взять nmap?…………………………………………………………………………………………………. 128
10.9.3. Примеры использования nmap………………………………………………………………………………… 128
Глава 11. Команды системного администратора………………………………….. 131
11.1. Программы разметки диска……………………………………………………………………………………………. 131
11.1.1. Программа fdisk………………………………………………………………………………………………………… 131
11.1.2. Программа parted……………………………………………………………………………………………………… 134
11.1.3. Добавление диска на виртуальном сервере…………………………………………………………… 138
11.1.4. Расширение существующего диска…………………………………………………………………………. 141
11.1.5. Несколько слов о GPT. Утилиты для работы с GPT………………………………………………. 144
11.2. Информация о системе и пользователях………………………………………………………………………. 145
11.2.1. Команда uptime: информация о работе системы…………………………………………………… 145
11.2.2. Команда users: информация о пользователях………………………………………………………… 145
11.2.3. Команды w, who, ftpwho и whoami: информация о пользователях………………………. 146
11.2.4. Мониторинг работы системы………………………………………………………………………………….. 147
11.3. Планировщик at………………………………………………………………………………………………………………. 149
11.3.1. Команда at: добавление задания…………………………………………………………………………….. 149
11.3.2. Команды atq и atrm: очередь заданий и удаление задания………………………………….. 149
11.4. Планировщик crond………………………………………………………………………………………………………… 150
11.5. Команда date: вывод и установка даты и времени……………………………………………………… 151
11.6. Команды free и df: информация о системных ресурсах………………………………………………. 152
Глава 12. Автоматизация рутинных задач с помощью оболочки bash….. 153
12.1. Настройка bash……………………………………………………………………………………………………………….. 153
12.2. Автоматизация задач с помощью сценариев bash………………………………………………………. 154
12.3. Привет, мир!…………………………………………………………………………………………………………………….. 154
12.4. Использование переменных в собственных сценариях………………………………………………. 155
12.5. Передача параметров сценарию…………………………………………………………………………………… 156
12.6. Массивы и bash……………………………………………………………………………………………………………….. 157
12.7. Циклы……………………………………………………………………………………………………………………………….. 157
12.8. Условные операторы……………………………………………………………………………………………………… 158
12.9. Функции…………………………………………………………………………………………………………………………… 160
12.10. Примеры сценариев………………………………………………………………………………………………………. 160
12.10.1. Сценарий мониторинга журнала………………………………………………………………………….. 160
12.10.2. Переименование файлов………………………………………………………………………………………… 161
12.10.3. Преобразование систем счисления……………………………………………………………………….. 161
12.10.4. Проверка прав пользователя…………………………………………………………………………………. 162
12.10.5. Генератор имени временного файла…………………………………………………………………….. 162
12.10.6. Проверка свободного дискового пространства с уведомлением
по электронной почте…………………………………………………………………………………………………………… 163
Глава 13. Полезные примеры……………………………………………………………….. 164
13.1. Поиск дубликатов файлов……………………………………………………………………………………………… 164
13.2. Сценарий scanner……………………………………………………………………………………………………………. 165
13.3. Изменение прав доступа к файлам и каталогам………………………………………………………….. 166
13.4. Аварийный перезапуск сервисов…………………………………………………………………………………… 166
13.4.1. Проверка работоспособности веб-сервера…………………………………………………………….. 166
13.4.2. Проверка работоспособности MySQL……………………………………………………………………. 167
13.4.3. Если «падают» процессы…………………………………………………………………………………………. 167
13.5. Поиск битых ссылок с помощью AWK………………………………………………………………………….. 168
13.6. Считаем количество файлов в папке и подпапках………………………………………………………. 169
13.7. Резервное копирование базы данных……………………………………………………………………………. 169
Предметный указатель…………………………………………………………………………. 171

Колисниченко Денис Николаевич, инженер-программист и системный администратор. Имеет богатый опыт эксплуатации и создания локальных сетей от домашних до уровня предприятия, разработки приложений для различных платформ. Автор более 50 книг компьютерной тематики, в том числе “Microsoft Windows 10. Первое знакомство”, “Самоучитель Microsoft Windows 8”, “Программирование для Android 5. Самоучитель”, “PHP и MySQL. Разработка веб-приложений”, “Планшет и смартфон на базе Android для ваших родителей”, “”Linux. От новичка к профессионалу” и др.
-
Командная строка Linux
600 ₽
510 ₽