Содержание.

 

1. СОСТАВ СИСТЕМЫ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.1. Главные части UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Основные свойства UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

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

 

 

- 149 -

 

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

 

 

- 150 -

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

 

 

- 151 -

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

 

 

- 152 -

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

 

 

- 153 -

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