
- •3. Базовый набор команд ос Unix
- •3.1. Формат команд
- •3.2. Порождение имен файлов
- •3.3. Стиль общение с Unix
- •3.4. Минимально необходимый набор команд
- •3.4.1. Просмотр файлов инструкций (файлов справочной системы Unix)
- •3.4.2. Переход из каталога в каталог (команда cd)
- •3.4.3. Определение имени текущего каталога (команда pwd)
- •3.4.4. Просмотр содержимого каталогов (команда ls)
- •3.4.5. Копирование файлов и каталогов (команда cp)
- •3.4.6. Перемещение (или переименование) файлов (команда mv)
- •3.4.7. Уничтожение файлов (команда rm)
- •3.4.8. Создание каталога (команда mkdir)
- •3.4.11. Установка и изменение прав доступа к файлам (команда chmod)
- •3.4.12. Поиск файлов (команда find)
- •3.4.13. Выход из системы
- •3.5. Дополнительные возможности интерпретатора команд
- •3.5.1. Перенаправление ввода-вывода
- •3.5.2. Конвейеры
- •3.5.3. Фоновые команды
- •3.5.4. Группирование команд
- •3.6. Создание файлов с помощью текстовых редакторов (команды VI и joe)
- •3.6.1. Редатор VI
- •3.6.2. Редактор joe
- •3.7. Создание программ на языке Си На рис. 3.2. Приведена схема подготовки исполняемой программы в Unix.
3. Базовый набор команд ос Unix
Формат команд. Порождение имён файлов. Стиль общения с Unix. Минимальный набор команд. Дополнительные возможности интерпретатора команд: перенаправление ввода-вывода. Конвейеры. Фоновые команды. Группирование команд. Создание файлов с помощью текстовых редакторов (командыviиjoe). Создание программ на языке Си.
Для работы "обычного" пользователя, независимо от того, в какой реализации Unix он работает, необходимо чуть больше десятка команд. Как правило, эти работы связаны с обслуживанием файлов и каталогов, а также с отладкой программ, написанных на основном языке высокого уровня операционной системы Unix – языке Си. Таким образом, "обычный" пользователь выполняет следующие работы:
Переходит из каталога в каталог;
Просматривает содержимое каталогов;
Копирует, перемещает и уничтожает файлы;
Создаёт и уничтожает каталоги;
Просматривает содержимое файлов;
Создает новые файлы с помощью текстовых редакторов;
Просматривает файлы инструкций (файлы справочной системы Unix);
Осуществляет поиск файлов в файловой системе;
Устанавливает и изменяет права доступа к файлам;
Создает и запускает исполняемые файлы из исходных модулей на языке Си.
Таким образом, практически вся работа по созданию новых программ и обслуживанию рабочих каталогов сводится к работе с файловой системой, которая может быть выполнена при помощи небольшого (10-15) количества команд. Смысл и функции этих команд могут не очень сильно отличаться от аналогичных команд в других операционных системах.
Прежде чем рассмотреть подробнее вышеуказанные действия и необходимые для их выполнения команды, напомним обобщенный формат команды в Unix.
3.1. Формат команд
Синтаксис команд можно представить следующим образом:
command [-f] [-a flag_parameter] [parameter]
Команда начинается с названия - command.
За названием могут следовать флаги, параметры флагов и параметры, которые называются аргументами.
Аргумент, состоящий из знака минус '-', за которым следует одна буква, называется флагом. Флаги обычно задают режим работы команды.
За некоторыми флагами могут следовать аргументы, относящиеся только к этому флагу (flag_parameter). Такие аргументы называются параметрами флагов.
Аргументы, задаваемые после последнего флага и параметры флага, называются параметрами. Обычно они задают объекты для обработки.
Приведем несколько правил (не все), которым следуют разработчики новых команд:
длина имени команды должна составлять от двух до девяти символов;
имя команды записывается только строчными (малыми) буквами и цифрами;
флаги должны состоять из одного символа;
флаги разделяются символом '-';
флаги без параметров флагов могут группироваться за одним разделителем '-';
все флаги должны быть перечислены до параметров в командной строке;
порядок флагов не является существенным.
3.2. Порождение имен файлов
Интерпретатор командного языка анализирует каждое слово команды и ищет метасимволы ('*', '?', '['). Если хотя бы один их этих метасимволов найден, то слово считается шаблоном. Интерпретатор командного языка ищет имена файлов, удовлетворяющих этому шаблону, и заменяет исходное слово лексикографически упорядоченной последовательностью найденных имен, разделенных пробелами.
Правила подстановки:
* любая последовательность символов, в том числе, пустая;
? любой одиночный символ;
[…] соответствует любому одиночному символу из тех, которые указаны в квадратных скобках. Пара символов, разделенных символом '-' (например, [a-d]), соответствует одиночному символу, код которого попадает в диапазон между кодами указанных символов, включая их самих.