ВВЕДЕНИЕ В UNIX
Дегтярев Е.К.
Содержание.
1. СОСТАВ СИСТЕМЫ. . . . . . . . . . . . . . . . . . . . . 0
1.1. Главные части UNIX . . . . . . . . . . . . . . . 0
1.2. Основные свойства UNIX . . . . . . . . . . . . . 0
1.3. Языки программирования в UNIX. . . . . . . . . . 2
1.4. Версии UNIX. . . . . . . . . . . . . . . . . . . 2
2. ПЕРВЫЕ ШАГИ . . . . . . . . . . . . . . . . . . . . . 3
2.1. Начало и конец сеанса работ. . . . . . . . . . . 3
2.2. Исправление ошибок при наборе текста команды . . 3
2.3. Некоторые простые команды. . . . . . . . . . . . 4
2.4. Формат команды . . . . . . . . . . . . . . . . . 4
2.5. Приостановка-продолжение вывода на экран . . . . 5
2.6. Останов выполнения команды . . . . . . . . . . . 5
3. СТРУКТУРА ИНФОРМАЦИИ О ФУНКЦИЯХ UNIX. . . . . . . . . 5
4. КАТАЛОГИ И ФАЙЛЫ. . . . . . . . . . . . . . . . . . . 7
4.1. Печать рабочего каталога . . . . . . . . . . . . 7
4.2. Печать содержимого каталога. . . . . . . . . . . 7
4.3. Структура корневого каталога . . . . . . . . . . 8
4.4. Изменение рабочего каталога(cd). . . . . . . . . 9
4.5. Соглашения по наименованию каталогов и файлов. . 9
4.6. Печать содержимого файла . . . . . . . . . . . . 10
4.7. Просмотр конца файла . . . . . . . . . . . . . . 10
4.8. Определение типа файла . . . . . . . . . . . . . 11
4.9. Создание каталога пользователя . . . . . . . . . 11
4.10. Копирование файлов командой cp. . . . . . . . . 13
4.11. Перенос и переименование файлов командой mv . . 13
4.12. Удаление файлов командой rm . . . . . . . . . . 14
4.13. Уничтожение пустого каталога: rmdir . . . . . . 15
4.14. Использование метасимволов *, ?, [] . . . . . . 15
4.15. Непечатные символы в имених файлов. . . . . . . 16
4.16. Владелец файла и защита файла . . . . . . . . . 17
4.17. Установка и изменение режима доступа к файлу:
chmod . . . . . . . . . . . . . . . . . . . . . 18
5. КОМАНДЫ И СТАНДАРТНЫЕ ФАЙЛЫ . . . . . . . . . . . . . 19
5.1. Стандартные файлы. . . . . . . . . . . . . . . . 19
5.2. Редирекция стандартного вывода . . . . . . . . . 20
5.3. Редирекция стандартного ввода. . . . . . . . . . 20
5.4. Создание файла командой cat. . . . . . . . . . . 21
5.5. Соединение команд каналами (pipeline). . . . . . 22
5.6. Фильтры. . . . . . . . . . . . . . . . . . . . . 23
5.7. Параллельный стандартный вывод и редирекция
вывода . . . . . . . . . . . . . . . . . . . . . 23
5.8. Диагностический вывод. . . . . . . . . . . . . . 23
5.9. Обработка команд в режиме заднего плана
(background) . . . . . . . . . . . . . . . . . . 24
5.10. Выполнение процессов с низким приоритетом . . . 26
5.11. Останов процесса. . . . . . . . . . . . . . . . 26
6. РЕДАКТОРЫ EX И VI . . . . . . . . . . . . . . . . . . 27
6.1. Вызов vi . . . . . . . . . . . . . . . . . . . . 27
6.2. Выход из vi. . . . . . . . . . . . . . . . . . . 27
6.3. Позиционирование курсора . . . . . . . . . . . . 28
6.4. Добавление, изменение и уничтожение текста . . . 28
6.5. Операции над словами и строками. . . . . . . . . 29
6.6. Перестановка части текста (cut-paste). . . . . . 30
6.7. Сохранение части текста для последующего исполь-
зования (yank) . . . . . . . . . . . . . . . . . 30
7. ПРОГРАММИРОВАНИЕ В ЯЗЫКЕ SHELL. . . . . . . . . . . . 31
7.1. Версии shell . . . . . . . . . . . . . . . . . . 31
7.2. Файл начала сеанса (login-файл). . . . . . . . . 32
7.3. Процедура языка shell. . . . . . . . . . . . . . 32
7.4. Переменные shell . . . . . . . . . . . . . . . . 33
7.5. Предопределенные переменные shell. . . . . . . . 34
7.6. Установка переменной shell выводом из команды. . 35
7.7. Переменные shell - аргументы процедур. . . . . . 35
7.8. Структурные операторы shell. . . . . . . . . . . 36
7.9. Оператор цикла for . . . . . . . . . . . . . . . 36
7.10. Условный опертор if . . . . . . . . . . . . . . 38
7.11. Команда test. . . . . . . . . . . . . . . . . . 39
7.12. Оператор цикла while. . . . . . . . . . . . . . 40
7.13. Оператор цикла until. . . . . . . . . . . . . . 41
7.14. Оператор case . . . . . . . . . . . . . . . . . 42
7.15. Использование временных файлов в каталоге /tmp. 43
7.16. Комментарии в процедурах. . . . . . . . . . . . 44
7.17. Пример процедуры. . . . . . . . . . . . . . . . 44
7.18. Обработка прерываний в процедурах . . . . . . . 46
7.19. Выполнение арифметических операций: expr. . . . 47
7.20. Отладка процедур shell. . . . . . . . . . . . . 48
8. C-SHELL . . . . . . . . . . . . . . . . . . . . . . . .48
8.1. Специальные символы в C-Shell. . . . . . . . . . 49
8.2. Стандартные файлы в C-Shell. . . . . . . . . . . 49
8.3. Механизм истории . . . . . . . . . . . . . . . 49
8.4. Коррекция предыдущей команды. . . . . . . . . . 50
8.5. Повторное исполнение предыдущих команд. . . . . 51
8.6. Изменение и повторное исполнение предыдущихЪ.
команд . . . . . . . . . . . . . . . . . . . . 52
8.7. Ссылка на рабочий каталог пользователя . . . . 53
8.8. Использование групп имен файлов. . . . . . . . . 54
8.9. Механизм переименования . . . . . . . . . . . . 54
8.10. Переменные в C-Shell. . . . . . . . . . . . . 55
8.11. Метасимволы в C-Shell. . . . . . . . . . . . . 59
8.12. Некоторые команды C-Shell . . . . . . . . . . 62
8.13. Оценка состояния файла. . . . . . . . . . . . . 65
8.14. Работы . . . . . . . . . . . . . . . . . . . . .65
8.15. Командные файлы (скрипты) в C-Shell. . . . . . 66
8.16. Выражение в скриптах. . . . . . . . . . . . . . 69
8.17. Управляющие структуры скриптов . . . . . . . . .69
8.17.1. Оператор foreach . . . . . . . . . . . 69
8.17.2. Оператор if-then-endif . . . . . . . . 70
8.17.3. Оператор while . . . . . . . . . . . . 71
8.17.4. Оператор switch . . . . . . . . . . . . 72
8.17.5. Оператор goto . . . . . . . . . . . . . 73
8.18. Ввод в командах скрипта. . . . . . . . . . . . 73
8.19. Обработка прерываний в скриптах . . . . . . . 74
8.20. Пример скрипта. . . . . . . . . . . . . . . . . 75
9. СВЯЗЬ ПОЛЬЗОВАТЕЛЬ-ПОЛЬЗОВАТЕЛЬ . . . . . . . . . . . 76
9.1. Посылка сообщений командой write . . . . . . . 76
9.2. Электронная почта (mail). . . . . . . . . . . . 79
10. РАБОТА С ТЕКСТОВЫМИ ФАЙЛАМИ . . . . . . . . . . . . . 82
10.1. Печать файла. . . . . . . . . . . . . . . . . . 83
10.2. Разборка и сборка файла . . . . . . . . . . . 84
10.3. Сортировка текстовых файлов . . . . . . . . . 85
10.4. Подсчет строк, слов, знаков в файле . . . . . 86
10.5. Поиск строк в файле по образцу (grep) . . . . 87
10.6. Трансляция знаков (tr). . . . . . . . . . . . . 89
10.7. Команды сравнения файлов (diff, cmp, comm). . . 90
10.8. Обработка текстовых файлов командой awk. . . . 93
11. СРЕДСТВА РАЗРАБОТКИ ПРОГРАММ . . . . . . . . . . . . 96
11.1.Вызов компиляторов . . . . . . . . . . . . . . . 97
11.2. Линкер. . . . . . . . . . . . . . . . . . . . . 98
11.3. Библиотеки. . . . . . . . . . . . . . . . . . . 99
11.4. Символьный отладчик. . . . . . . . . . . . . . 101
11.5. Средства оценки эффективности исполнения
программы . . . . . . . . . . . . . . . . . . . 102
11.6. Сопровождение программ: make . . . . . . . . . 104
11.7. Средства реализации языков программирования. . 106
12. СРЕДСТВА РЕДАКТОРА EX, ДОПОЛНЯЮЩИЕ ВОЗМОЖНОСТИ . . . 107
РЕДАКТОРА VI. . . . . . . . . . . . . . . . . . . . 107
12.1. Выход из vi в ex . . . . . . . . . . . . . . . 107
12.2. Просмотр строк текста . . . . . . . . . . . . 107
12.3. Поиск строк по образцу текста. . . . . . . . . 108
12.4. Подстановка образца текста . . . . . . . . . . 109
12.5. Отмена последней подстановки . . . . . . . . . 110
12.6. Чтение и запись файлов в буфере редактирования 111
12.7. Вызов на редактирование следующего или нового
файла . . . . . . . . . . . . . . . . . . . . . 112
12.8. Выполнение команды системы внутри редактора ex 112
12.9. Переход в режим редактора vi . . . . . . . . . 113
12.10. Выход из редактора ex . . . . . . . . . . . . 113
13. РУКОВОДСТВО СИСТЕМНОГО АДМИНИСТРАТОРА. . . . . . . . 114
13.1. Спецпользователи . . . . . . . . . . . . . . . 114
13.2. Загрузка и выключение системы . . . . . . . . 115
13.3. Пользователи и группы . . . . . . . . . . . . 116
13.4. Специальные режимы исполняемого файла . . . . 118
13.5. Файловые системы . . . . . . . . . . . . . . . 119
13.5.1. Создание и монтаж файловой системы . . 124
13.5.2. Демонтаж файловой системы. . . . . . . 125
13.5.3. Синхронизация файловых систем. . . . . 126
13.6. Устройства и специальные файлы . . . . . . . . 127
13.7. Сохранение и восстановление файлов . . . . . . 128
13.8. Проверка и восстановление стуктуры
файловой системы . . . . . . . . . . . . . . . 130
13.9. Контроль использования дисковой памяти. . . . .134
13.10. Подключение терминалов . . . . . . . . . . . .135
13.11. Периодическое выполнение заданий . . . . . . .137
13.12. Работа с руководствами для пользователей . . .138
13.13. Управление операционной системой . . . . . . .139
13.14. Реконфигурация операционной системы. . . . . .143
13.15. Практические советы. . . . . . . . . . . . . .144
Приложение 1.Реализации системы UNIX. . . . . . . . .145
Приложение 2.Состав системы ISC UNIX System V.. . . .146
Литература. . . . . . . . . . . . . . . . . . . . . .147
Содержание. . . . . . . . . . . . . . . . . . . . . .148