Интерфейс командной строки

Формат команды

Наиболее общий формат команд (в квадратные скобки помещены необязательные части):

Символ начала команды может быть самым разным, однако чаще всего для этой цели используется косая черта (). Если строка вводится без этого символа, выполняется некоторая базовая команда: например, строка «Привет» в IRC эквивалентна вводу «». Если же такой базовой команды нет, символ начала команды отсутствует вообще (как, например, в DOS).

Параметры команд могут иметь самый разный формат. В основном применяются следующие правила:

  • параметры разделяются пробелами (и отделяются от названия команды пробелом)
  • параметры, содержащие пробелы, обрамляются кавычками-апострофами () или двойными кавычками ()
  • если параметр используется для обозначения включения какой-либо опции, выключенной по умолчанию, он начинается с косой черты () или дефиса ()
  • если параметр используется для включения/выключения какой-либо опции, он начинается (или заканчивается) знаком плюс или минус (для включения и выключения соответственно)
  • если параметр указывает действие из группы действий, назначенных команде, он не начинается со специальных символов
  • если параметр указывает объект, к которому применяется действие команды, он не начинается со специальных символов
  • если параметр указывает дополнительный параметр какой-либо опции, то он имеет формат (вместо косой черты также может употребляться дефис)

Например, в некоей абстрактной игре может быть такая команда:

  •  — символ начала команды
  •  — название команды (переход на другой уровень)
  •  — обязательный параметр (название уровня)
  •  — дополнительный параметр (задание уровня сложности)

Достоинства

  • Легкость автоматизации. Shell script в UNIX-подобных системах является полноценным интерпретируемым языком программирования и способен автоматизировать любую системную задачу. В Windows присутствует их примитивный аналог — пакетные файлы, и более мощный аналог — powershell. По сути, это — простейшая программируемость. С графическим интерфейсом без поддержки программой командной строки это сделать почти невозможно.
  • Можно управлять программами, не имеющими графического интерфейса (например, выделенным сервером).
  • Любую команду можно вызвать небольшим количеством нажатий.
  • Можно обращаться к командам для разных исполнимых файлов почти мгновенно и непосредственно, тогда как в GUI приходится сначала запускать, а затем закрывать графический интерфейс для каждого исполнимого файла.
  • Просмотрев содержимое консоли, можно повторно увидеть промелькнувшее сообщение, которое вы не успели прочитать.
  • Можно пользоваться удаленным компьютером с любого устройства подключаемого к Интернету или локальной сети (ПК, субноутбук, КПК, сотовый телефон, портативная игровая консоль) без особых затрат трафика (единицы килобайт за сеанс).
  • Отсутствие деталей интерфейса, таких как пусковые панели и рамки окон, что при равных разрешениях позволяет вместить значительно больше текста на страницу.
  • Возможность работы через стандартизированные линии передачи данных, такие как RXD, TXD в RS232, на небольшой скорости (наиболее часто 9600 бод), делает этот интерфейс основным, а порой и единственно возможным, для встраиваемых систем, систем с небольшой вычислительной мощностью, иных недорогих и экономичных устройств. Принтеры, жёсткие диски, роутеры, датчики пожарной охраны — лишь малая часть примеров такого оборудования.
  • Легче отладка сообществом. Если пользователь столкнулся с проблемой или ошибкой, на интернет-форуме достаточно оставить копию диалога пользователя и ЭВМ. Такой листинг имеет однозначное толкование (в том числе по порядку ввода и появления сообщений), в отличие от графического интерфейса, когда нужно не только отправить копию экрана, и порой не одну (что уже само по себе может быть проблемно), но также и входящие данные (какую «галочку» и где нажать, и тому подобное). К тому же, копия экрана одной и той же программы может существовать на разных языках, что усложнит отладку международным сообществом.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *