Интерфейс командной строки
Интерфейс командной строки ( CLI ) — это средство взаимодействия с компьютерной программой путем ввода строк текста, называемых командными строками . Интерфейсы командной строки появились в середине 1960-х годов на компьютерных терминалах как интерактивная и более удобная альтернатива неинтерактивному интерфейсу, доступному с перфокартами. [1] .
Сегодня большинство пользователей компьютеров полагаются на графические пользовательские интерфейсы («GUI») вместо CLI. Однако многие программы и операционной системы утилиты не имеют графического пользовательского интерфейса и предназначены для использования через интерфейс командной строки.
Знание CLI также полезно для написания скриптов . Программы с интерфейсом командной строки обычно легко автоматизировать с помощью сценариев, поскольку командные строки, представляющие собой простые строки текста, легко указать в коде.
Интерфейсы командной строки становятся возможными благодаря интерпретаторам командной строки или процессорам командной строки , которые представляют собой программы, которые читают командные строки и выполняют команды.
Альтернативы CLI включают графические интерфейсы (в первую очередь метафоры рабочего стола с указателем мыши , такие как Microsoft Windows ), текстовые меню пользовательского интерфейса (такие как DOS Shell и IBM AIX SMIT ) и сочетания клавиш .
Сравнение с графическими пользовательскими интерфейсами
[ редактировать ]По сравнению с графическим интерфейсом пользователя, интерфейс командной строки требует меньше системных ресурсов для реализации. Поскольку параметры команд задаются несколькими символами в каждой командной строке, опытному пользователю часто легче получить доступ к этим параметрам. Автоматизация повторяющихся задач упрощается за счет редактирования строк и механизмов истории для хранения часто используемых последовательностей; это может распространяться на язык сценариев , который может принимать параметры и переменные параметры. Можно сохранить историю командной строки, что позволяет просматривать или повторять команды.
Для системы командной строки могут потребоваться бумажные или онлайн-руководства для справки, хотя часто опция справки обеспечивает краткий обзор параметров команды. Среда командной строки может не обеспечивать графические улучшения, такие как различные шрифты или расширенные окна редактирования, имеющиеся в графическом интерфейсе. Новому пользователю может быть сложно ознакомиться со всеми доступными командами и опциями по сравнению со значками и раскрывающимися меню графического пользовательского интерфейса без обращения к руководствам.
Типы
[ редактировать ]Интерфейсы командной строки операционной системы
[ редактировать ]Интерфейсы командной строки операционной системы (ОС) обычно представляют собой отдельные программы, поставляемые вместе с операционной системой. Программу, реализующую такой текстовый интерфейс, часто называют интерпретатором командной строки, командным процессором или оболочкой .
Примеры интерпретаторов командной строки включают DEC DIGITAL Command Language (DCL) в OpenVMS и RSX-11 , различные оболочки Unix ( sh , ksh , csh , tcsh , zsh , Bash и т. д.), CP/M , CCP DOS . COMMAND.COM , причем , а также для OS/2 и Windows программы CMD.EXE последние группы в значительной степени основаны на интерфейсах командной строки DEC RSX-11 и RSTS . В большинстве операционных систем можно заменить программу оболочки по умолчанию альтернативными вариантами; примеры включают 4DOS для DOS, 4OS2 для OS/2 и 4NT / Take Command для Windows.
Хотя термин «оболочка» часто используется для описания интерпретатора командной строки, строго говоря, «оболочкой» может быть любая программа, образующая пользовательский интерфейс, включая полностью графически ориентированные. Например, графический интерфейс Windows по умолчанию — это программа оболочки с именем EXPLORER.EXE , как определено в строке SHELL=EXPLORER.EXE в файле конфигурации WIN.INI. Эти программы являются оболочками, а не интерфейсом командной строки.
Интерфейсы командной строки приложения
[ редактировать ]Прикладные программы (в отличие от операционных систем) также могут иметь интерфейсы командной строки.
Прикладная программа может не поддерживать ни один, ни один, ни все из этих трех основных типов механизмов интерфейса командной строки:
- Параметры : большинство интерфейсов командной строки поддерживают средства передачи дополнительной информации программе при ее запуске.
- Интерактивные сеансы командной строки . После запуска программа может предоставить оператору независимые средства для ввода команд.
- Межпроцессное взаимодействие . Большинство операционных систем поддерживают средства межпроцессного взаимодействия (например, стандартные потоки или именованные каналы ). Командные строки из клиентских процессов можно перенаправить в программу CLI одним из этих методов.
Некоторые приложения поддерживают CLI, предоставляя пользователю собственную подсказку и принимая командные строки. Другие программы поддерживают как CLI, так и GUI. В некоторых случаях графический интерфейс представляет собой просто оболочку отдельного исполняемого файла CLI . В других случаях программа может предоставлять CLI в качестве дополнительной альтернативы графическому интерфейсу. Интерфейсы командной строки и графические интерфейсы часто поддерживают разные функции. Например, все функции MATLAB , компьютерной программы численного анализа , доступны через CLI, тогда как графический интерфейс MATLAB предоставляет только подмножество функций.
В Colossal Cave Adventure 1975 года пользователь использует интерфейс командной строки, чтобы ввести одно или два слова для исследования системы пещер.
История
[ редактировать ]Интерфейс командной строки развился из формы общения, осуществляемой людьми через телетайпы (TTY). Иногда это включало отправку приказа или подтверждения по телексу . Ранние компьютерные системы часто использовали телетайп как средство взаимодействия с оператором.
Механический телетайп был заменен «стеклянным терминалом» , клавиатурой и экраном, имитирующим телетайп. «Умные» терминалы допускали дополнительные функции, такие как перемещение курсора по всему экрану или локальное редактирование данных на терминале для передачи на компьютер. Поскольку революция микрокомпьютеров заменила традиционную архитектуру разделения времени (миникомпьютер + терминалы) , аппаратные терминалы были заменены эмуляторами терминалов ПК — программным обеспечением для ПК, которое интерпретировало сигналы терминала, передаваемые через последовательные порты . Обычно они использовались для сопряжения новых ПК организации с существующими мини- или мейнфреймами или для соединения ПК с ПК. На некоторых из этих компьютеров было установлено программное обеспечение Bulletin Board System .
Интерфейсы командной строки ранних операционных систем были реализованы как часть программ резидентного мониторинга , и их было нелегко заменить. Первая реализация оболочки в качестве сменного компонента была частью Multics разделения времени операционной системы . [2] В 1964 году вычислительного центра Массачусетского технологического института сотрудник Луи Пузен разработал инструмент RUNCOM для выполнения командных сценариев с возможностью замены аргументов. [3] Пузен ввел термин «оболочка» для описания техники использования команд наподобие языка программирования и написал статью о том, как реализовать эту идею в операционной системе Multics . [4] Пузен вернулся в родную Францию в 1965 году, а первый снаряд Multics разработала Гленда Шредер . [3]
Первая оболочка Unix , оболочка V6 , была разработана Кеном Томпсоном в 1971 году в Bell Labs и была смоделирована по образцу оболочки Multics Шрёдера. [5] [6] Оболочка Bourne была представлена в 1977 году в качестве замены оболочки V6. Хотя он используется в качестве интерактивного интерпретатора команд, он также задумывался как язык сценариев и содержит большинство функций, которые обычно используются для создания структурированных программ. Оболочка Bourne привела к разработке оболочки KornShell (ksh), оболочки Almquist (ash) и популярной оболочки Bourne-again (или Bash). [6]
Сами ранние микрокомпьютеры были основаны на интерфейсе командной строки, таком как CP/M , DOS или AppleSoft BASIC . В 1980-х и 1990-х годах с появлением Apple Macintosh и Microsoft Windows на ПК интерфейс командной строки стал основным пользовательским интерфейсом, замененным графическим пользовательским интерфейсом . [7] Командная строка оставалась доступной в качестве альтернативного пользовательского интерфейса, часто используемого системными администраторами и другими опытными пользователями для системного администрирования, компьютерного программирования и пакетной обработки .
В ноябре 2006 года Microsoft выпустила версию 1.0 Windows PowerShell (ранее под кодовым названием Monad ), которая объединила функции традиционных оболочек Unix с собственной объектно-ориентированной .NET Framework . MinGW и Cygwin — это пакеты с открытым исходным кодом для Windows, предлагающие Unix-подобный интерфейс командной строки. Microsoft предоставляет MKS Inc. от ksh реализацию оболочки MKS Korn для Windows через Services for UNIX надстройку .
С 2001 года Macintosh операционная система macOS основана на Unix-подобной операционной системе под названием Darwin . [8] На этих компьютерах пользователи могут получить доступ к Unix-подобному интерфейсу командной строки, запустив программу эмулятора терминала под названием Terminal , которая находится в подпапке «Утилиты» папки «Приложения», или удаленно войдя в систему с помощью ssh . Оболочка Z — оболочка по умолчанию для macOS; Bash, tcsh и KornShell Также предоставляются . До macOS Catalina по умолчанию использовался Bash.
Использование
[ редактировать ]Интерфейс командной строки используется всякий раз, когда большой словарь команд или запросов в сочетании с широким (или произвольным) набором параметров может быть введен быстрее в виде текста, чем с помощью чистого графического интерфейса. Обычно это происходит с командными оболочками операционной системы . Интерфейсы командной строки также используются системами, у которых недостаточно ресурсов для поддержки графического пользовательского интерфейса. Некоторые системы компьютерного языка (такие как Python , Forth , LISP , Rexx и многие диалекты BASIC ) предоставляют интерактивный режим командной строки, позволяющий быстро оценить код. [9] .
Интерфейсы командной строки часто используются программистами и системными администраторами в инженерной и научной среде, а также технически продвинутыми пользователями персональных компьютеров. Интерфейсы командной строки также популярны среди людей с нарушениями зрения, поскольку команды и ответы могут отображаться с помощью обновляемых дисплеев Брайля .
Анатомия оболочки CLI
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( Июль 2015 г. ) |
Общий шаблон интерфейса командной строки [10] [11] является:
Prompt command param1 param2 param3 … paramN
- Подсказка — генерируется программой для предоставления пользователю контекста.
- Команда — предоставляется пользователем. Команды обычно относятся к одному из двух классов:
- Внутренние команды распознаются и обрабатываются интерпретатором командной строки. Внутренние команды также называются встроенными командами. [12] .
- Внешние команды запускают исполняемые файлы, находящиеся в отдельных исполняемых файлах. Интерпретатор командной строки ищет исполняемые файлы с именами, соответствующими внешней команде. [13] [14] .
- param1 …paramN — параметры, предоставленные пользователем. Формат и значение параметров зависят от команды. В случае Внешних команд значения параметров передаются программе при ее запуске ОС. Параметры могут быть либо аргументами , либо опциями .
В этом формате разделителями между элементами командной строки являются пробелы , а разделителем конца строки является разделитель новой строки . Это широко используемое (но не универсальное) соглашение.
CLI обычно можно рассматривать как состоящий из синтаксиса и семантики . Синтаксис — это грамматика , которой должны следовать все команды. В случае операционных систем DOS и Unix определяют свой собственный набор правил, которым должны следовать все команды. В случае встроенных систем каждый поставщик, например Nortel , Juniper Networks или Cisco Systems , определяет свой собственный набор правил. Эти правила также определяют, как пользователь перемещается по системе команд. Семантика определяет , какие операции возможны, над какими данными эти операции могут выполняться и как грамматика представляет эти операции и данные — символическое значение в синтаксисе.
Два разных CLI могут согласовываться либо по синтаксису, либо по семантике, но только если они согласны в обоих случаях, их можно считать достаточно схожими, чтобы позволить пользователям использовать оба CLI без необходимости чему-либо изучать, а также обеспечить возможность повторного использования сценариев. .
Простой интерфейс командной строки отобразит приглашение, примет командную строку, введенную пользователем и завершенную клавишей Enter , затем выполнит указанную команду и обеспечит текстовое отображение результатов или сообщений об ошибках. Расширенные интерфейсы командной строки будут проверять, интерпретировать и расширять параметры командной строки перед выполнением указанной команды, а также, при необходимости, захватывать или перенаправлять ее выходные данные.
В отличие от кнопки или пункта меню в графическом интерфейсе, командная строка обычно является самодокументируемой и точно указывает, что именно хочет сделать пользователь. Кроме того, командные строки обычно содержат множество значений по умолчанию , которые можно изменить для настройки результатов. Полезные командные строки можно сохранить, назначив строку символов или псевдоним для представления полной команды, или можно сгруппировать несколько команд для выполнения более сложной последовательности — например, скомпилировать программу, установить ее и запустить — создавая единый объект. , называемый командной процедурой или сценарием, который сам по себе можно рассматривать как команду. Эти преимущества означают, что пользователю необходимо определить сложную команду или серию команд только один раз, поскольку их можно сохранить и использовать снова.
Команды, передаваемые оболочке CLI, часто имеют одну из следующих форм:
- doSomething how toFiles
- doSomething how sourceFile destinationFile
- doSomething how < inputFile > outputFile
- doSomething how | doSomething how | doSomething how > outputFile
где doSomething — это, по сути, глагол , как наречие тихо (например, должна ли команда выполняться подробно или объект ) и toFiles — или объекты (обычно один или несколько файлов), на которые должна действовать команда. >
в третьем примере — оператор перенаправления , сообщающий интерпретатору командной строки отправлять вывод команды не на его собственный стандартный вывод (экран), а в указанный файл. Это перезапишет файл. С использованием >>
перенаправит вывод и добавит его в файл. Еще один оператор перенаправления — вертикальная черта ( |
), который создает конвейер , в котором выходные данные одной команды становятся входными данными для следующей команды. [15] .
CLI и защита ресурсов
[ редактировать ]Можно изменить набор доступных команд, изменив пути, отображаемые в переменной среды PATH . В Unix команды также необходимо помечать как исполняемые файлы. Каталоги в переменной пути просматриваются в том порядке, в котором они указаны. Изменив порядок пути, можно запустить, например, \OS2\MDOS\E.EXE вместо \OS2\E.EXE, если по умолчанию установлено обратное. Переименование исполняемых файлов также работает: люди часто переименовывают свой любимый редактор, например, в EDIT.
Командная строка позволяет ограничить доступные команды, например доступ к расширенным внутренним командам. Это делает Windows CMD.EXE . Часто условно-бесплатные программы ограничивают диапазон команд, включая вывод из командной строки команды «ваш администратор запретил запуск пакетных файлов». [ нужны разъяснения ]
Некоторые интерфейсы командной строки, например, в сетевых маршрутизаторах , имеют иерархию режимов , в каждом режиме поддерживается свой набор команд. Набор команд сгруппирован по ассоциации с безопасностью, системой, интерфейсом и т. д. В этих системах пользователь может проходить через ряд подрежимов. Например, если бы в CLI было два режима, называемые интерфейсом и системой , пользователь мог бы использовать командный интерфейс для входа в режим интерфейса. На этом этапе команды из системного режима могут быть недоступны, пока пользователь не выйдет из режима интерфейса и не войдет в системный режим.
Командная строка
[ редактировать ]Командная строка (или просто приглашение ) — это последовательность (одного или нескольких) символов, используемая в интерфейсе командной строки для обозначения готовности принимать команды. Он буквально побуждает пользователя совершить действие. Подсказка обычно заканчивается одним из символов $
, %
, #
, [16] [17] :
, >
или -
[18] и часто включает в себя другую информацию, например путь к текущему рабочему каталогу и имя хоста .
Во многих Unix и производных системах приглашение обычно заканчивается на $
или %
если пользователь является обычным пользователем, но в #
если пользователь является суперпользователем («root» в терминологии Unix).
Конечные пользователи часто могут изменять подсказки. В зависимости от среды они могут включать цвета, специальные символы и другие элементы (например, переменные и функции для текущего времени, пользователя, номера оболочки или рабочего каталога), чтобы, например, сделать приглашение более информативным или визуально приятным. чтобы различать сеансы на разных машинах или указывать текущий уровень вложенности команд. В некоторых системах можно использовать специальные токены в определении приглашения, чтобы интерпретатор командной строки вызывал внешние программы во время отображения приглашения.
в Windows NT В COMMAND.COM DOS и cmd.exe пользователи могут изменить приглашение, выдав команду PROMPT
командой или напрямую изменив значение соответствующего %PROMPT%
переменная среды . По умолчанию в большинстве современных систем C:\>
стиль получается, например, с помощью PROMPT $P$G
. По умолчанию в старых системах DOS C>
получается всего за PROMPT
, хотя в некоторых системах это создает более новую версию C:\>
стиль, если он не используется на дисководах A: или B:; в этих системах PROMPT $N$G
может использоваться для переопределения автоматического значения по умолчанию и явного переключения на старый стиль.
Многие системы Unix имеют $PS1
переменная (строка подсказки 1), [19] хотя на приглашение могут влиять и другие переменные (в зависимости от используемой оболочки ). В оболочке Bash появится приглашение вида:
[time] user@host: work_dir $
можно установить, введя команду
export PS1='[\t] \u@\H: \W $'
В ЗШ $RPROMPT
Переменная управляет дополнительным приглашением в правой части экрана. Это не настоящая подсказка, поскольку место ввода текста не меняется. Он используется для отображения информации в той же строке, что и приглашение, но с выравниванием по правому краю.
В ОС RISC командная строка представляет собой *
символ, и поэтому команды CLI (ОС) часто называют звездообразными командами . [20] Можно также получить доступ к тем же командам из других командных строк (например, командной строки BBC BASIC ), поставив перед командой знак *
.
Аргументы
[ редактировать ]Аргумент командной строки или параметр — это элемент информации, предоставляемый программе при ее запуске. [21] . Программа может иметь множество аргументов командной строки, которые определяют источники или места назначения информации или изменяют работу программы.
Когда командный процессор активен, программа обычно вызывается путем ввода его имени, за которым следуют аргументы командной строки (если таковые имеются). Например, в Unix и Unix-подобных средах пример аргумента командной строки:
rm file.s
file.s
— это аргумент командной строки, который сообщает программе rm удалить файл с именем file.s
.
Некоторые языки программирования, такие как C , C++ и Java , позволяют программе интерпретировать аргументы командной строки, обрабатывая их как строковые параметры в основной функции. [22] [23] . Другие языки, такие как Python , предоставляют специфичный для операционной системы API (функциональность) через sys
модуль , и в частности sys.argv
для аргументов командной строки .
В Unix-подобных операционных системах один дефис, используемый вместо имени файла, представляет собой специальное значение, указывающее, что программа должна обрабатывать данные, поступающие со стандартного ввода, или отправлять данные на стандартный вывод .
Параметр командной строки
[ редактировать ]Параметр командной строки или просто параметр (также известный как флаг или переключатель ) изменяет работу команды; эффект определяется программой команды. Параметры следуют за именем команды в командной строке, разделенными пробелами. Пробел перед первым вариантом не всегда требуется, например Dir/?
и DIR /?
в DOS, которые имеют тот же эффект [18] списка доступных опций команды DIR, тогда как dir --help
(во многих версиях Unix) требует , чтобы перед опцией стоял хотя бы один пробел (и учитывается регистр).
Формат параметров сильно различается в зависимости от операционной системы. В большинстве случаев синтаксис является соглашением, а не требованием операционной системы; вся командная строка — это просто строка, передаваемая в программу, которая может обрабатывать ее любым способом, который захочет программист, при условии, что интерпретатор может определить, где заканчивается имя команды и начинаются ее аргументы и параметры.
Несколько типичных примеров параметров командной строки, относящихся к перечислению файлов в каталоге, для иллюстрации некоторых соглашений:
Операционная система | Команда | Действительная альтернатива | Примечания |
---|---|---|---|
OpenVMS | directory/owner |
Dir /Owner |
указать команде каталога также отображать владельца файлов. Обратите внимание, что имя команды каталога не чувствительно к регистру и может быть сокращено до необходимого количества букв, чтобы сохранить уникальность. |
Окна | DIR/Q/O:S d* |
dir /q d* /o:s |
отображать право собственности на файлы, имена которых начинаются с «D», отсортированные по размеру, начиная с наименьшего. Обратите внимание, что пробелы вокруг аргумента d* обязательны. |
Unix-подобные системы | ls -lS D* |
ls -S -l D* |
отображение файлов и каталогов длинного формата, начинающихся с «D» (но не «d»), отсортированных по размеру (сначала самый большой). Вокруг всех аргументов и опций требуются пробелы, но некоторые из них можно использовать вместе, например, -lS совпадает с -l -S . |
Общие данные RDOS CLI | list/e/s 04-26-80/b |
List /S/E 4-26-80/B |
перечислите все атрибуты файлов, созданных до 26 апреля 1980 г. Обратите внимание, что /B в конце аргумента даты — это локальный переключатель , который изменяет значение этого аргумента, тогда как /S и /E являются глобальными переключателями , то есть применяются ко всей команде. |
Сокращение команд
[ редактировать ]В Multics параметры командной строки и ключевые слова подсистемы могут быть сокращены. Эта идея, по-видимому, заимствована из языка программирования PL/I с его сокращенными ключевыми словами (например, STRG для STRINGRANGE и DCL для DECLARE). Например, в форума подсистеме Multics параметр -long_subject может быть сокращенно -lgsj . Команды Multics также часто сокращаются, обычно соответствующие начальным буквам слов, которые соединяются вместе с подчеркиванием для формирования имен команд, например, использование Did для delete_iacl_dir .
В некоторых других системах сокращения выполняются автоматически, например, допускается достаточное количество первых символов имени команды, чтобы однозначно идентифицировать ее (например, SU
как сокращение от SUPERUSER
), в то время как в других могут быть заранее запрограммированы определенные сокращения (например, MD
для MKDIR
в COMMAND.COM) или определяется пользователем с помощью пакетных сценариев и псевдонимов (например, alias md mkdir
в тчш ).
Соглашения об опциях в DOS, Windows, OS/2
[ редактировать ]В DOS, OS/2 и Windows разные программы, вызываемые из их COMMAND.COM или CMD.EXE (или их внутренних команд), могут использовать разный синтаксис в одной и той же операционной системе. Например:
- Опции могут обозначаться любым из символов-переключателей :
/
,-
, или любое из них может быть разрешено. См. ниже. - Они могут быть чувствительными к регистру, а могут и не учитываться .
- Иногда параметры и их аргументы выполняются вместе, иногда разделяются пробелами, а иногда символом, обычно
:
или=
; таким образомProg -fFilename
,Prog -f Filename
,Prog -f:Filename
,Prog -f=Filename
. - Некоторые программы позволяют комбинировать односимвольные параметры; [18] другие этого не делают. Переключатель
-fA
может означать то же самое, что и-f -A
, [18] или это может быть неправильный параметр, или это может быть даже допустимый, но другой параметр.
В DOS , OS/2 и Windows косая черта ( /
) наиболее распространен, хотя иногда используется и дефис-минус. Во многих версиях DOS (MS-DOS/PC DOS 2.xx и выше, во всех версиях DR-DOS начиная с 5.0, а также в PTS-DOS , Embedded DOS , FreeDOS и RxDOS ) символ переключателя (иногда сокращенно Switchar или Switchchar) ), который будет использоваться, определяется значением, возвращаемым системным вызовом ( INT 21h /AX=3700h). Символ по умолчанию, возвращаемый этим API: /
, но его можно изменить на дефис-минус в вышеупомянутых системах, за исключением Datalight ROM-DOS и MS-DOS/PC DOS 5.0 и выше, которые всегда возвращают /
из этого вызова (если не загружен один из многих доступных TSR для повторного включения функции SwitChar). В некоторых из этих систем (MS-DOS/PC DOS 2.xx, DOS Plus 2.1, DR-DOS 7.02 и выше, PTS-DOS, Embedded DOS, FreeDOS и RxDOS) этот параметр также можно предварительно настроить с помощью SWITCHAR. директива в CONFIG.SYS . Встроенная DOS компании General Software предоставляет команду SWITCH для той же цели, тогда как 4DOS позволяет изменять настройку с помощью SETDOS /W:n
. [24] В DR-DOS, если настройка была изменена с /
, первый разделитель каталогов \
на дисплее PROMPT параметра $G
изменится на косую черту /
(который также является допустимым разделителем каталогов в DOS, FlexOS, 4680 OS, 4690 OS, OS/2 и Windows), тем самым служа визуальной подсказкой, указывающей на изменение. [18] Кроме того, текущие настройки отображаются на встроенных экранах справки. [18] Некоторые версии DR-DOS COMMAND.COM также поддерживают токен PROMPT. $/
для отображения текущей настройки. COMMAND.COM, начиная с DR-DOS 7.02, также предоставляет переменную псевдосреды с именем %/%
чтобы можно было писать переносимые пакетные задания. [25] [26] Несколько внешних команд DR-DOS дополнительно поддерживают переменную среды. %SWITCHAR%
для отмены системных настроек.
Однако многие программы запрограммированы на использование /
только вместо того, чтобы получать настройку переключателя перед анализом аргументов командной строки. Очень небольшое количество портов, в основном из Unix-подобных систем, запрограммировано на прием «-», даже если для него не установлен символ переключения (например, netstat
и ping
, поставляемый с Microsoft Windows , принимает /? опция для вывода списка доступных опций, но в списке будет указано соглашение «-»).
Соглашения об опциях в Unix-подобных системах
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( Июль 2021 г. ) |
В Unix-подобных ASCII с дефиса-минус системах опции начинаются ; новое соглашение (и GNU ) заключается в использовании двух дефисов, а затем слова (например, --create
), чтобы определить использование опции, в то время как по старому соглашению (и все еще доступному в качестве опции для часто используемых опций) используется один дефис, а затем одна буква (например, -c
); если за одним дефисом следуют две или более буквы, это может означать, что указаны две опции, или это может означать, что вторая и последующие буквы являются параметром (например, именем файла или датой) для первой опции. [27]
Два символа дефис-минус без следующих букв ( --
) может указывать, что остальные аргументы не следует рассматривать как параметры, что полезно, например, если имя файла начинается с дефиса или если дополнительные аргументы предназначены для внутренней команды (например, sudo ). Двойной дефис-минус также иногда используется для префикса длинных опций , где используются более описательные имена опций. Это общая особенность программного обеспечения GNU . Функция и программа getopt , а также команда getopts обычно используются для анализа параметров командной строки.
Имена, аргументы и параметры команд Unix чувствительны к регистру (за исключением нескольких примеров, в основном когда популярные команды из других операционных систем были перенесены в Unix).
Соглашения об опционах в других системах
[ редактировать ] FlexOS , ОС 4680 и ОС 4690 Использование -
.
CP/M Обычно используется [
.
Система диалогового мониторинга (CMS) использует одну левую скобку , чтобы отделить параметры в конце команды от других аргументов. Например, в следующей команде параметры указывают, что целевой файл должен быть заменен, если он существует, а дата и время исходного файла должны быть сохранены в копии:
COPY source file a target file b (REPLACE OLDDATE)
Интерфейс командной строки Data General в своих операционных системах RDOS , AOS и т. д., а также версия CLI, поставляемая с их Business Basic , использует только /
в качестве символа переключателя, не чувствителен к регистру и позволяет локальным переключателям некоторых аргументов контролировать способ их интерпретации, например: MAC/U LIB/S A B C $LPT/L
есть глобальная опция U
к команде макроассемблера для добавления пользовательских символов, но два локальных переключателя, один для указания LIB, следует пропустить на этапе 2, а другой для прямого вывода на принтер, $LPT.
Встроенная помощь по использованию
[ редактировать ]Одним из критических замечаний к CLI является отсутствие подсказок пользователю о доступных действиях. [ нужна ссылка ] Напротив, графические интерфейсы обычно информируют пользователя о доступных действиях с помощью меню, значков или других визуальных подсказок. [ нужна ссылка ] Чтобы преодолеть это ограничение, многие программы CLI отображают сообщение об использовании , обычно при вызове без аргументов или с одним из ?
, -?
, -h
, -H
, /?
, /h
, /H
, /Help
, -help
, или --help
. [18] [28] [29]
Однако ввод имени программы без параметров в надежде, что оно отобразит справку по использованию, может быть опасным, поскольку программы и сценарии, для которых аргументы командной строки являются необязательными, будут выполняться без дальнейшего уведомления.
Хотя желательно, по крайней мере, для параметра справки, программы могут не поддерживать все начальные символы параметров, приведенные выше.
В DOS, где символ параметра командной строки по умолчанию можно изменить с /
к -
, программы могут запрашивать API SwitChar , чтобы определить текущую настройку. Таким образом, если программа не поддерживает их все, пользователю может потребоваться знать текущие настройки даже для того, чтобы иметь возможность надежно запросить помощь.
Если SwitChar был изменен на -
и поэтому /
символ принимается в качестве альтернативного разделителя пути также в командной строке DOS, программы могут неправильно интерпретировать такие параметры, как /h
или /H
как пути, а не справочные параметры. [18] Однако, если он указан в качестве первого или единственного параметра, большинство программ DOS по соглашению примут его как запрос о помощи независимо от текущей настройки SwitChar. [18] [24]
В некоторых случаях для программы можно выбрать разные уровни помощи. Некоторые программы, поддерживающие это, позволяют указывать уровень детализации в качестве необязательного аргумента параметра справки (как в /H:1
, /H:2
и т. д.), или они дают лишь краткую справку по параметрам справки со знаком вопроса и более длинный экран справки по другим параметрам справки. [30]
В зависимости от программы иногда доступна дополнительная или более конкретная справка по принятым параметрам путем предоставления рассматриваемого параметра в качестве аргумента параметра справки или наоборот (как в /H:W
или в /W:?
(при условии /W
был бы еще один параметр, поддерживаемый программой)). [31] [32] [29] [28] [30] [номер 1]
Аналогично параметру help, но гораздо реже, некоторые программы предоставляют дополнительную информацию о себе (например, режим, статус, версию, автора, лицензию или контактную информацию) при вызове с параметром about, например -!
, /!
, -about
, или --about
. [28]
Поскольку ?
и !
символы обычно также служат другим целям в командной строке, они могут быть доступны не во всех сценариях, поэтому они не должны быть единственными вариантами доступа к соответствующей справочной информации.
Если необходима более подробная справка, чем та, которую предоставляет встроенная внутренняя справка программы, многие системы поддерживают специальную внешнюю справку. help command
"команда (или подобная), которая принимает имя команды в качестве вызывающего параметра и вызывает внешнюю справочную систему.
В семействе DR-DOS набрав /?
или /H
в командной строке COMMAND.COM вместо самой команды будет отображаться динамически создаваемый список доступных внутренних команд; [18] 4DOS и NDOS поддерживают одну и ту же функцию, набрав ?
по подсказке [24] (который также поддерживается более новыми версиями DR-DOS COMMAND.COM); внутренние команды можно индивидуально отключить или повторно включить с помощью SETDOS /I
. [24] В дополнение к этому, некоторые новые версии DR-DOS COMMAND.COM также принимают ?%
Команда для отображения списка доступных встроенных переменных псевдосреды . Помимо использования в качестве быстрой справки, его можно использовать в пакетных заданиях для запроса возможностей базового процессора командной строки. [18]
Синтаксис описания команды
[ редактировать ]Встроенная справка по использованию и страницы руководства обычно используют небольшой синтаксис для описания допустимой формы команды: [33] [34] [35] [номер 2]
- угловые скобки для необходимых параметров:
ping <hostname>
- квадратные скобки для необязательных параметров:
mkdir [-p] <dirname>
- эллипсы для повторяющихся элементов:
cp <source1> [source2…] <dest>
- вертикальные полосы для выбора предметов:
netstat {-t|-u}
Обратите внимание, что эти символы имеют другое значение, чем при использовании непосредственно в оболочке. Угловые скобки можно опустить, если вероятность перепутать имя параметра с строкой литерала мала.
Космический персонаж
[ редактировать ]Во многих областях вычислений, но особенно в командной строке, символ пробела может вызвать проблемы, поскольку он выполняет две разные и несовместимые функции: как часть команды или параметра или как параметр или разделитель имени . Неоднозначность можно предотвратить, запретив в первую очередь вставленные пробелы в именах файлов и каталогов (например, заменив их символами подчеркивания). _
), или заключив имя со встроенными пробелами между кавычками, или используя escape-символ перед пробелом, обычно обратную косую черту ( \
). Например
Long path/Long program name Parameter one Parameter two
…
неоднозначно ( имя программы является частью имени программы или двумя параметрами?); однако
Long_path/Long_program_name Parameter_one Parameter_two
…,LongPath/LongProgramName ParameterOne ParameterTwo
…,"Long path/Long program name" "Parameter one" "Parameter two"
…
и
Long\ path/Long\ program\ name Parameter\ one Parameter\ two
…
не являются двусмысленными. Операционные системы на базе Unix сводят к минимуму использование встроенных пробелов, чтобы свести к минимуму потребность в кавычках. В Microsoft Windows часто приходится использовать кавычки, поскольку вложенные пробелы (например, в именах каталогов) являются обычным явлением.
Интерпретатор командной строки
[ редактировать ]Хотя большинство пользователей думают об оболочке как об интерактивном интерпретаторе команд, на самом деле это язык программирования, в котором каждый оператор запускает команду. Поскольку он должен удовлетворять как интерактивным, так и программным аспектам выполнения команд, это странный язык, сформированный как историей, так и дизайном.
Термин «интерпретатор командной строки» ( CLI ) применяется к компьютерным программам, предназначенным для интерпретации последовательности строк текста, который может быть введен пользователем, прочитан из файла или другого типа потока данных . Контекст интерпретации обычно представляет собой конкретную операционную систему или язык программирования .
Интерпретаторы командной строки позволяют пользователям очень эффективно (и часто кратко) вводить различные команды. Для этого пользователю необходимо знать имена команд и их параметров, а также синтаксис языка интерпретируемого .
Юникс #!
Механизм и команда OS/2 EXTPROC облегчают передачу пакетных файлов на внешние процессоры. Эти механизмы можно использовать для написания конкретных командных процессоров для специального использования и обработки внешних файлов данных, которые находятся в пакетных файлах.
OS/2 Многие графические интерфейсы, такие как Менеджер презентаций и ранние версии Microsoft Windows, используют командные строки для вызова вспомогательных программ для открытия документов и программ. Команды хранятся в графической оболочке [ нужны разъяснения ] или в файлах, таких как реестр или OS/2 OS2USER.INI
файл.
Ранняя история
[ редактировать ]Самые ранние компьютеры не поддерживали интерактивные устройства ввода/вывода, часто полагаясь на сенсорные переключатели и световые индикаторы для связи с оператором компьютера . Этого было достаточно для пакетных систем, в которых одновременно выполнялась одна программа, часто с программистом в роли оператора. Преимущество этого также заключалось в низких накладных расходах, поскольку освещение и выключатели можно было тестировать и настраивать с помощью одной машинной инструкции. Позже была добавлена единая системная консоль , позволяющая оператору общаться с системой.
Начиная с 1960-х годов взаимодействие пользователя с компьютерами осуществлялось в основном посредством интерфейсов командной строки, сначала на таких машинах, как Teletype Model 33 ASR, а затем на ранних ЭЛТ на базе компьютерных терминалах , таких как VT52 .
Все эти устройства были чисто текстовыми, без возможности отображать графику или изображения. [номер 3] Для бизнес- приложений использовались текстовые меню , но для более общего взаимодействия интерфейсом была командная строка.
Примерно в 1964 году Луи Пузен представил концепцию и название оболочки в Multics , основываясь на более ранних, более простых возможностях совместимой системы разделения времени (CTSS). [37] [ нужен лучший источник ]
С начала 1970-х годов операционная система Unix адаптировала концепцию мощной среды командной строки и представила возможность передавать выходные данные одной команды в качестве входных данных для другой. В Unix также была возможность сохранять и повторно запускать строки команд в виде сценариев оболочки , которые действовали как пользовательские команды.
Командная строка была также основным интерфейсом для первых домашних компьютеров, таких как Commodore PET , Apple II и BBC Micro – почти всегда в форме интерпретатора BASIC . Когда появились более мощные микрокомпьютеры, ориентированные на бизнес, с компьютерами CP/M и более поздними версиями DOS , такими как IBM PC , командная строка начала заимствовать некоторые синтаксисы и функции оболочек Unix, такие как подстановка и конвейеризация вывода.
Командная строка впервые столкнулась с серьезным вызовом со стороны подхода PARC GUI , использованного в Apple Lisa 1983 года и Apple Macintosh 1984 года . Некоторые пользователи компьютеров использовали графические интерфейсы, такие как GEOS и Windows 3.1 , но большинство пользователей IBM PC не заменяли оболочку COMMAND.COM графическим интерфейсом до тех пор, пока в 1995 году не была выпущена Windows 95 . [38] [39]
Современное использование в качестве оболочки операционной системы
[ редактировать ]В то время как большинство неопытных пользователей компьютеров теперь используют почти исключительно графический интерфейс, более продвинутые пользователи имеют доступ к мощным средам командной строки:
- Командная оболочка VAX/VMS по умолчанию, использующая язык DCL , была перенесена в системы Windows как минимум три раза, включая PC-DCL и Acceler8 DCL Lite. Командные оболочки Unix были портированы на операционные системы VMS, DOS/Windows 95 и Windows NT.
- COMMAND.COM — это интерпретатор командной строки MS-DOS , IBM PC DOS и их клонов, таких как DR-DOS , SISNE plus , PTS-DOS , ROM-DOS и FreeDOS .
- Windows Resource Kit и Windows Services для UNIX включают оболочки Korn и Bourne, а также интерпретатор Perl (Services for UNIX содержит ActiveState ActivePerl в более поздних версиях и Interix для версий 1 и 2, а также оболочку, скомпилированную Microsoft).
- IBM OS/2 (и ее производные, такие как eComStation и ArcaOS ) имеет процессор cmd.exe . При этом копируются команды COMMAND.COM с расширениями REXX .
- cmd.exe является частью Windows NT . потока операционных систем
- Еще один cmd.exe — это урезанная оболочка для Windows CE 3.0.
- Интерпретатор типа MS-DOS под названием PocketDOS был портирован на машины с Windows CE; самая последняя версия почти идентична MS-DOS 6.22 и также может работать с Windows 1, 2 и 3.0, QBasic и другими инструментами разработки, 4NT и 4DOS. Последний выпуск включает в себя несколько оболочек, а именно MS-DOS 6.22, PC DOS 7, DR DOS 3.xx и другие.
- Пользователи Windows могут использовать интерфейс CScript для альтернативных программ из командной строки. PowerShell предоставляет интерфейс командной строки, но его апплеты не написаны с помощью сценариев Shell . Реализации оболочки Unix также доступны как часть подсистемы POSIX . [40] Cygwin , MKS Toolkit , UWIN , оболочка Hamilton C и другие пакеты программного обеспечения. Доступные оболочки для этих инструментов взаимодействия включают csh , ksh , sh , Bash, rsh , tclsh и реже zsh , psh.
- Реализации PHP имеют оболочку для интерактивного использования, называемую php-cli.
- Стандартный Tcl/Tk имеет две интерактивные оболочки: Tclsh и Wish, причем последняя является версией с графическим интерфейсом.
- Python , Ruby , Lua , XLNT и другие интерпретаторы также имеют командные оболочки для интерактивного использования.
- FreeBSD использует tcsh в качестве интерактивной оболочки по умолчанию для суперпользователя и ash в качестве оболочки сценариев по умолчанию.
- Многие дистрибутивы Linux имеют реализацию оболочки Unix Bash .
- Apple macOS и некоторые дистрибутивы Linux используют zsh . Раньше в macOS использовались tcsh и Bash.
- Встроенные устройства Linux (и другие встроенные Unix-подобные устройства) часто используют реализацию Ash оболочки Unix как часть Busybox .
- Android использует оболочку mksh , [41] [42] который заменяет оболочку, полученную из ясеня [43] который использовался в старых версиях Android, дополненный командами из отдельного набора инструментов [44] двоичный.
- HarmonyOS , OpenHarmony и Oniro используют команды из сторонней системы совместимости инструментов , прикрепленной к ядру Linux подсистемы, наряду с командной оболочкой по умолчанию с командами exec. [45] [46]
- Маршрутизаторы с Cisco IOS , [47] Юноса [48] и многие другие обычно настраиваются из командной строки.
- В операционной системе Plan 9 используется оболочка rc , которая по конструкции аналогична оболочке Bourne .
Сценарии
[ редактировать ]Большинство интерпретаторов командной строки поддерживают сценарии в различной степени . (В конце концов, они являются интерпретаторами интерпретируемого языка программирования , хотя во многих случаях этот язык уникален для конкретного интерпретатора командной строки.) Они будут интерпретировать сценарии (также называемые сценариями оболочки или пакетными файлами ), написанные на языке , на котором они работают. интерпретировать. Некоторые интерпретаторы командной строки также включают механизмы интерпретатора других языков, такие как REXX , в дополнение к своим собственным, что позволяет выполнять сценарии на этих языках непосредственно внутри самого интерпретатора командной строки.
И наоборот, языки программирования сценариев , в частности те, которые имеют eval функцию (такие как REXX, Perl , Python , Ruby или Jython ), могут использоваться для реализации интерпретаторов и фильтров командной строки. Для некоторых операционных систем , особенно DOS , такой интерпретатор команд обеспечивает более гибкий интерфейс командной строки, чем поставляемый. В других случаях такой интерпретатор команд может представлять собой гибко настраиваемый пользовательский интерфейс, использующий пользовательский интерфейс и средства ввода/вывода языка.
Другие интерфейсы командной строки
[ редактировать ]Командная строка обеспечивает интерфейс между программами и пользователем. В этом смысле командная строка является альтернативой диалоговому окну . Редакторы и базы данных представляют собой командную строку, в которой могут работать альтернативные командные процессоры. С другой стороны, в командной строке могут быть параметры, открывающие диалоговое окно. Последняя версия Take Command имеет эту функцию. DBase использовала диалоговое окно для создания командных строк, которые можно было редактировать перед использованием.
Такие программы, как BASIC, diskpart , Edlin и QBASIC, предоставляют интерфейсы командной строки, некоторые из которых используют системную оболочку. Базовый смоделирован на основе интерфейса по умолчанию для 8-битных компьютеров Intel. Калькуляторы можно запускать как через командную строку, так и через диалоговый интерфейс.
Emacs предоставляет интерфейс командной строки в виде минибуфера. Команды и аргументы можно вводить с использованием стандартной поддержки редактирования текста Emacs, а выходные данные отображаются в другом буфере.
Существует ряд игр с текстовым режимом, таких как Adventure или King's Quest 1-3 , в которых пользователь набирает команды в нижней части экрана. Управлять персонажем можно, вводя такие команды, как «получить кольцо» или «посмотреть». Программа возвращает текст, который описывает, как персонаж это видит, или выполняет действие. Текстовое приключение «Автостопом по Галактике» произведение, , интерактивное художественное основанное на Дугласа Адама одноименной книге , представляет собой игру с командной строкой в стиле телетайпа.
Наиболее примечательным из этих интерфейсов является стандартный интерфейс потоков , который позволяет передавать выходные данные одной команды на вход другой. Текстовые файлы также могут служить любой цели. Это обеспечивает интерфейсы конвейеров, фильтров и перенаправления. В Unix устройства также являются файлами , поэтому обычным типом файла оболочки, используемой для stdin, stdout и stderr, является tty файл устройства .
Другой интерфейс командной строки позволяет программе оболочки запускать вспомогательные программы либо для запуска документов, либо для запуска программы. Команда обрабатывается внутри оболочки, а затем передается другой программе для запуска документа. Графический интерфейс Windows и OS/2 в значительной степени опирается на командные строки, передаваемые в другие программы – консольные или графические, которые затем обычно обрабатывают командную строку, не открывая пользовательскую консоль.
Такие программы, как редактор OS/2 E и некоторые другие редакторы IBM , могут обрабатывать командные строки, обычно предназначенные для оболочки, при этом выходные данные помещаются непосредственно в окно документа.
Поле ввода URL-адреса веб-браузера можно использовать в качестве командной строки. Его можно использовать для запуска веб-приложений , доступа к конфигурации браузера , а также для выполнения поиска. Google , который называют «командной строкой Интернета», будет выполнять поиск по конкретному домену, когда обнаружит параметры поиска в известном формате. [49] Эта функциональность присутствует независимо от того, запускается ли поиск из поля браузера или на веб-сайте Google.
Существуют библиотеки JavaScript , которые позволяют писать приложения командной строки в браузере как отдельные веб-приложения или как часть более крупного приложения. [50] Примером такого веб-сайта является интерфейс CLI для DuckDuckGo . [51] Существуют также веб- приложения SSH, которые позволяют предоставлять доступ к интерфейсу командной строки сервера из браузера.
Многие видеоигры для ПК имеют интерфейс командной строки, который часто называют консолью. Обычно он используется разработчиками игр во время разработки и разработчиками модов для целей отладки, а также для мошенничества или пропуска частей игры.
См. также
[ редактировать ]- Сравнение командных оболочек
- Список интерпретаторов командной строки
- Консольное приложение
- Директива интерпретатора
- Цикл чтения-оценки-печати
- Сценарий оболочки
- Команда запуска
- Графический интерфейс пользователя § Сравнение с другими интерфейсами
- Вначале... была командная строка
Примечания
[ редактировать ]- ^ Примером может служить комплексная внутренняя справочная система DR-DOS 7.03 команды DEBUG , которую можно вызвать через
??
в командной строке отладки (а не только по умолчанию?
обзор). Конкретные страницы справки можно выбрать с помощью?n
(гдеn
это номер страницы). Кроме того, справку по конкретным командам можно отобразить, указав имя команды после?
, фе?D
вызовет справку для различных команд дампа (например,D
и т. д.). Некоторые из этих функций уже поддерживались DR DOS 3.41 SID86 и GEMSID . - ^ Заметное отличие в описании синтаксиса команд DOS -подобных операционных систем: в документации Windows Server 2003 R2 используются курсивные буквы для «информации, которую должен предоставить пользователь», а в документации Windows Server 2008 используются угловые скобки. Курсив не может быть отображен внутренней командой справки , а вот с угловыми скобками проблем нет.
- ^ За исключением артов ASCII .
Ссылки
[ редактировать ]- ^ «Документы CTSS» . люди.csail.mit.edu . Проверено 5 августа 2024 г.
- ^ «Оболочки Unix» . Архивировано из оригинала 8 ноября 2007 г.
Идея наличия сменной «командной оболочки», а не «монитора», тесно интегрированного с ядром ОС, обычно приписывают Multics.
- ^ Перейти обратно: а б «Происхождение ракушки» . www.multicians.org . Архивировано из оригинала 21 декабря 2017 г. Проверено 12 апреля 2017 г.
- ^ Мец, Кейд (3 января 2013 г.). «Скажите «Добрый день» давно потерянному французскому дяде Интернета» . Проводной . Проверено 31 июля 2017 г.
- ^ Мазьер, Давид (осень 2004 г.). «МУЛЬТИКС – Первые семь лет» . Продвинутые операционные системы . Стэнфордский факультет компьютерных наук. Архивировано из оригинала 23 ноября 2014 г. Проверено 1 августа 2017 г.
- ^ Перейти обратно: а б Джонс, М. (06 декабря 2011 г.). «Эволюция оболочек в Linux» . РазработчикWorks . ИБМ . Архивировано из оригинала 8 июля 2017 г. Проверено 1 августа 2017 г.
- ^ «История графического пользовательского интерфейса» . КАСС . Проверено 24 марта 2024 г.
- ^ Сингх, Амит (19 июня 2006 г.). Внутреннее устройство Mac OS X: системный подход . Аддисон-Уэсли Профессионал. ISBN 978-0-13-270226-3 .
- ^ «1. Командная строка и среда» . Документация Python . Проверено 5 августа 2024 г.
- ^ «Справочник по GNU BASH» . Архивировано из оригинала 3 декабря 2010 г. Проверено 20 декабря 2015 г.
- ^ «Обзор командной оболочки Microsoft Windows» . Архивировано из оригинала 5 сентября 2015 г. Проверено 12 июля 2015 г.
- ^ «Список встроенных команд оболочки» . Справочник по Linux . 05.07.2023 . Проверено 5 августа 2024 г.
- ^ Б, Джейсон. «Как установить переменную $PATH в Linux | Opensource.com» . opensource.com . Проверено 5 августа 2024 г.
- ^ Джейсон Геренд (3 февраля 2023 г.). "путь" . Learn.microsoft.com . Проверено 5 августа 2024 г.
- ^ «Изучение bash Shell, второе издание [книга]» . www.oreilly.com . Проверено 5 августа 2024 г.
- ^ Руководство пользователя SID (PDF) . Цифровые исследования . 1978. 595-2549. Архивировано (PDF) из оригинала 20 октября 2019 г. Проверено 6 февраля 2020 г. (4+69 страниц)
- ^ Руководство пользователя SID-86 для CP / M-86 (2-е изд.). Цифровые исследования . Август 1982 г. [март 1982 г.]. SID86UG.WS4. Архивировано из оригинала 20 октября 2019 г. Проверено 6 февраля 2020 г. [1] (Примечание. Перепечатанная версия руководства Эммануэля Роша с добавлением команд Q, SR и Z.)
- ^ Перейти обратно: а б с д и ж г час я дж к Пол, Матиас Р. (30 июля 1997 г.). «СОВЕТЫ NWDOS — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей» . МПДОСТИП . Выпуск 157 (на немецком языке) (3-е изд.). Архивировано из оригинала 10 сентября 2017 г. Проверено 6 сентября 2014 г. (Примечание. NWDOSTIP.TXT — это всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01 , включая описание многих недокументированных функций и внутренних устройств. Это часть еще более обширной авторской коллекции MPDOSTIP.ZIP, которая поддерживалась до 2001 года и распространялась на многих сайтах по адресу: время. Предоставленная ссылка указывает на более старую версию файла NWDOSTIP.TXT, преобразованную в HTML.)
- ^ Паркер, Стив (2011). «Глава 11: Выбор и использование оболочек». Сценарии оболочки: экспертные рецепты для Linux, Bash и других . Программист программисту. Индианаполис, США: John Wiley & Sons . п. 262. ИСБН 978-111816632-1 .
Оболочка имеет четыре разные командные строки: PS1, P52, P53 и PS4. PS означает строку подсказки.
- ^ Руководство пользователя RISC OS 3 (PDF) . Желудь Компьютерс Лимитед . 01.03.1992. п. 125. Архивировано (PDF) из оригинала 9 января 2017 г. Проверено 12 апреля 2017 г.
- ^ Нгуен-доус (29 мая 2024 г.). «Аргументы командной строки терминала Windows» . Learn.microsoft.com . Проверено 5 августа 2024 г.
- ^ «Аргументы командной строки в C» . www.w3schools.in . Проверено 5 августа 2024 г.
- ^ «Аргументы командной строки в Java» . Гики для Гиков . 16 августа 2016 г. Проверено 5 августа 2024 г.
- ^ Перейти обратно: а б с д Братья Хардин; Роусон, Том ; Конн, Рекс К .; Пол, Матиас Р.; Дай, Чарльз Э.; Георгиев, Лучезар И. (27 февраля 2002 г.). Онлайн-справка по 4DOS 8.00 .
- ^ Пол, Матиас Р. (9 января 1998 г.). DELTREE.BAT R1.01 Расширенное удаление файлов и каталогов . Caldera, Inc. Архивировано из оригинала 8 апреля 2019 г. Проверено 08 апреля 2019 г.
- ^ DR-DOS 7.03 WHATSNEW.TXT — Изменения с DR-DOS 7.02 на DR-DOS 7.03 . Кальдера, Инк. 24 декабря 1998 г. Архивировано из оригинала 08 апреля 2019 г. Проверено 08 апреля 2019 г.
- ^ «Синтаксис аргументов (Библиотека GNU C)» . gnu.org . Архивировано из оригинала 18 июня 2021 г. Проверено 9 июля 2021 г.
- ^ Перейти обратно: а б с Пол, Матиас Р. (13 мая 2002 г.). "[fd-dev] mkeyb" . freedos-dev . Архивировано из оригинала 10 сентября 2018 г. Проверено 10 сентября 2018 г.
[…] CPI /H […] CPI [@] [@] [/?|/Help[:topic]] [/!|/О программе] […] [?|&] […] /?, /Help Отобразить этот экран справки или специальную справку по теме (+) […] /!, /About Отобразить экран информации «О программе» […] /Cpifile (+) .CPI/.CP имя файла <EGA.CPI>; расширение: <.CPI>; CPI.EXE=StdIn […] /Report Имя файла отчета <'
'=StdOut>; расширение: <.RPT> […] /Style (+) Export <0>-6=BIN-raw/ROM/RAM/PSF0/1/SH/CHED; 7-12/13-18/19-24=ASM-hex/dec/bin/ip/il/p/l/mp/ml […] CPI /H:C […] Обзор использования параметров файла кодовой страницы: [ …] CPI /H:S […] Обзор параметров /Style: […] ?, & Режим онлайн-редактирования (запрашивает ввод дополнительных параметров) […] - ^ Перейти обратно: а б Пол, Матиас Р. (9 января 2002 г.). «СИД86» . Группа новостей : comp.os.cpm . Проверено 8 апреля 2018 г.
[…] Поскольку DR-DOS 7.03 DEBUG по-прежнему основан на старом SID86.EXE , я предлагаю запустить DEBUG 1.51 и войти в расширенную справочную систему с помощью ?? из приглашения отладки. Это даст вам восемь экранов с синтаксисом и справкой по функциям. Некоторые из этих функций также поддерживались более старыми выпусками. […]
- ^ Перейти обратно: а б Пол, Матиас Р.; Фринке, Аксель К. (16 января 2006 г.). FreeKEYB — расширенный международный драйвер клавиатуры и консоли для DOS (Руководство пользователя) (предварительная версия v7).
- ^ Интернет-документация CCI Multiuser DOS 7.22 GOLD . Concurrent Controls, Inc. (CCI). 10 февраля 1997 г. ПОМОЩЬ.HLP. (Примечание. Отладчик символических инструкций SID86 предоставляет краткий экран справки по
?
и всестороннюю помощь по??
.) - ^ Пол, Матиас Р. (24 мая 1997 г.) [1991]. «DRDOSTIP.TXT – Советы и рекомендации для DR DOS 3.41–5.0» . MPDOSTIP (на немецком языке) (47 изд.). Архивировано из оригинала 07.11.2016 . Проверено 7 ноября 2016 г.
- ^ «Базовые спецификации открытой группы, выпуск 7, глава 12.1 Синтаксис служебных аргументов» . Открытая группа . 2008. Архивировано из оригинала 30 апреля 2013 г. Проверено 7 апреля 2013 г. – Соглашения Linux и вспомогательное руководство (Примечание. Соглашения для описания команд в Unix-подобных операционных системах.)
- ^ «Обзор командной оболочки» . Справка по продукту Windows Server 2003 . Майкрософт . 21 января 2005 г. Архивировано из оригинала 12 июля 2012 г. Проверено 7 апреля 2013 г.
- ^ «Синтаксический ключ командной строки» . Библиотека TechNet для Windows Server 2008 R2 . Майкрософт . 25 января 2010 г. Архивировано из оригинала 4 мая 2013 г. Проверено 7 апреля 2013 г.
- ^ Керниган, Брайан В .; Пайк, Роб (1984). Среда программирования UNIX . Энглвудские скалы: Прентис-Холл . ISBN 0-13-937699-2 .
- ^ Пузен, Луи. «Происхождение ракушки» . Multicians.org . Архивировано из оригинала 21 декабря 2017 г. Проверено 22 сентября 2013 г.
- ^ «Вспоминая запуск Windows 95 15 лет спустя» . 24 августа 2010 г. Архивировано из оригинала 18 февраля 2015 г. Проверено 18 февраля 2015 г.
- ^ «История Windows» . windows.microsoft.com . Архивировано из оригинала 01 марта 2015 г.
- ^ «Совместимость оболочки Windows POSIX» . Архивировано из оригинала 3 июля 2017 г. Проверено 26 августа 2017 г.
- ^ «master — платформа/внешний/mksh — Git в Google» . android.googlesource.com . Архивировано из оригинала 21 января 2016 г. Проверено 18 марта 2018 г.
- ^ «Оболочка Android adb — ash или ksh?» . stackoverflow.com . Архивировано из оригинала 2 июля 2017 г. Проверено 14 марта 2018 г.
- ^ «Источник Android sh» . Гитхаб . Архивировано из оригинала 17 декабря 2012 г.
- ^ «Источник панели инструментов Android» . Гитхаб .
- ^ openharmony/ Third_party_toybox , OpenHarmony, 14 октября 2021 г. , получено 7 июля 2024 г.
- ^ «Отладка — Введение в оболочку — «Операционная система Huawei Hongmeng (OpenHarmony) v1.0 для разработчиков» — Bookstack.com · BookStack» Проверено www.bookstack.cn 7 июля 2024 г.
- ^ «Руководство по настройке основ конфигурации, Cisco IOS версии 15M&T» . Циско . 2013-10-30. Использование интерфейса командной строки. Архивировано из оригинала 18 ноября 2016 г. Проверено 28 ноября 2016 г.
Интерфейс командной строки (CLI) Cisco IOS является основным пользовательским интерфейсом…
- ^ «Обзор интерфейса командной строки» . www.juniper.net . Архивировано из оригинала 8 сентября 2003 г. Проверено 14 марта 2018 г.
- ^ «Гугл, странная доброта» . Архивировано из оригинала 4 марта 2014 г. Проверено 27 февраля 2014 г.
- ^ «Эмулятор терминала jQuery» . Архивировано из оригинала 20 апреля 2021 г. Проверено 20 апреля 2021 г.
- ^ «DuckDuckGo TTY» . Архивировано из оригинала 07 мая 2021 г. Проверено 20 апреля 2021 г.
Внешние ссылки
[ редактировать ]- Корни DOS Дэвид Хантер, Softalk для персонального компьютера IBM , март 1983 г. Архивировано на Patersontech.com с 2000 г.
- Справочник по командной строке : База данных Microsoft TechNet «Справочник по командной строке»