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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Командний рядок в оболонці 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 мова командного рядка не має чіткої стандартизації, зате в рамках GNU (див. командна оболонка UNIX) існує стандарт командного рядка POSIX і його модифікація.

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

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

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

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

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

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

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

Переваги:

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

Недоліки:

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

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

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