Искусство программирования для Unix
Шрифт:
Отладка (debug) (с аргументом или без). Устанавливает уровень отладочных сообщений. Данное значение весьма распространено.
Иногда ключ -d имеет значение "delete" (удалить) или "directory" (каталог).
Определить (define) (с аргументом). Устанавливает значение какого-либо символа в интерпретаторе, компиляторе или (особенно) в приложении с функциями макропроцессора. Моделью послужило использование ключа -D в препроцессоре макрокоманд компилятора С. Это устойчивая ассоциация для большинства Unix-программистов; ее не следует нарушать.
Выполнить (execute) (с аргументом). Программы, которые являются упаковщиками
Редактирование (edit). Программа, способная открыть ресурс либо в режиме только для чтения, либо в режиме редактирования, может принимать ключ -е для активизации режима редактирования. Примеры: crontab(1) и утилита get(1) системы контроля версий SCCS.
Иногда ключ -е имеет значение "exclude" (исключить) или "expression" (выражение).
Файл (с аргументом). Очень часто используется с аргументом для указания файла входных (или реже выходных) данных для программ, которым требуется произвольный доступ к входным или выходным данным (там, где недостаточно перенаправления посредством символов < или >). Классическим примером является утилита tar( 1); существует также множество других примеров. Кроме того, данный ключ часто используется для указания того, что аргумент, обычно принимаемый из командной строки, необходимо взять из файла. Классические примеры: awk(1) и egrep(1). Сравните с ключом -о ниже. Часто -f представляет собой входной аналог -о.
Форсировать (force) (обычно без аргумента). Форсирует некоторые операции (такие как блокировка или разблокировка файлов), которые обычно осуществляются по условию. Данное значение менее распространено.
Демоны часто используют ключ -f, комбинируя оба значения, для того чтобы форсировать обработку конфигурационного файла, расположенного в нестандартном месте. Примеры: ssh(1), httpd(1) и многие другие демоны.
Заголовки (headers) (обычно без аргумента). Включает, подавляет или модифицирует заголовки табличных отчетов, сгенерированных программой. Примеры: рг( 1), ps( 1).
Помощь (help). В настоящее время данное значение распространено меньше, чем можно ожидать. В большинстве случаев разработчики ранней Unix считали справку лишней тратой памяти, которую они не могли себе позволить. Вместо этого они создавали страницы руководства (что определенным способом сформировало соответствующий стиль справочных руководств в Unix, см. главу 18).
Инициализировать (initialize) (обычно без аргумента). Устанавливает некоторый критический ресурс или базу данных, связанную с программой, в первоначальное или пустое состояние. Пример: ci(1) в RCS.
Диалоговый (интерактивный (interactive)) режим (обычно без аргумента). Заставляет программу (которая обычно этого не делает) запрашивать подтверждение выполняемых операций. Существуют классические примеры (гт( 1), mv( 1)), однако данное значение не является общепринятым.
Включить (include) (с аргументом). Добавляет имя файла или каталога в список просматриваемых приложением ресурсов. Все Unix-компиляторы
Хранить (keep) (с аргументом). Подавляет обычное удаление какого-либо файла, сообщения или ресурса. Примеры: passwd( 1), bzip( 1) и fetchmail( 1).
Иногда ключ -к имеет значение "kill" (уничтожить, завершить).
L
Вывести список (list) (без аргумента). Если разрабатываемая программа является архиватором или интерпретатором/программой просмотра для какого-либо каталога или архива, то было бы очень неожиданно использовать ключ -1 для действий, отличных от запроса списка объектов. Примеры: агс(1), binhex( 1), unzip( 1). (Утилиты tar( 1) и cpio( 1) являются исключениями.) В программах, которые уже являются генераторами отчетов, ключ -1 почти без исключений означает "long" (длинный) и отображает список в длинном формате, где открываются более подробные сведения по сравнению со стандартным режимом. Примеры: ls(1), ps(1).
Загрузить (load) (с аргументом). Если программа является компоновщиком или интерпретатором языка, то ключ -1 неизменно загружает библиотеку в некотором соответствующем состоянии. Примеры: gcc(1),f77(1), emacs(1).
Регистрация в системе (login). В таких программах, как rlogin(1) и ssh(1), в которых необходимо указать сеть, это можно сделать с помощью ключа -1.
Иногда -1 имеет значение "length" (длина, длительность) или "lock" (блокировка).
– si
Сообщение (message) (с аргументом). Ключ -ш передает свой аргумент в программу как строку сообщения для протоколирования или извещения. Примеры: ci(1), cvs(1).
Иногда ключ -ш имеет значение "mail" (почта), "mode" (режим) или "modification-time" (время изменения).
– n
Число (number) (с аргументом). Используется, например, для указания диапазонов номеров страниц в таких программах, как head(1), tail(1), nroff(1) и troff (1). Некоторые сетевые инструменты, обычно отображающие DNS-имена, принимают ключ -п как параметр, который вызывает отображение IP-адресов вместо имен. Основные примеры: ifconfig( 1) и tcpdump(1).
Нет (not) (без аргумента). Используется для подавления обычных действий в таких программах, как make(1).
– о
Вывод (output) (с аргументами). Используется для того, чтобы указать программе в командной строке выходной файл или устройство по имени. Примеры: as(1), сс(1), sort(1). Во всех программах с интерфейсами, подобными интерфейсу компилятора, было бы крайне неожиданно увидеть иное использование данного параметра. Программы, поддерживающие ключ -о часто (как gcc) имеют логику, которая позволяет опознавать его как после обычных аргументов, так и перед ними.