Консольна програма - це

Особливості текстового інтерфейсу

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

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

Деякі консольні програми придатні лише для певної реалізації текстового інтерфейсу, наприклад, текстові програми операційних систем, особливо бібліотека

Реалізація текстового інтерфейсу

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

Класичною реалізацією текстового інтерфейсу, висхідній до першої половини XX століття. є алфавітно-цифровий пристрій введення-виведення, наприклад, комплект з клавіатури і АЦДП (телетайпа). Згодом замість АЦДП стали застосовувати монітори. забезпечені знакогенератор, що дозволило швидко і зручно організовувати діалог з користувачем. Подібними пристроями забезпечений або може бути забезпечений майже кожен сучасний комп'ютер. Такі комплекти з монітора і клавіатури (іноді з додаванням миші) називаються консоллю комп'ютера.

Відповідно до традиції використання консольними програмами клавіатури і АЦДП для введення і виведення відповідно взаємодія таких програм з користувачем звелося до читання з stdin і висновку на stdout. Таким чином, з'явилася можливість перенаправляти потоки введення-виведення, здійснюючи взаємодія з користувачем за допомогою інших пристроїв, в тому числі підключених через мережу. а також за допомогою спеціальних програм-емуляторів терміналу. наприклад, малюють вікно з текстом в графічному інтерфейсі користувача (текстове вікно).

У 1970-х роки і пізніше випускалися навіть спеціальні пристрої, що реалізують текстовий інтерфейс - текстові термінали. підключаються через послідовний порт до комп'ютера напряму або через модем. З поширенням персональних комп'ютерів функції текстового терміналу, як правило, виконує комп'ютер, той, на якому виконується консольна програма, або інший. Програми ssh (а також Інтернет або локальну мережу. Програми konsole і багато інших реалізують текстовий інтерфейс за допомогою текстового вікна в середовищі X Window System.

Альтернативний підхід до консольного висновку був використаний в персональних комп'ютерах, зокрема (хоча не тільки), IBM PC під управлінням пам'яті, пов'язаної зі знакогенератор монітора, приводячи до негайного зміни видимих ​​на моніторі даних. Такі програми можуть також працювати в середовищі Microsoft Windows. Більш того, Windows має підтримку текстових вікон, багато в чому перевершує наявну в DOS, в тому числі і для додатків власне Windows.

Приклади консольних програм