5.5. Конвертер документов (PostScript, PDF, HTML, LATEX) . . . . . . . . . . . 158
Text→PostScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
HTML→Text, PostScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PostScript↔PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
графика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Утилиты PostScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Утилиты PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
LATEX и компания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Глава 6. Сетевые инструменты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
6.1. Определение состояния сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Определение сетевых интерфейсов . . . . . . . . . . . . . . . . . . . . . . 167
Тестирование доступности localhost . . . . . . . . . . . . . . . . . . . . . . 167
Тестирование доступности локальной сети . . . . . . . . . . . . . . . . . 168
Тестирование доступа к Интернету . . . . . . . . . . . . . . . . . . . . . . . 168
Отслеживание пути IP-пакетов . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Программа gnome-nettool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.2. Работа на других компьютерах (SSH) . . . . . . . . . . . . . . . . . . . . . . . . 170
Обычное shell-соединение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Выполнение команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
SSH и X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Безопасное копирование файлов с помощью scp . . . . . . . . . . . . . 172
SSH-туннель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Аутентификация с использованием ключей . . . . . . . . . . . . . . . . . 174
6.3. Передача файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Основы FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
SFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
WGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Команда curl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Программа lftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
RSYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
BitTorrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Глава 7. Vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
7.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Режимы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Удаление текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Сохранение и окончание работы . . . . . . . . . . . . . . . . . . . . . . . . . 187
Справка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.2. Перемещение курсора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
7.3. Обработка текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Удаление текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Копирование текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Выделение текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Строчный отступ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Обычный текст . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Дополнение слов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.4. Поиск и замена . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
7.5. Одновременная обработка нескольких файлов . . . . . . . . . . . . . . . . 193
Буфер и окна . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Окна с вкладками . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Загрузка нового файла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
7.6. Что внутри? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Кодировка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
7.7. Советы и приемы: эффективный ввод команд . . . . . . . . . . . . . . . . . 197
Резервное копирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Активизация мыши . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Пробелы вместо табуляции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Макросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Выполнение команд Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Применение Vim в «простом режиме» . . . . . . . . . . . . . . . . . . . . 199
Глава 8. Bash (оболочка) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
8.1. Что такое оболочка? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Другие оболочки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
8.2. Базовая конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Функциональные клавиши в bash . . . . . . . . . . . . . . . . . . . . . . . . 202
Подсказки при вводе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
8.3. Ввод команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Расширения названий команд и файлов . . . . . . . . . . . . . . . . . . . 203
Важные сочетания клавиш . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Сокращения, связанные с псевдонимами . . . . . . . . . . . . . . . . . . . 207
8.4. Переадресация ввода и вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Программные каналы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Размножение вывода командой tee . . . . . . . . . . . . . . . . . . . . . . . 210
8.5. Выполнение команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Фоновые процессы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Выполнение нескольких команд . . . . . . . . . . . . . . . . . . . . . . . . . 211
8.6. Механизмы подстановки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Образование имен файлов с помощью * и ? . . . . . . . . . . . . . . . . 212
Образование имен файлов с помощью ** . . . . . . . . . . . . . . . . . . 213
Образование последовательностей символов с помощью {} . . . . 213
Вычисление арифметических выражений с помощью [] . . . . . . . . 214
Подстановка команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Специальные символы в последовательностях . . . . . . . . . . . . . . 215
8.7. Оболочковые переменные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Локальные и глобальные переменные
(переменные окружения) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Важнейшие оболочковые переменные . . . . . . . . . . . . . . . . . . . . 219
8.8. Программирование: введение и примеры . . . . . . . . . . . . . . . . . . . . 220
Пример 1: grepall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Пример 2: stripcomments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Пример 3: applysedfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Пример 4: сценарий резервного копирования . . . . . . . . . . . . . . . 224
Пример 5: создание эскизов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
8.9. Программирование: синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
8.10. Программирование: управление переменными . . . . . . . . . . . . . . . . 225
Область определения переменных . . . . . . . . . . . . . . . . . . . . . . . 226
Переменные, задаваемые оболочкой . . . . . . . . . . . . . . . . . . . . . . 227
Массивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Подстановка параметров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Считывание переменных с помощью read . . . . . . . . . . . . . . . . . 230
8.11. Программирование: условные переходы и циклы . . . . . . . . . . . . 231
If-условные переходы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Формулирование условий с помощью test . . . . . . . . . . . . . . . . 232
Case-условные переходы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
For-циклы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Циклы while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Циклы until . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
8.12. Справка по важнейшим специальным символам bash . . . . . . . . . 236
Глава 9. Базовая конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
9.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Где системный администратор? . . . . . . . . . . . . . . . . . . . . . . . . 239
Конфигурационные инструменты . . . . . . . . . . . . . . . . . . . . . . . 239
Администрирование сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Конфигурационные файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Как активизировать новую конфигурацию . . . . . . . . . . . . . . . . 241
9.2. Конфигурация текстовых консолей . . . . . . . . . . . . . . . . . . . . . . . . 242
Раскладка клавиатуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Гарнитура шрифта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Gpm-конфигурация (мышь) . . . . . . . . . . . . . . . . . . . .