В информатике команда — инструкция, полученная через внешний интерфейс, управляющая поведением компьютерной программы. Обычно команды передаются программе через интерфейс командной строки, скриптовый язык, сетевой протокол или как событие, инициированное в графическом интерфейсе пользователя[1].

Многие команды поддерживают аргументы для указания входных данных и изменения поведения по умолчанию. Терминология и синтаксис различаются, но существуют заметные общие подходы. Как правило, опция или флаг — имя (без пробельных символов) с префиксом, таким как дефис или косая черта, которое изменяет поведение по умолчанию. Опция может иметь обязательное значение, следующее за ней. Обычно флаг — опция, не имеющая последующего значения. Параметр — аргумент, который указывает входные данные для команды, и его значение зависит от его положения в командной строке относительно других параметров, как правило, без учёта опций. Параметр может указывать на что угодно, но часто он определяет файл по имени или пути[2].

Термин «команда» иногда также используется для внутренних инструкций программы, но часто более подходящими являются другие термины, такие как оператор, выражение, функция или условный оператор[3][4]. Например, вывод сообщения в Bash выполняется с помощью команды printf, в то время как в Python — с помощью функции print()[5]. Кроме того, некоторые аспекты смежных технологий смешивают с командами. Например, условная логика в Bash и Python называется выражением[6][7], а в Java — операторами[8][9].

Примеры

править

Заметный контекст, в котором широко распространены команды, — оболочка операционной системы. Обычно оболочка передаёт команду программе, имя файла которой совпадает с первым параметром. В оболочках Unix (таких как bash и многих связанных с ней вариантах) совпадение должно быть точным, включая регистр[10]. Следующая команда bash изменяет рабочий каталог на /home/pete, вызывая программу cd:

cd /home/pete

Следующая команда bash выводит «Hello World» с помощью программы echo в стандартный вывод– как правило, в терминал. Кавычки вокруг двух слов указывают, что фраза рассматривается как единый параметр.

echo "Hello World"

Следующий пример демонстрирует, как поведение команды по умолчанию изменяется с помощью ключа. Ключ -e заставляет команду обрабатывать символы с префиксом в виде обратной косой черты как соответствующий управляющий символ. В данном случае \t преобразуется в символ табуляции.

echo -e "Hello\tWorld"

В таких оболочках, как командная строка, DOS и OS/2, некоторые команды являются встроенными, то есть не реализованы как отдельные программы[11]. Но если команда не является встроенной, оболочка передаёт её программе, которая имеет исполняемое расширение (например, «.exe») и базовое имя, совпадающее с первым параметром без учёта регистра. Следующая команда командной строки отображает содержимое файла readme.txt с помощью встроенной команды type[12].

type readme.txt

Следующая команда командной строки выводит список содержимого текущего каталога с помощью встроенной команды dir. Ключ /Q изменяет поведение по умолчанию, включая в вывод информацию о владельце[13].

dir /Q

См. также

править

Примечания

править
  1. Kernighan, Brian W. The UNIX Programming Environment / Kernighan, Brian W., Pike, Rob. — Prentice Hall, 1984. — ISBN 978-0-13-937681-8.
  2. Sobell, Mark G. A Practical Guide to Linux Commands, Editors, and Shell Programming. — 3rd. — Prentice Hall, 2014. — ISBN 978-0-13-308504-4.
  3. Maurizio Gabbrielli, Simone Martini (2010). Programming Languages — Principles and Paradigms. Springer London, 6.3.2 Conditional Commands, p. 140
  4. Lutz, Mark. Learning Python. — 5th. — O’Reilly Media, 2013. — ISBN 978-1-449-35573-9.
  5. Built-in Functions - print. python.org. Дата обращения: 23 октября 2023.
  6. Conditional expressions. python.org. Дата обращения: 23 октября 2023.
  7. Bash Conditional expressions. gnu.org. Дата обращения: 23 октября 2023.
  8. The if-then and if-then-else Statements. oracle.com. Дата обращения: 23 октября 2023.
  9. Horstmann, Cay S. Core Java: Volume I – Fundamentals / Horstmann, Cay S., Cornell, Gary. — 11th. — Prentice Hall, 2018. — ISBN 978-0-13-516630-7.
  10. Bash Reference Manual. Free Software Foundation (2023).
  11. Windows Command Line Reference. Microsoft (2023).
  12. Type - Display a text file - Windows CMD. SS64.com. Дата обращения: 14 марта 2019.
  13. DIR - list files and folders - Windows CMD. SS64.com. Дата обращения: 14 марта 2019.

Ссылки

править

📚 Artikel Terkait di Wikipedia

Атомарная операция

пометкой (LL — load linked); изменение данных; попытка записи (SC — store conditional). Первая инструкция (LL) загружает данные из ячейки памяти в регистр

Консенсус в распределённых вычислениях

апреля 2021. Fich, Faith (25 июля 2004). On the inherent weakness of conditional synchronization primitives. Proceedings of the Twenty-Third Annual ACM

Флаг функциональности

флиппером функциональности (feature flipper) или условной функциональностью (conditional feature). В разделе не хватает ссылок на источники (см. рекомендации

Стохастический градиентный спуск

Finkel, Alex Kleeman, Christopher D. Manning. Efficient, Feature-based, Conditional Random Field Parsing // Proc. Annual Meeting of the ACL. — 2008. Yann

C11

2010 Архивная копия от 22 декабря 2017 на Wayback Machine 6.10.8.3 Conditional feature macros ISO 9899:1999 6.10.8 Predefined macro names WG14 N1558

Бенеш, Вацлав Эдвард

Benes and Karatzas, Filtering of diffusions controlled through their conditional measures, Stochastics, 13, pp. 1-23, 1984 R. A. Spanke and V. E. Benes

C++23

P2401R0: Add a conditional noexcept specification to std::exchange . Дата обращения: 28 июля 2022. Архивировано 28 июля 2022 года. Add a conditional noexcept

Алгоритм Франк — Вульфа

С. 95–110. — doi:10.1002/nav.3800030109. Dunn J. C., Harshbarger S. Conditional gradient algorithms with open loop step size rules // Journal of Mathematical