Опубликовано

Новая книга Дениса Колисниченко: “Командная строка Linux”

Командная строка Linux

В книге рассматриваются задачи, которые выполняются из командной строки операционной системы 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. От новичка к профессионалу” и др.

Добавить комментарий