Содержание лекции
| # | Тема | Обновлено |
|---|---|---|
| 1 | Семейство операционных систем Unix/Linux | 19.02.2007 |
| 2 | Командный интерпретатор shell. Место в составе СПО ОС | 19.02.2007 |
| 3 | Командная строка. Компоненты. Примеры команд | 19.02.2007 |
| 4 | Средства перенаправления ввода-вывода | 19.02.2007 |
| 5 | Средства условного выполнения | 19.02.2007 |
| 6 | Средства группировки команд | 19.02.2007 |
| 7 | Экранирование метасимволов | 19.02.2007 |
Материалы для самостоятельного изучения
| # | Тема | Обновлено |
|---|---|---|
| 1 | Исторические и философские аспекты ОС UNIX/Linux | 19.02.2007 |
| 2 | Использование встроенной справочной системы | 19.02.2007 |
| 3 | Редактирование командной строки | 19.02.2007 |
Использование встроенной справочной системы
Основным источником получения справки являются так называемые страницы руководства — manual pages (John Eaton, 1990). Для отображения справочной страницы по заданному ключевому слову следует исполнить команду
man номер_раздела ключевое_слово
Справочная страница содержит следующие типовые разделы
| # | Описание | Название |
|---|---|---|
| 1 | Имя команды (или объекта, для которого вызвана справка) | NAME |
| 2 | Синтаксис вызова с перечнем допустимых опций | SYNOPSIS |
| 3 | Подробное описание команды | DESCRIPTION |
| 4 | Перечень и описание допустимых опций | OPTIONS |
| 5 | Аспекты взаимодействия со средой, окружением | ENVIRONMENT |
| 6 | Ссылки на смежные страницы | SEE ALSO |
| 7 | Сведения об авторах программы | AUTHORS |
| 8 | Известные проблемы и обнаруженные ошибки | BUGS |
Страницы сгруппированы по разделам. Если номер раздела не указан, то man выводит страницу с меньшим найденным номером. Для вывода всех страниц по заданному клчевому слову следует воспользоваться опцией -a.
| # | Описание | Примечание |
|---|---|---|
| 1 | Команды shell и утилиты | |
| 2 | Системные вызовы ОС | Функции ядра системы |
| 3 | Библиотечные вызовы | В том числе стандартная библиотека Си |
| 4 | Специальные файлы | Преимущественно из каталога /dev |
| 5 | Соглашения о форматах файлов | Например, /etc/passwd |
| 6 | Игровые программы | |
| 7 | Разное | В основном макропакеты |
| 8 | Административные утилиты | Доступные пользователю root |
| 9 | Документация по ядру | Не стандартизовано |
Пользователь может осуществлять поиск по man-странице, команда /выражение — поиск в прямом направлении, ?выражение — в обратном, n — поиск следующего вхождения в прямом направлении, N — поиск следующего вхождения в обратном направлении. Выйти из справочника можно командой q. Краткое описание команды можно получить с помощью whatis. Поиск по базе данных whatis осуществляется с помощью команды apropos.
В последние годы все большую популярность завоевывает гипертекстовая справочная система info. Организация справочной системы info — иерархическая, вся документация сведена в единое дерево, в котором документы (так называемые ноды) являются узлами. Текст каждой ноды может содержать гиперссылки на другие ноды. Пользователь может перемещаться по дереву справочника с помощью команд:
| # | Описание | На клавиатуре |
|---|---|---|
| 1 | Пролистать текст узла на страницу вниз | PgDn |
| 2 | Пролистать текст узла на страницу вверх | PgUp |
| 3 | Перейти по ссылке под курсором | Enter |
| 4 | Перейти к заданной именем ноде | g |
| 5 | Перейти на следующий узел того же родителя | n |
| 6 | Перейти на предыдущий узел того же родителя | p |
| 7 | Перейти на родительский узел | u |
| 8 | Перейти на предыдущий посещенный узел | l |
| 9 | Выбор пункта меню | m |
| 10 | Перейти по указанной ссылке | f |
| 11 | Перейти на локальный корневой узел | t |
| 12 | Перейти на абсолютный корневой узел | d |
| 13 | Поиск по текущему узлу | s |
| 14 | Выход из справочника | q |
Многие команды являются самодокументированными и отображают справку по использованию при вызове команды с опцией --help.
Редактирование командной строки
Управление пользовательским вводом в интерактивном режиме осуществляется посредством функций библиотеки readline, которая предоставляет пользователю широкий набор операции редактирования командной строки. По умолчанию команды редактирования строки аналогичны используемым в emacs. Поддерживается также стиль редактирования vi (переключение между стилями осуществляется с помощью встроенной команды set).
Большинство команд редактирования можно вызвать, используя клавиатурные эквиваленты. В таблице приведены лишь некоторые из наиболее употребимых команд. Запись C-x в данном случае означает нажатие клавиши x с зажатой клавишей Control, M-x — клавиши x с зажатой клавишей Meta (Alt), ESC x означает последовательное нажатие клавиш Escape, затем x. Readline допускает переопределение клавиатурных эквивалетов (файлы /etc/inputrc и .inputrc в домашнем каталоге пользователя).
| # | Описание | Комбинация |
|---|---|---|
| 1 | Перемещение курсора в начало текущей строки | C-a |
| 2 | Перемещение курсора в конец текущей строки | C-e |
| 3 | Перемещение курсора на один символ вперед | C-f |
| 4 | Перемещение курсора на один символ назад | C-b |
| 5 | Перемещение курсора на последний символ следующего слова | M-f |
| 6 | Перемещение курсора на первый символ текущего или предыдующего слова | M-b |
| 7 | Очистить экран | C-l |
| 8 | Переход к предыдущей команде в истории команд | C-p или up |
| 9 | Переход к следующей команде в истории команд | C-n или down |
| 10 | Переход к началу истории команд | M-< |
| 11 | Переход в конец истории команд | M-> |
| 12 | Обратный поиск в истории команд | C-r |
| 13 | Удаление следующего символа | C-d или Delete |
| 14 | Удаление предыдущего символа | Backspace |
| 15 | Обмен символа перед курсором с символом под курсором | C-t |
| 16 | Обмен слова перед курсором с словом под курсором | M-t |
| 17 | Приведение всех символов текущего слова к верхнему регистру | M-u |
| 18 | Приведение всех символов текущего слова к нижнему регистру | M-l |
| 19 | Капитализация текущего слова | M-c |
| 20 | Удаление части строки от текущей позиции до конца | C-k |
| 21 | Удаление части строки от начала до текущей позиции | C-x Backspace |
| 22 | Удаление части строки от текущей позиции до конца слова | M-d |
| 23 | Удаление части строки от начала слова до текущей позиции | M-Backspace |
| 24 | Автодополнение переменной, имени пользователя или команды | TAB |
| 25 | Откат операции | C-_ |