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

Для профессионалов.

Уильям Шоттс «Командная строка Linux. Полное руководство» Питер, 2017 год, 479 стр. (44,1 мб. pdf + 3,15 мб. epub)

Книга познакомит вас с идеологией Unix и в частности командной строкой Linux, как одним из основных интерфейсов общения с этой операционной системой. Настала пора поглубже познакомиться и досконально изучить возможности командной строки (Command Line Interface — CLI). Командная строка — всегда с вами, от первого знакомства до написания полноценных программ в Bash — самой популярной оболочке Linux. Книга разделена на четыре части, каждая из которых является логическим продолжением предыдущей.

Если вы впервые сталкиваетесь с Linux и командной строкой, то последовательное изучение всего материала является пожалуй единственным способом достижения положительного результата. Изучите основы навигации по файловой системе, настройки среды, последовательности команд, поиск по шаблону и многое другое. Вы сможете с легкостью создавать и удалять файлы, каталоги и символьные ссылки; администрировать систему, включая сетевое оборудование, установку пакетов и управление процессами; редактировать файлы; писать скрипты для автоматизации общих или рутинных задач; выполнять любые работы с текстовыми файлами.

Преодолев начальный страх перед оболочкой Linux, вы поймете, что командная строка — это естественный, логичный и простой способ общения с компьютером. Книга станет полезным руководством для системных администраторов и пользователей Linux. ISBN: 978-5-496-02303-0

 

Оглавление книги
Введение 20
Зачем нужна командная строка? 20
О чем эта книга 21
Кому адресована эта книга 22
Что дается в этой книге 22
Как читать эту книгу 23
Предварительные условия 23
Командная строка Linux

Часть I. Командная оболочка 25

Глава 1. Что такое командная оболочка 26
Эмуляторы терминалов 26
Первые удары по клавишам 26
История команд 28
Управление курсором 28
Некоторые простые команды 28
Завершение сеанса работы с терминалом 29

Глава 2. Навигация 30
Дерево каталогов файловой системы 30
Текущий рабочий каталог 31
Перечисление содержимого каталога 32
Смена текущего рабочего каталога 32
Абсолютные пути 32
Относительные пути 32
Некоторые полезные сокращения 34

Глава 3. Исследование системы 35
Любопытные возможности ls 35
Параметры и аргументы 36
Пристальный взгляд на длинный формат 37
Определение типов файлов командой file 38
Просмотр содержимого файлов командой less 39
Обзорное путешествие 40
Символические ссылки 43

Глава 4. Операции с файлами и каталогами 45
Групповые символы 46
mkdir — создание каталогов 48
cp — копирование файлов и каталогов 48
mv — перемещение и переименование файлов 49
rm — удаление файлов и каталогов 50
ln — создание ссылок 51
Жесткие ссылки 52
Символические ссылки 52
Давайте построим песочницу 53
Создание каталогов 53
Копирование файлов 53
Перемещение и переименование файлов 54
Создание жестких ссылок 55
Создание символических ссылок 56
Удаление файлов и каталогов 57
Заключительное замечание 59

Глава 5. Работа с командами 60
Что такое команды? 60
Идентификация команд 61
type — получение типа команды 61
which — определение местоположения выполняемого файла 61
Получение документации с описанием команд 62
help — получение справки для встроенных команд 62
—help — вывод инструкции по использованию 63
man — вывод страниц справочного руководства 63
apropos — вывод списка подходящих команд 65
whatis — вывод очень краткого описания команды 66
info — вывод записи из справочного руководства Info 66
README и другие файлы с описанием программ 67
Создание собственных команд с помощью alias 68
Навестите старых друзей 69

Глава 6. Перенаправление 70
Стандартный ввод, вывод и вывод ошибок 70
Перенаправление стандартного вывода 71
Перенаправление стандартного вывода ошибок 72
Перенаправление стандартного вывода и стандартного вывода ошибок в один файл 73
Удаление нежелательного вывода 73
Перенаправление стандартного ввода 74
Конвейеры 76
Фильтры 76
uniq — поиск или удаление повторяющихся строк 77
wc — вывод числа строк, слов и байтов 77
grep — поиск строк, соответствующих шаблону 77
head/tail — вывод первых/последних строк из файлов 78
tee — чтение со стандартного ввода и запись в стандартный вывод и в файлы 79
Заключительное замечание 81

Глава 7. Взгляд на мир глазами командной оболочки 82
Подстановка 82
Подстановка путей 83
Подстановка тильды 83
Подстановка результатов арифметических выражений 84
Подстановка фигурных скобок 86
Подстановка параметров 87
Подстановка команд 87
Экранирование 88
Двойные кавычки 89
Одиночные кавычки 90
Экранирование символов 91
Заключительное замечание 91

Глава 8. Продвинутые приемы работы с клавиатурой 93
Редактирование командной строки 93
Перемещение курсора 94
Изменение текста 94
Вырезание и вставка (удаление и возврат) текста 94
Дополнение 95
Использование истории 97
Поиск в истории 97
Подстановка записей истории 99
Заключительное замечание 100

Глава 9. Привилегии 101
Владельцы, члены группы и все остальные 102
Чтение, запись и выполнение 103
chmod — изменение режима доступа к файлу 105
Установка режима доступа к файлу с помощью графического интерфейса 108
umask — определение разрешений доступа к файлам по умолчанию 109
Изменение идентичности 112
su — запуск командной оболочки с подстановкой идентификаторов пользователя и группы 112
sudo — выполнение команды от имени другого пользователя 113
chown — изменение владельца и группы файла 115
chgrp — изменение группы файла 116
Использование привилегий 116
Изменение своего пароля 118

Глава 10. Процессы 120
Как действует процесс 120
Просмотр списка процессов с помощью ps 121
Просмотр состояния процессов в динамике с помощью top 123
Управление процессами 125
Прерывание процесса 126
Перевод процессов в фоновый режим 126
Возврат процесса на передний план 127
Приостановка процесса 128
Сигналы 128
Посылка сигналов процессам командой kill 129
Посылка сигналов нескольким процессам с помощью killall 131
Другие команды управления процессами 132
Командная строка Linux

Часть II. Окружение и настройка 133

Глава 11. Окружение 134
Что хранится в окружении? 134
Исследование окружения 135
Некоторые интересные переменные 136
Как устанавливается окружение? 137
Оболочка входа и простая оболочка 137
Что находится в файлах запуска? 138
Изменение окружения 140
Какие файлы следует изменять? 140
Текстовые редакторы 140
Использование текстового редактора 141
Активация изменений 144
Заключительное замечание 145

Глава 12. Плавное введение в vi 146
Зачем осваивать vi 146
Немного предыстории 147
Запуск и завершение vi 147
Режимы редактирования 148
Переход в режим вставки 149
Сохранение изменений 150
Перемещение курсора 151
Основы редактирования 151
Добавление текста в конец 152
Вставка строки 152
Удаление текста 153
Вырезание, копирование и вставка текста 155
Объединение строк 156
Поиск и замена 156
Поиск в пределах строки 156
Поиск во всем файле 156
Глобальный поиск и замена 157
Редактирование нескольких файлов 158
Переключение между файлами 159
Открытие дополнительных файлов для редактирования 159
Копирование содержимого из одного файла в другой 160
Вставка целого файла в другой файл 161
Сохранение результатов работы 162

Глава 13. Настройка приглашения к вводу 163
Устройство строки приглашения к вводу 163
Альтернативные варианты оформления приглашения 165
Добавление цвета 166
Перемещение курсора 168
Сохранение определения приглашения 170
Заключительное замечание 170
Командная строка Linux

Часть III. Типичные задачи и основные инструменты 171

Глава 14. Управление пакетами 172
Системы пакетов 173
Как действует система пакетов 173
Файлы пакетов 173
Репозитории 174
Зависимости 175
Высоко- и низкоуровневые инструменты управления пакетами 175
Типичные задачи управления пакетами 175
Поиск пакета в репозитории 176
Установка пакета из репозитория 176
Установка пакета из файла пакета 176
Удаление пакета 177
Обновление пакетов из репозитория 177
Обновление пакета из файла пакета 178
Список установленных пакетов 178
Определение, установлен ли пакет 178
Вывод информации об установленном пакете 179
Поиск пакета по установленному файлу 179
Заключительное замечание 180

Глава 15. Устройства хранения 182
Монтирование и размонтирование устройств хранения 183
Просмотр списка смонтированных файловых систем 184
Определение названий устройств 188
Создание новых файловых систем 190
Управление разделами с помощью fdisk 191
Создание новой файловой системы с помощью mkfs 193
Проверка и восстановление файловой системы 194
Форматирование гибких дисков 195
Непосредственное перемещение данных между устройствами 195
Создание образа компакт-диска 196
Создание образа-копии компакт-диска 196
Создание образа из коллекции файлов 197
Запись образа компакт-диска 197
Непосредственное монтирование файла ISO-образа 197
Очистка перезаписываемых компакт-дисков 198
Запись образа 198
Дополнительные сведения 198

Глава 16. Сети 200
Исследование и мониторинг сети 201
ping — передача специальных пакетов сетевым узлам 201
traceroute — трассировка пути сетевых пакетов 202
netstat — вывод параметров настройки сети и статистик 203
Передача файлов по сети 205
ftp — передача файлов по протоколу FTP 205
lftp — более удачная версия ftp 207
wget — неинтерактивный загрузчик файлов из сети 207
Безопасные взаимодействия с удаленными узлами 207
ssh — безопасный вход в удаленные компьютеры 208
scp и sftp — безопасная передача файлов 212

Глава 17. Поиск файлов 214
locate — простой способ поиска файлов 214
find — сложный способ поиска файлов 216
Проверки 216
Операции 221
Возвращаемся в песочницу 225
Параметры 228

Глава 18. Архивация и резервное копирование 229
Сжатие файлов 229
gzip — сжатие и распаковывание файлов 230
bzip2 — высокая степень сжатия ценой скорости 232
Архивирование файлов 233
tar — утилита архивирования на ленту 233
zip — упаковывание и сжатие файлов 238
Синхронизация файлов и каталогов 240
rsync — синхронизация файлов и каталогов с удаленной системой 240
Использование rsync для копирования по сети 242
Глава 19. Регулярные выражения 244
Что такое регулярные выражения? 244
grep — поиск в тексте 245
Метасимволы и литералы 246
Любой символ 247
Якоря 247
Выражения в квадратных скобках и классы символов 249
Отрицание 249
Традиционные диапазоны символов 250
Классы символов POSIX 251
Простые и расширенные регулярные выражения POSIX 254
Чередование 255
Квантификаторы 256
? — совпадение с элементом ноль или один раз 256
* — совпадение с элементом ноль или более раз 257
+ — совпадение с элементом один или более раз 258
{ } — совпадение с элементом определенное число раз 258
Практические примеры применения регулярных выражений 259
Проверка списка телефонов с помощью grep 259
Поиск необычных имен файлов с помощью find 260
Поиск файлов с помощью locate 261
Поиск текста в less и vim 261
Заключительное замечание 263

Глава 20. Обработка текста 264
Области применения текста 265
Документы 265
Веб-страницы 265
Электронная почта 265
Вывод на принтер 265
Исходный код программ 266
А вот и наши старые знакомые! 266
cat — объединение файлов и вывод их в стандартный поток вывода 266
sort — сортировка строк текстовых файлов 268
uniq — выявление или удаление повторяющихся строк 274
Нарезка и перетасовка текста 276
cut — удаление фрагментов из всех строк в файлах 276
paste — слияние строк из файлов 279
join — объединение строк из двух файлов по общему полю 281
Сравнение текста 283
comm — построчное сравнение двух сортированных файлов 283
diff — построчное сравнение файлов 284
patch — применение diff-файла к оригиналу 286
Редактирование на лету 287
tr — перекодирование или удаление символов 288
sed — потоковый редактор для фильтрации и преобразования текста 290
aspell — интерактивная проверка орфографии 298
Заключительное замечание 301
Дополнительное задание 301

Глава 21. Форматирование вывода 302
Инструменты простого форматирования 302
nl — нумерация строк 302
fold — перенос строк после указанной длины 306
fmt — простое форматирование текста 306
pr — форматирование текста для печати 309
printf — форматирование и вывод данных 310
Системы форматирования документов 314
Семейство программ roff и T^X 314
groff — система форматирования документов 315
Заключительное замечание 320

Глава 22. Печать 321
Краткая история поддержки печати 321
Печать в ночное время 322
Символьные принтеры 322
Графические принтеры 323
Печать в Linux 324
Подготовка файлов к печати 325
pr — преобразование текстовых файлов для печати 325
Отправка задания печати на принтер 326
lpr — печать файлов (в стиле Berkeley) 326
lp — печать файлов (в стиле System V) 327
Еще одна возможность: a2ps 328
Наблюдение за заданиями печати и управление ими 331
lpstat — вывод информации о состоянии принтера 332
lpq — вывод информации о состоянии очереди печати 333
lprm и cancel — отмена заданий печати 333

Глава 23. Компиляция программ 334
Что такое компиляция? 335
Все ли программы компилируются? 336
Оглавление 15
Компиляция программ на C 336
Получение исходного кода 337
Исследование дерева исходных текстов 338
Сборка программ 340
Установка программ 343
Заключительное замечание 344
Командная строка Linux

Часть IV. Сценарии командной оболочки 345

Глава 24. Создание первого сценария командной оболочки 346
Что такое сценарии командной оболочки 346
Как написать сценарий командной оболочки 347
Формат файла сценария 347
Разрешения на выполнение 348
Местоположение файла сценария 348
Выбор местоположения для сценариев 350
Дополнительные хитрости по оформлению 350
Длинные имена параметров 350
Отступы и продолжения строк 350
Заключительное замечание 352

Глава 25. Начало проекта 353
Этап первый: минимальный документ 353
Этап второй: добавление некоторых данных 355
Переменные и константы 356
Создание переменных и констант 356
Присваивание значений переменным и константам 359
Встроенные документы 360
Заключительное замечание 363

Глава 26. Проектирование сверху вниз 364
Функции командной оболочки 365
Локальные переменные 368
Постоянное опробование сценария 369
Заключительное замечание 372
Глава 27. Управление потоком выполнения: ветвление при помощи if 373
Использование if 373
Код завершения 374
Команда test 375
Выражения для проверки файлов 376
Выражения для проверки строк 378
Выражения для проверки целых чисел 380
Более современная версия команды test 381
(( )) — для проверки целых чисел 382
Объединение выражений 383
Операторы управления: еще один способ ветвления 386
Заключительное замечание 386

Глава 28. Чтение ввода с клавиатуры 388
read — чтение значений со стандартного ввода 389
Параметры 392
Выделение полей в строке ввода с помощью IFS 392
Проверка ввода 395
Меню 396
Заключительное замечание 398
Дополнительные сведения 398
Глава 29. Управление потоком выполнения: циклы while и until 399
Циклы 399
while 400
Прерывание цикла 402
until 403
Чтение файлов в циклах 404
Заключительное замечание 405
Глава 30. Поиск и устранение ошибок 406
Синтаксические ошибки 406
Отсутствующие кавычки 407
Отсутствующие или неожиданные лексемы 407
Непредвиденная подстановка 408
Логические ошибки 409
Защитное программирование 410
Проверка ввода 411
Тестирование 412
Заглушки 412
Комплекты тестов 413
Отладка 413
Поиск проблемной области 413
Трассировка 414
Исследование значений в процессе выполнения 416
Заключительное замечание 417

Глава 31. Управление потоком выполнения:
ветвление с помощью case 418
case 418
Шаблоны 420
Объединение нескольких шаблонов 421
Заключительное замечание 422

Глава 32. Позиционные параметры 423
Доступ к командной строке 423
Определение числа аргументов 424
shift — доступ к множеству аргументов 425
Простые приложения 426
Использование позиционных параметров в функциях 427
Обработка позиционных параметров скопом 427
Более сложное приложение 429
Заключительное замечание 432

Глава 33. Управление потоком выполнения: цикл for 436
for: традиционная форма 436
for: форма в стиле языка C 439
Заключительное замечание 440

Глава 34. Строки и числа 442
Подстановка параметров 442
Простые параметры 442
Подстановка пустых переменных 443
Получение имен переменных 445
Операции со строками 445
Вычисление и подстановка арифметических выражений 448
Основание системы счисления 448
Унарные операторы 449
Простая арифметика 449
Присваивание 450
Битовые операции 453
Логические операторы 454
bc — язык калькулятора для вычислений с произвольной точностью 456
Применение bc 457
Пример сценария 458
Заключительное замечание 459
Дополнительные сведения 459

Глава 35. Массивы 460
Что такое массивы? 460
Создание массива 461
Присваивание значений массиву 461
Доступ к элементам массива 462
Операции с массивами 464
Вывод содержимого всего массива 464
Определение числа элементов в массиве 465
Поиск используемых индексов 465
Добавление элементов в конец массива 466
Сортировка массива 466
Удаление массива 467
Заключительное замечание 467

Глава 36. Экзотика 469
Группы команд и подоболочки 469
Перенаправление 470
Подстановка процессов 470
Ловушки 472
Асинхронное выполнение 476
wait 476
Именованные каналы 477
Создание именованного канала 478
Использование именованных каналов 478
Заключительное замечание 479

 

Скачать техническую литературу бесплатно44,1 мб. pdf Скачать техническую литературу бесплатно3,15 мб. epub

Похожая литература