
- •Операционная система unix (руководство пользователя)
- •1. Общие сведения о системе Unix
- •1.1. Основные функции и компоненты системы unix
- •1.2. Ядро
- •1.4. Команды
- •1.4.1. Что делают команды
- •1.4.2. Как выполнять команды
- •1.5. Файловая система
- •1.5.1. Обыкновенные файлы
- •1.5.2. Справочники
- •1.5.3. Специальные файлы
- •1.5.4. Символические каналы связи
- •1.6. Расположение системы
- •1.7. Принятые соглашения
- •2. Основные сведения для пользователей Unix
- •2.1. Терминал
- •2.2. Требуемые для установки терминальные характеристики
- •2.3. Характеристики клавиатуры
- •2.4. Соглашения по вводу
- •2.5. Подсказка команды
- •2.6. Исправление ошибок ввода
- •2.6.1. Стереть текущую строку: знак @
- •2.6.3. Переназначение функции удаления
- •2.7. Использование специальных символов как буквенных
- •2.8. Скорость
- •2.9. Останов команд
- •2.10. Использование символов управления
- •2.11. Получение регистрационного имени
- •2.12. Связь с системой unix
- •2.13. Процедура регистрации
- •2.14. Пароль
- •2.16. Простые команды
- •2.17. Выход из системы
- •3. Файловая система
- •3.1. Структура файловой системы
- •3.2. Ваш собственный справочник
- •3.3. Текущий справочник
- •3.4. Имя пути
- •3.4.1. Полное имя пути
- •3.4.2. Родственное имя пути
- •3.5. Правила именования справочников и файлов
- •3.6. Организация справочника
- •3.6.1. Команда mkdir - создать справочник
- •3.6.2. Команда ls - напечатать содержимое справочника
- •3.6.2.1. Часто используемые ключи команды ls
- •3.7. Команда cd - изменить текущий справочник
- •3.8. Команда rmdir - удалить справочник
- •3.9. Доступ к файлу и работа с ним
- •3.10. Основные команды
- •3.10.1. Команды cat, pg, pr - распечатать содержимое файла
- •3.10.1.1. Команда cat
- •3.10.1.2. Команда pg
- •3.10.1.3. Команда pr
- •3.10.2. Команда cp - сделать копию файла
- •3.10.3. Команда mv - переименование файла
- •3.10.4. Команда rm - удалить файл
- •3.10.5. Команда wc - подсчет строк, слов и символов
- •3.10.6. Команда chmod - изменить статус файла
- •3.10.6.1. Как определить права
- •3.10.6.2. Как изменить существующие права
- •3.10.6.3. Альтернативный метод
- •3.10.7. Дополнительные команды
- •3.10.7.1. Команда diff
- •3.10.7.2. Команда grep
- •3.10.7.3. Команда sort
- •4. Обзор программных средств
- •4.2.3. Режимы
- •4.2.4. Построчный редактор
- •4.2.5. Экранный редактор
- •4.2.6. Использование shell
- •4.2.7. Применение средств системы
- •4.2.8. Окружение компьютера
- •4.2.9. Программирование в shell
- •4.2.10. Программирование с помощью awk
- •4.3. Электронная связь
- •4.4. Программирование в системе unix
- •5. Руководство по командной среде face
- •5.1. Что такое face?
- •5.1.1. Организация этого раздела
- •5.2. Введение
- •5.2.1. Регистрация в системе
- •5.2.2. Структура экрана face
- •5.2.2.1. Заголовок
- •5.2.2.2. Рабочая область
- •5.2.2.3. Строка сообщения
- •5.2.2.4. Командная строка
- •5.2.2.5. Метки функциональных клавиш
- •5.3. Что вы увидите после регистрации
- •5.3.1. Альтернативные последовательности
- •5.3.2. Как использовать меню
- •5.3.2.1. Метки функциональных клавиш в меню
- •5.3.2.2. Перемещение в меню
- •5.3.2.3. Выбор пункта меню
- •5.3.3. Как работать с формой
- •5.3.3.1. Метки функциональных клавиш в формах
- •5.3.3.2. Перемещение в форме и редактирование полей.
- •5.3.4. Перемещение от окна к окну.
- •5.3.4.1. Переход к другому окну с помощью командной строки
- •5.3.4.2. Перемещение от окна к окну с помощью функциональных клавиш
- •5.3.4.3. Перемещение от окна к окну с помощью команды frm-mgmt.
- •5.3.5. Управление внешним видом вашего оффиса
- •5.3.5.1. Перемещение окна
- •5.3.5.2. Изменение формы окна
- •5.3.6. Командное меню
- •5.3.7. Получение помощи
- •5.3.7.1. Помощь по командам, меню и полям форм face
- •5.3.7.2. Получение помощи о face
- •5.3.8. Выход из face
- •6. Редактор текстов ed
- •6.1. Введение
- •6.2. Вызов редактора
- •6.2.1. Дозапись текста
- •6.3. Запись файла
- •6.4. Выход из редактора
- •6.5. Чтение файла
- •6.5.1. Команда редактирования файла (e)
- •6.5.2. Команда чтения файла (r)
- •6.6. Печать текста
- •6.6.1. Команда печати (p)
- •6.6.2. Команда печати (l)
- •6.7. Просмотр файла
- •6.7.1. Команда печати (n)
- •6.8. Команда удаления строк (d)
- •Удаление из буфера строк с 4-й по последнюю включительно. В буфере после выполнения команды останется 3 первых строки. Текущей строкой станет третья строка буфера. 6.9. Команда отмены редакции (u)
- •6.10. Команда замены (s)
- •6.11. Команда поиска контекста
- •6.11.1. Конструкция /.../
- •6.11.2. Конструкция ?...?
- •6.11.3. Продолжение поиска
- •6.12. Команда вставки строк (I)
- •6.13. Команда замены строк (c)
- •6.14. Работа со строками
- •6.14.1. Разбиение строк
- •6.14.2. Объединение строк (j)
- •6.14.3. Копирование строк (t)
- •6.14.4. Перестройка строк
- •6.14.5. Маркеры
- •6.14.6. Адресация строк в редакторе
- •6.14.6.1. Адресная арифметика
- •6.14.6.2. Номера строк и указатель текущей строки
- •6.14.6.3. Изменение указателя текущей строки
- •6.14.6.4. Прерывание работы редактора
- •6.14.7. Глобальные команды
- •6.14.7.1. Команда g
- •6.14.7.2. Команда V
- •Заменить во всех строках файла последовательность "aaa" на "bbb" кроме строк, в которых имеется последовательность "XXX".6.15. Работа с файлами
- •6.15.1. Команда указания имени файла (f)
- •6.15.2. Объединение файлов
- •6.15.3. Разбиение файла
- •6.15.4. Перекомпоновка файла
- •6.15.4.1. Перемещение строк (команда m)
- •6.15.4.2. Копирование строк текста (t)
- •6.16. Специальные символы
- •6.16.1. Метасимвол . (точка)
- •6.16.5. Метасимвол * (звездочка)
- •6.16.6. Метасимволы [] (квадратные скобки)
- •6.16.7. Метасимвол & (амперсенд)
- •6.17.1. Временный выход из редактора
- •6.17.2. Восстановление после останова
- •6.17.3. Командные файлы редактора
- •6.17.4. Режим шифрования
- •6.17.5. Программа grep
- •6.17.6. Команды помощи
- •6.18. Сообщения редактора
- •6.19. Краткий обзор команд
- •7. Экранный редактор VI
- •7.1. Введение
- •7.2.2. Изменение конфигурации
- •7.3. Создание файла
- •Когда вы введете команду VI с именем файла, VI очистит экран и отобразит окно, в которое вы можете вводить и редактировать текст. 7.4. Режимы редактора
- •7.4.1. Создание текста в режиме Append
- •7.4.2. Выход из режима Append
- •7.5. Редактирование текста в командном режиме
- •7.5.1. Перемещение курсора
- •7.5.2. Удаление текста
- •7.5.3. Добавление текста
- •7.6. Завершение работы c VI
- •7.7. Перемещение курсора по экрану
- •7.7.1. Позиционирование курсора на символ
- •7.7.1.1. Переместить курсор в начало или конец строки
- •7.7.1.2. Поиск символа в строке
- •7.7.1.3. Команда перемещения: - (знак минус)
- •7.7.2. Позиционирование слов
- •7.7.3. Позиционирование курсора на предложение
- •7.7.4. Позиционирование курсора по параграфам
- •7.7.5. Позиционирование в окне
- •7.8. Позиционирование курсора на неотображаемом тексте
- •7.8.1. Прокрутка текста
- •7.9. Переход на указанную строку
- •7.10. Номера строк
- •7.11. Поиск символов по шаблону: команды / и ?
- •7.12. Создание текста
- •7.12.1. Добавить текст
- •7.12.2. Вставить текст
- •7.12.3. Открыть строку для текста
- •7.13. Удаление текста
- •7.13.1. Удаление текста в режиме ввода текста
- •7.13.2. Отменить последнюю команду
- •7.14. Команды удаления в командном режиме
- •7.14.1. Удаление слов
- •7.14.2. Удаление параграфов
- •7.14.3. Удаление строк
- •7.14.4. Удаление текста после курсора
- •7.15. Модификация текста
- •7.15.1. Замена текста
- •7.15.2. Подстановка текста
- •7.15.3. Изменение текста
- •7.16. Извлечение и присоединение текста
- •7.16.1. Перемещение текста
- •7.16.2. Перемещение букв
- •7.16.3. Копирование текста
- •7.17. Копирование и перемещение текста с использованием регистров
- •7.18. Специальные команды
- •7.18.1. Повторить последнюю команду
- •7.18.2. Объединение строк
- •7.18.3. Очистить окно и восстановить текст
- •7.18.4. Заменить нижний регистр на верхний и vice versa
- •7.19. Использование команд построчного редактора
- •7.19.1. Временный возврат к shell
- •7.19.2. Запись текста в новый файл
- •7.19.3. Переход к указанной строке
- •7.19.4. Удалить остаток буфера
- •7.19.5. Добавить файл в буфер
- •7.19.6. Провести глобальные изменения
- •7.20. Завершение работы с редактором VI
- •7.21. Специальные опции для VI
- •7.21.1. Восстановление потерянного файла
- •7.21.2. Редактирование нескольких файлов
- •7.21.3. Просмотр файла
- •8. Shell - интерпретатор командного языка
- •8.1. Метасимволы
- •8.1.1. Поиск всех символов (метасимвол *)
- •8.1.2. Поиск по одному символу (метасимвол ?)
- •8.1.3. Поиск одного набора (метасимвол [])
- •8.2. Специальные символы
- •8.2.1. Запуск команды в фоновом режиме (символ &)
- •8.2.2. Последовательное выполнение команд (символ ;)
- •8.2.4. Отмена специального значения (метасимвол кавычки)
- •8.2.4.1. Использование кавычек для отмены значения символа пробел
- •8.3. Перенаправление ввода и вывода
- •8.3.3. Добавить вывод в существующий файл
- •8.3.3.1. Некоторые применения перенаправления вывода
- •8.3.3.2. Комбинирование фонового режима и перенаправления вывода
- •8.3.4. Перенаправление вывода команде
- •8.3.5. Подстановка вывода в качестве аргумента
- •8.4. Выполнение, останов и повторный запуск процессов
- •8.4.1. Запуск команд в заданное время
- •8.4.2. Получить состояние запущенного процесса
- •8.4.3. Завершение активных процессов
- •8.4.4. Запуск остановленного задания
- •8.4.5. Использование команды nohup
- •9. Средства программирования shell
- •9.1. Программы shell
- •9.1.1. Создание простых программ shell
- •9.1.2. Выполнение программ shell
- •9.1.3. Создание справочника bin для исполняемых файлов
- •9.1.4. Ограничения при именовании программ shell
- •9.2. Переменные
- •9.2.1. Позиционные параметры
- •9.2.2. Специальные параметры
- •9.2.3. Именованные переменные
- •9.2.4. Присвоение значений переменным
- •9.2.4.1. Использование команды read
- •9.2.4.2. Перенаправление вывода команды в переменную
- •9.2.4.3. Присвоение позиционного параметра переменной
- •9.3. Конструкции языка программирования shell
- •9.3.1. Комментарии
- •9.3.3. Использование ed в shell программе
- •9.3.4. Коды завершения
- •9.3.4.1. Проверка кодов завершения
- •9.3.5. Циклы
- •9.3.5.1. Оператор for
- •9.3.5.2. Оператор while
- •9.3.6. Использование /dev/null
- •9.3.7. Условные операторы
- •9.3.8. Безусловная передача управления
- •9.4. Отладка программы
- •9.4.1. Модификация окружения
- •9.4.2. Добавление команд в файл .Profile
- •9.4.3. Установка характеристик терминала
- •9.5. Использование shell переменных
- •10.1. Основные сведения об awk
- •10.1.1. Структура программы
- •10.1.2. Поля
- •10.1.3. Печать
- •10.2. Печать форматированного файла
- •10.3. Простые шаблоны
- •10.4. Простые действия
- •10.4.1. Встроенные переменные
- •10.4.2. Определенные пользователем переменные
- •10.4.2.1. Функции
- •10.5. Примеры некоторых полезных программ
- •10.6. Сообщения об ошибках
- •10.7. Шаблоны
- •10.7.1. Шаблоны begin и end
- •10.8. Выражения отношения
- •10.9. Регулярные выражения
- •10.10. Комбинация шаблонов
- •10.11. Область шаблона
- •10.12. Действие
- •10.12.1. Арифметические действия
- •10.13. Строки и строковые функции
- •10.14. Поле переменных
- •10.15. Номер или строка
- •10.16. Операторы управления потоком
- •10.17. Массивы
- •10.18. Функции, определенные пользователем
- •10.19. Комментарии
- •10.20. Вывод
- •10.20.1. Оператор print
- •10.20.2. Разделители вывода
- •10.20.3. Оператор printf
- •10.20.4. Вывод в файлы
- •10.20.5. Вывод в канал
- •10.21. Ввод
- •10.21.1. Файлы и каналы
- •10.21.2. Разделители ввода
- •10.22. Многострочные записи
- •10.23. Функция getline
- •10.24. Аргументы командной строки
- •10.25. Использование awk с другими командами и с shell
- •10.25.1. Функция system
- •10.25.2. Взаимодействие с shell
- •10.26. Примеры использования
- •10.26.1. Генерирование отчетов
- •10.26.2. Дополнительные примеры
- •10.26.2.1. Частота использования слов
- •10.26.2.2. Накопление
- •10.26.2.3. Случайный выбор
- •10.26.2.4. Возможности shell
- •10.27. Итоговое краткое описание awk
- •10.27.1. Ограничения
- •10.27.2. Инициализация, сравнение и тип приведения
- •Приложение 1. Файловая система unix
- •Справочники системы unix
- •Приложение 2. Основные команды системы unix
7. Экранный редактор VI
7.1. Введение
Этот раздел посвящен экранному редактору vi. Редактор vi является мощным средством для создания и редактирования файлов. Он предназначен для работы на видеотерминале и использует окна, посредством которых вы можете просматривать текст файла. Несколько простых команд позволяют вам сделать изменения в тексте, которые очень быстро отображаются на экране. Редактор может отобразить одну или несколько строк текста. Он позволяет вам передвигать курсор в любую точку на экране или в файле, создавать, изменять или удалять текст. Вы можете также использовать некоторые команды построчного редактора, такие как глобальные команды, которые позволяют вам изменять множество появлений некоторой строки символов, используя одну команду. Чтобы двигаться по файлу, вы можете прокручивать текст вперед или назад.
Примечание. Не все терминалы обладают способностью прокрутки текста и поэтому средство прокрутки текста редактором vi зависит от типа используемого терминала.
Редактор vi имеет более 100 команд. В этом разделе описаны основные команды, которые позволят вам использовать vi просто, но эффективно. Особое внимание будет уделено выполнению следующих задач, позволяющих:
изменить окружение shell, чтобы установить конфигурацию вашего терминала;
сделать доступным автоматический возврат каретки;
начать работу с редактором vi, создать текст, исправить ошибки, записать текст в файл и завершить работу;
переместить текст внутри файла;
разбить и слить текст;
использовать специальные команды и сокращения;
использовать команды построчного редактора, доступные внутри vi;
временно вернуться в shell, чтобы выполнить команды shell;
восстановить файл, потерянный из-за прерывания сессии редактирования;
редактировать несколько файлов в одной сессии.
TERM= terminal_name<CR>
export TERM<CR>
tput init<CR>
В первой строке переменной TERM присваивается конкретное значение (тип терминала). Вторая строка экспортирует это значение; она передает это значение всем программам системы UNIX, выполнение которых зависит от типа используемого терминала.
Команда tput в третьей строке производит установку программного обеспечения для вашего терминала, чтобы он правильно функционировал с системой UNIX.
7.2.2. Изменение конфигурации
Если вы часто будете использовать редактор vi, то необходимо сделать соответствующие изменения по установке конфигурации терминала в файле .profile. Этот файл должен находиться в вашем собственном справочнике. За более подробной информацией обратетесь к разд. 9, где описывается shell.
Если вы укажете соответствующие установки для вашего терминала в файле .profile, то ваш терминал будет автоматически настраиваться каждый раз при регистрации. То есть строки, приведенные в п. 7.1.1, добавьте в файл .profile.
hlv 2 Установка автоматического возврата каретки
Если вы хотите, чтобы клавиша RETURN отрабатывала автоматически во время вашей работы с редактором vi, создайте файл с именем .exrc в вашем собственном справочнике. В файле .exrc будут содержаться опции, которые управляют средой редактора vi.
Чтобы создать файл .exrc, введите при вызове редактора имя этого файла. Затем в первой строке текста введите спецификацию циклического режима (автоматический возврат каретки). Формат этой опции:
: set wm=n<CR>
где n - число символов на строке экрана, после которого должен автоматически появляться возврат каретки. Он может стоять только между словами, но не между слогами слова.
Например, если вы хотите, чтобы возврат каретки проставлялся за 20-м символом с правой стороны экрана, введите:
: set wm=20<CR>
По окончании запишите содержимое буфера в файл и завершите работу с редактором. В следующий раз, если вы будете работать с vi, то этот файл предоставит вам автоматический возврат каретки.
Чтобы проверить установки и циклический режим для вашего терминала в редакторе vi, введите команду:
: set<CR>
Команду set также можете использовать и для создания или изменения опции циклического режима.