Інтерфейс командного рядка

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Командний рядок в оболонці bash
Командний рядок, вигляд з GNOME терміналу
Командний рядок в MS-DOS v6.22
текстовий редактор Vim з режимі командного рядка

Інтерфейс командного рядка (англ. command-line interface, CLI) — різновид текстового інтерфейсу користувача і комп'ютера, в якому інструкції комп'ютера даються тільки шляхом введення з клавіатури текстових рядків (команд). Також відомий під назвою консоль. Інтерфейс командного рядка може бути протиставлений системам управління програмою на основі меню, а також різних реалізацій графічного інтерфейсу. Формат виводу інформації в інтерфейсі командного рядка не регламентується; звичайно це простий текстовий вивід, але може бути і графічним, звуковим виводом тощо.

Призначення[ред.ред. код]

  • Невелика витрата пам'яті в порівнянні з системою меню.
  • У сучасному програмному забезпеченні є велика кількість команд, багато з яких потрібні вкрай рідко. Тому навіть у деяких програмах з графічним інтерфейсом застосовується командний рядок: набір команди (за умови, що користувач знає цю команду) здійснюється набагато швидше, ніж, наприклад, навігація по меню.
  • Природне розширення інтерфейсу командного рядка — пакетний інтерфейс. Його суть в тому, що у файл звичайного текстового формату записується послідовність команд, після чого цей файл можна виконати в програмі, що має такий самий ефект якби ці команди були по черзі введені в командний рядок. Приклади — bat-файли в Windows, shell-скрипти в Unix-системах.

Якщо програма повністю або майже повністю може вправлятися командами інтерфейсу командного рядка та підтримує пакетний інтерфейс, вміле поєднання інтерфейсу командного рядка з графічним надає користувачеві дуже потужні можливості.

Формат команди[ред.ред. код]

Найзагальніший формат команд (у квадратні дужки поміщені необов'язкові частини):

[символ_початку_команди] ім'я_команди [параметр_1 [параметр_2 [...]]]

Символ початку команди може бути різним, однак частіше за все для цієї мети використовується коса риска (/). Якщо рядок вводиться без цього символу, виконується деяка базова команда: наприклад, рядок «Привіт» в IRC еквівалентна вводу «/ msg Привіт». Якщо ж такий базової команди немає, символ початку команди відсутня взагалі (як, наприклад, в DOS).

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

  • Параметри розділяються пробілами (і відділяються від назви команди пропусками)
  • Параметри, що містять пробіли, оточуються апострофами (') або лапками (")
  • Якщо параметр використовується для позначення включення будь-якої опції, забраного за замовчуванням, він починається з косої риси (/) та тире (-)
  • Якщо параметр використовується для включення / виключення будь-якої опції, він починається (або закінчується) знаком плюс або мінус (для включення і виключення відповідно)
  • Якщо параметр вказує дію з групи дій, призначених команді, він не починається зі спеціальних символів
  • Якщо параметр вказує об'єкт, до якого застосовується дія команди, він не почанається зі спеціальних символів
  • Якщо параметр вказує додатковий параметр будь-якої опції, то він має формат / опція: додадковий_параметр (замість косої риси також може вживатися дефіс)

Наприклад, у деякій грі може бути така команда: / map dm1 / skill: 2

  • / — Символ початку команди
  • Map — назва команди (перехід на інший рівень)
  • Dm1 — обов'язковий параметр (назва рівня)
  • / Skill: 2 — додатковий параметр (завдання рівня складності)

Застосування[ред.ред. код]

Основні сфери застосування інтерфейсу командного рядка:

В операційних системах[ред.ред. код]

Основне застосування інтерфейсу командного рядка — інтерфейс операційної системи. У Windows мова командного рядка не має чіткої стандартизації, однак існує стандарт командного рядка POSIX і його модифікація в рамках GNU (див. командна оболонка UNIX).

У комп'ютерних іграх[ред.ред. код]

Як тільки з'явився інтерфейс командного рядка, стали з'являтися і гри, його використовують, особливо актуально це було на тих платформах, де складніші інтерфейси (графічні) було неможливо реалізувати внаслідок апаратних обмежень.

Найяскравішим прикладом ігор, що використовують інтерфейс командного рядка, можуть бути названі текстові квести, а також мережні багатокористувацькі рольові ігри — MUD. Команди в таких іграх вводяться на так званій псевдонатуральній мові.

У багатьох графічних іграх присутній консоль для полегшення доступу до налаштувань гри, оскільки в складних іграх реалізувати всі команди через систему меню незручно. Перша така гра — Quake. Стандартна кнопка для виклику консолі — «~» (тільда); рідше Enter. Консоль дозволяє вносити зміни в налаштування гри оперативніше, ніж меню — наприклад, набрати name Terminator швидше, ніж знайти те меню, в якому вводиться ім'я користувача, і ввести Terminator.

Інтерфейс, який надається моддерам, не завжди дозволяє змінювати меню, але він завжди дозволяє додавати свої консольні команди. Наприклад, в DotA (карті для гри Warcraft III) режим гри задає учасник, який грає синіми, через консоль.

В інших програмах[ред.ред. код]

Переваги та недоліки[ред.ред. код]

Переваги:

  • Будь-яку команду можна викликати невеликою кількістю натискань.
  • Пакетні файли — це, по суті, найпростіша програмованість.
  • Можна керувати програмами, що не мають графічного інтерфейсу (наприклад, виділеним сервером).
  • Переглянувши вміст консолі, можна повторно побачити повідомлення, яке ви не встигли прочитати.

Недоліки:

  • Інтерфейс командного рядка не є дружнім для початківців.
  • Шукати невідому команду з довідників не менш складно, ніж відшукувати в меню потрібну команду.
  • Введення деяких параметрів з клавіатури може бути важким. Наприклад, гравці часто прикрашають свої імена цифрами і спецсимволами, і ввести команду на кшталт kick =- CooL-= [H3LL] без додаткових коштів буває досить складнувато. А підбір гучності за допомогою озвученого повзунка дозволяє виставити потрібну гучність швидше, ніж з командного рядка.
  • Якщо ж у програмі є повноцінна скриптова мова, доводиться або підтримувати дві різних мови (консольну і скриптову), або відмовлятися від командного рядка на користь скриптової мови, або поєднувати ці дві мови (що негативно позначається на зручності програмування).

Див. також[ред.ред. код]

Посилання[ред.ред. код]