Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

ДокумСнтация ΠΏΠΎ интСрфСйсу Command-Line (CLI)

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” это Π΅Π΄ΠΈΠ½ΠΎΠ΅ срСдство для запуска слуТб Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для использования слуТб Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ создания сцСнариСв для выполнСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Π’ настоящСС врСмя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΠΉΡ‚ΠΈ Π² систСму ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ всС прилоТСния, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρƒ вас Π΅ΡΡ‚ΡŒ доступ Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎΠ± установкС CLI ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² настоящСС врСмя ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… см. Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GITHUB CLI Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования

РСкомСндуСмая вСрсия Node.js β€” 12 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ поздняя.

Установка

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CLI Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ двумя способами, Π½Π΅ запуская ΠΈΡ… appcenter login Ρ€Π°Π½ΡŒΡˆΠ΅:

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CLI

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ спискС ΠΊΠΎΠΌΠ°Π½Π΄ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки см. Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GITHUB CLI Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Из-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠΌΠ΅Π½ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с дСфисов ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ срСдства синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° стиля GNU. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² связанном выпускС CLI.

ИспользованиС прокси-сСрвСра

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· прокси-сСрвСр. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ npm config ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды с адрСсом прокси-сСрвСра. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ адрСса прокси Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, http:// ).

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ NPM

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ использованиС прокси-сСрвСра Π² NPM, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ срСды

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ запуска ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GUI ΠΈ CLI

Когда Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° Linux, Ρ‚ΠΎ, читая ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰Π°ΡΡΡŒ Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ…, часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ GUI, CLI ΠΈ Ρ€Π΅ΠΆΠ΅ TUI. Π’ этой нСбольшой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, ΠΈ разбСрёмся, Π² ΠΊΠ°ΠΊΠΎΠΌ контСкстС эти Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ.

БправСдливости Ρ€Π°Π΄ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ GUI, CLI ΠΈ TUI популярны Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Linux-срСдС. Π­Ρ‚ΠΈ слова – Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΆΠ°Ρ€Π³ΠΎΠ½Π°, ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ Π² Π»ΡŽΠ±Ρ‹Ρ… тСхничСских обсуТдСниях, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны с Linux.

GUI – графичСский интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

GIMP: GUI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π’ Linux Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ графичСски Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой прСдоставляСтся Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ срСдой Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола. ΠŸΠΎΠ²Π΅Ρ€Ρ… Π½Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GUI-прилоТСниями, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ GIMP, VLC, Firefox, LibreOffice, Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΈ Ρ‚.Π΄. для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

VLC: ΠΌΠ΅Π΄ΠΈΠ°ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ с GUI

ИмСнно GUI ΠΎΡ‚ΠΊΡ€Ρ‹Π» ΠΌΠΈΡ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ; Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Π±Ρ‹ ΡƒΠ΄Π΅Π»ΠΎΠΌ Π³ΠΈΠΊΠΎΠ².

CLI – интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

CLI (Command Line Interface) – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, которая Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ выполняСт Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹Π΅ дСйствия. Π’ Ρ†Π΅Π»ΠΎΠΌ, любая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² эту ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

APT: ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ с CLI Π² Debian-based дистрибутивах

Π£ старых ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… манипуляторов для управлСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. Всё взаимодСйствиС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ Ρ‡Π΅Ρ€Π΅Π· тСкстовый Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄, Ρ‚.Π΅. Ρ‡Π΅Ρ€Π΅Π· CLI.

Если Π²Π°ΠΌ каТСтся, Ρ‡Ρ‚ΠΎ это слоТно, ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± Π΅Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ Π΄Ρ€Π΅Π²Π½ΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΎ Π΄Π°ΠΆΠ΅ экрана, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ отобраТаСтся Π½Π°Π±ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΉ тСкст. Π’Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ распСчатывался ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΌ Π½Π° Π±ΡƒΠΌΠ°Π³Π΅. Π›ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ Π½ΠΈ Ρ€Π°Π·Ρƒ Π² ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ доводилось ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ. Π‘Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, с Ρ‡Π΅ΠΌ я ΠΈΠΌΠ΅Π» Π΄Π΅Π»ΠΎ – это схСмы Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я занимался Π²ΠΎ врСмя ΡƒΡ‡Ρ‘Π±Ρ‹.

Π£ΡˆΡ‘Π» Π»ΠΈ CLI Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅? ВовсС Π½Π΅Ρ‚. Π£ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π΅ΡΡ‚ΡŒ свои прСимущСства, особСнно Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ настройкС Linux Π½Π° Π³Π»ΡƒΠ±ΠΈΠ½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅: поднятии сСтСвого брандмауэра, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ локальной сСти ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ.

Π‘ΠΎ всСми этими вопросами ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GUI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½ΠΎ CLI Π΄Π°Ρ‘Ρ‚ Π±ΠΎΠ»Π΅Π΅ прямой ΠΈ ΠΏΡ€ΠΈΡ†Π΅Π»ΡŒΠ½Ρ‹ΠΉ доступ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. Π’ любом случаС, Ρ€Π°Π±ΠΎΡ‚Π° GUI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ основана Π½Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ОБ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прописаны Π² ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅).

МногиС извСстныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ с GUI ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ для инструмСнтов CLI. НапримСр Handbrake, популярный ΠΌΠ΅Π΄ΠΈΠ°-ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, являСтся GUI-надстройкой Π½Π°Π΄ CLI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ffmpeg.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

Π Π°Π±ΠΎΡ‡Π΅Π΅ ΠΎΠΊΠ½ΠΎ Handbrake

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой слоТнСС, Ρ‡Π΅ΠΌ графичСским интСрфСйсом. Однако Π½Π΅ стоит ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ повсСднСвных Π·Π°Π΄Π°Ρ‡ достаточно графичСского управлСния Linux. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π·Π½Π°Π½ΠΈΠ΅ основных ΠΊΠΎΠΌΠ°Π½Π΄ часто Π±Ρ‹Π²Π°Π΅Ρ‚ вСсьма ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.

TUI – тСкстовый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс

Π­Ρ‚ΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ встрСчаСтся Ρ€Π΅ΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π°. TUI (Text User Interface) – это Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ CLI ΠΈ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ GUI. НСпонятно, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚? РазбСрёмся ΠΏΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Как Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, Ρ€Π°Π±ΠΎΡ‚Π° со старыми ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ Π±Ρ‹Π»Π° Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ основана Π½Π° CLI. Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ спСктр возмоТностСй GUI ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² тСкстовом Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. Π­Ρ‚ΠΎ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ TUI: Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π² Π½Ρ‘ΠΌ прСдставлСно большС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ доступно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Ρ‚Π°ΠΊ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

Links: Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€

TUI – это сокращСниС для text-based user interface (тСкстовый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс) ΠΈΠ»ΠΈ terminal user interface (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс). Π‘Π»ΠΎΠ²ΠΎ «Ρ‚Скстовый» Π² этом словосочСтании ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всё ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° экранС, Π² сущности, прСдставляСт собой большой тСкст – Π½Π°Π±ΠΎΡ€ символов, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ элСмСнты управлСния, Π° слово «Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ» – Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ этому интСрфСйсу Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

TUI-прилоТСния Π½Π΅ Ρ‚Π°ΠΊ популярны, ΠΊΠ°ΠΊ GUI ΠΈ CLI, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ мноТСство. Π’Π°ΠΊ, ΠΊ этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ относятся тСкстовыС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈ тСкстовыС ΠΈΠ³Ρ€Ρ‹.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ случай, ΠΊΠΎΠ³Π΄Π° TUI ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ – это Ссли Π² процСссС установки ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² Π½Π° Ubuntu Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ EULA ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² настройки. TUI слоТнСС Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, Ρ‡Π΅ΠΌ GUI ΠΈ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ обучСния, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌ всё-Ρ‚Π°ΠΊΠΈ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с TUI часто относят Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ CLI, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡ… интСрфСйс доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· тСкстовой консоли. Какого мнСния Π½Π° этот счёт Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹ – Π²Ρ‹Π±ΠΎΡ€ Π·Π° Π²Π°ΠΌΠΈ. НадСюсь, Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GUI, CLI ΠΈ TUI.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΈ быстро разбираСмся с C++ CLI

Π’Π°ΠΊ слоТилось, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ нСобходимости ΠΌΠ½Π΅ приходится интСнсивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C++/CLI ΠΈ, соотвСтствСнно, довольно часто ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, Ρ‡Ρ‚ΠΎ это, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ, Π·Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π°Π΄ΠΎ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ появилось ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ с ΠΎΠ±Π·ΠΎΡ€ΠΎΠΌ языка, ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ распространСнныС вопросы ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ мСста, Π³Π΄Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ΄Π°Ρ‡Π½ΠΎ Π»Π΅Ρ‡ΡŒ Π³Ρ€Π°Π±Π»ΠΈ.

Π§Ρ‚ΠΎ это?

К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π² этом синтаксисС Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΈ Π½Π° управляСмый (Π² ΠΎΠ±ΠΎΠΈΡ… случаях использовалась Β«*Β»), Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова для обозначСния Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ указатСля ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅. Π­Ρ‚ΠΎ ΠΈ Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ Microsoft Π½Π° созданиС Π½ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ языка, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.
Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: эти Π΄Π²Π΅ вСрсии синтаксиса Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ Π½ΠΈ странно, Β«old syntaxΒ» ΠΈ Β«new syntaxΒ», ΠΈ ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π² настройках компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΏΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… сборок Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ синтаксис, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ старый ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ ΠΈ просто ΠΏΠ»ΠΎΡ….

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ?

2) МоТно Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ написанный Π½Π° ΠΏΠ»ΡŽΡΠ°Ρ… ΠΊΠΎΠ΄. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ нас ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ всС возмоТности ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ C++, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ управляСмыС ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… классов Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠ»ΡŽΡΠ°Ρ…. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большиС возмоТности ΠΏΠΎ Π²Ρ‹Π·ΠΎΠ²Ρƒ нСуправляСмого ΠΊΠΎΠ΄Π°, Π½Π΅ΠΆΠ΅Π»ΠΈ PInvoke, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с классами Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

ВсС ΠΎΡ‡Π΅Π½ΡŒ просто. ΠŸΡ€ΠΈ компиляции ΠΊΠΎΠ΄Π° Π½Π° Π‘++/Π‘LI получаСтся сборка, содСрТащая ΠΊΠ°ΠΊ MSIL ΠΊΠΎΠ΄, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ строки, написанныС Π½Π° «чистых» ΠΏΠ»ΡŽΡΠ°Ρ…. «Но ΠΊΠ°ΠΊ ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ с ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ΠΎΡΡ‚ΡŒΡŽ?Β» β€” спроситС Π²Ρ‹, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΏΡ€Π°Π²Ρ‹. Никак. Π’ частности, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ получится ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ для 32 ΠΈ 64 Π±ΠΈΡ‚Π½Ρ‹Ρ… вСрсий (ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС ΠΏΠΎΠ΄ Β«Any CPUΒ»). Π’Π°ΠΊΠΎΠ²Π° расплата Π·Π° использованиС всСх возмоТностСй Π‘++. ЕстСствСнно, это относится ΠΊ Ρ‚ΠΎΠΌΡƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ микс ΠΈΠ· управляСмого ΠΈ нСуправляСмого ΠΊΠΎΠ΄Π°. ВсСго Π΅ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² компиляции:
β€’ /clr β€” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° управляСмого ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° с использованиСм Π½ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса.
β€’ /сlr:pure β€” Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ поддСрТиваСтся. Однако ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСбСзопасный ) ΠΊΠΎΠ΄, Π² Ρ‚ΠΎΠΉ ΠΌΠ΅Ρ€Π΅, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² Π‘#-сборках ΠΏΡ€ΠΈ использовании Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ unsafe.
β€’ /clr:safe β€” Волько управляСмый бСзопасный ΠΊΠΎΠ΄. Аналог β€” компиляция C#-сборки Π±Π΅Π· использования unsafe.
β€’ /clr:oldSyntax β€” Π°Π½Π°Π»ΠΎΠ³ /clr, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ старый синтаксис.

Как выглядит?

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ сравнСния основных конструкций для Π‘# ΠΈ C++/CLI.

ОбъявлСниС класса

public sealed class Class1 : Class2

public ref class Class1 sealed : Class2

ОбъявлСниС структуры

public struct Class1 : IEquatable

public value class Class1 : IEquatable

ОбъявлСниС интСрфСйса

public interface ISomeInterface

public interface class ISomeInterface

ОбъявлСниС пСрСчислСния
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ управляСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Π’ C++/CLI для обозначСния ссылок Π½Π° управляСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Β«^Β» вмСсто Β«*Β». Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π°Π΄ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½Π°Π΄ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ создании локального ссылочного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСмантику стСка:
Object obj();
Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ использовании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… IDisposable (Ρ€Π΅Ρ‡ΡŒ ΠΎΠ± этом ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠΎΠ·ΠΆΠ΅) Π»ΠΈΠ±ΠΎ для value-Ρ‚ΠΈΠΏΠΎΠ². Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ»Π°Π½Π΅ хранСния ΠΈ использования value-Ρ‚ΠΈΠΏΠΎΠ² Π‘++/CLI Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ свободу, Ρ‡Π΅ΠΌ C#, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ программист ΠΌΠΎΠΆΠ΅Ρ‚ сам Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ссылку ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуация ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π° количСствС boxing/unboxing ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ управляСмого массива

НСуправляСмыС массивы ΠΏΡ€ΠΈ этом ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΠΌΠ΅Ρ‚ΠΎΠ΄

void Method( int byValue, ref int byRef, out int outValue);

void Method( int byValue, int %byRef, [ out ] int %outValue);

ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°
РСализация шаблона IDisposable

protected virtual void Dispose( bool disposing)
<
if (disposing)
<
//release managed resources
>

//release unmanaged resources
>

Class1()
<
//release managed resources

//Аналог Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°
!Class1()
<
//release unmanaged resources
>
>

Π§Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π·Π° ΠΊΠ°Π΄Ρ€ΠΎΠΌ?

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄Π½Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ всС ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ. НС рассмотрСнными ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Ρ‚Π°ΠΊΠΈΠ΅ вопросы ΠΊΠ°ΠΊ:
β€’ Бинтаксис Π΄Π΅Π»Π΅Π³Π°Ρ‚ΠΎΠ², свойств, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, foreach ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅
β€’ Π–ΠΎΠ½Π³Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· управляСмого Π² нСуправляСмый ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, массивами ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ
β€’ Π§Ρ‚ΠΎ поддСрТиваСтся ΠΈ Π½Π΅Ρ‚ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π‘# ΠΈ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ C++
β€’ ΠžΡΠΎΠ±Π΅Π½ΠΎΡΡ‚ΠΈ компиляции ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ со сборками Π‘++/CLI
β€’ Вопросы ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Когда ΠΈ Π² Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ? Π“Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ?

Π§Ρ‚ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ?

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠΌ. Н. Π­. Π‘Π°ΡƒΠΌΠ°Π½Π°
Bauman National Library

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты

CLI (Command Line Interface)

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (Π°Π½Π³Π». Command line interface, CLI ) β€” Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ тСкстового интСрфСйса(TUI) ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ инструкции ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π΄Π°ΡŽΡ‚ΡΡ Π² основном ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ тСкстовых строк (ΠΊΠΎΠΌΠ°Π½Π΄), Π² UNIX-систСмах Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΈ. Π’Π°ΠΊΠΆΠ΅ извСстСн ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ консоль.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки противопоставляСтся систСмам управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π° основС мСню, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ рСализациям графичСского интСрфСйса.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² интСрфСйсС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π΅ рСгламСнтируСтся; ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Ρ‚Π°ΠΊΠΆΠ΅ простой тСкстовый Π²Ρ‹Π²ΠΎΠ΄, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ графичСским, Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ ΠΈ Ρ‚. Π΄.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

НазначСниС

На устройствС-консоли, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»ΠΎ тСкст Π½Π° Π±ΡƒΠΌΠ°Π³Π΅, интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π±Ρ‹Π» СдинствСнным Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ. На Π²ΠΈΠ΄Π΅ΠΎΡ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°Ρ… интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки примСняСтся ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ интСрфСйс, ΡƒΠΌΠ΅Π»ΠΎΠ΅ сочСтаниС интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с графичСским прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹Π΅ возмоТности.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

НаиболСС ΠΎΠ±Ρ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ (Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ части):

[символ_Π½Π°Ρ‡Π°Π»Π°_ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹]имя_ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€_1 [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€_2 […]]]

Π‘ΠΈΠΌΠ²ΠΎΠ» Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ самым Ρ€Π°Π·Π½Ρ‹ΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‡Π°Ρ‰Π΅ всСго для этой Ρ†Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ косая Ρ‡Π΅Ρ€Ρ‚Π° ( / ). Если строка вводится Π±Π΅Π· этого символа, выполняСтся нСкоторая базовая ΠΊΠΎΠΌΠ°Π½Π΄Π°: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строка Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β» Π² IRC эквивалСнтна Π²Π²ΠΎΠ΄Ρƒ Β« /msg ΠŸΡ€ΠΈΠ²Π΅Ρ‚ Β». Если ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅Ρ‚, символ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ отсутствуСт Π²ΠΎΠΎΠ±Ρ‰Π΅ (ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² DOS).

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ самый Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π’ основном ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°:

НапримСр, Π² Π½Π΅ΠΊΠΎΠ΅ΠΉ абстрактной ΠΈΠ³Ρ€Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ такая ΠΊΠΎΠΌΠ°Π½Π΄Π°:

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ сфСры примСнСния интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах

ОсновноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки β€” интСрфСйс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ Windows язык ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Ρ‘Ρ‚ΠΊΠΎΠΉ стандартизации, ΠΎΠ΄Π½Π°ΠΊΠΎ сущСствуСт стандарт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки POSIX ΠΈ Π΅Π³ΠΎ модификация Π² Ρ€Π°ΠΌΠΊΠ°Ρ… GNU.

Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ консоль Π² ΠΈΠ³Ρ€Π°Ρ… использовалась для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ появился интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, стали ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΈ ΠΈΠ³Ρ€Ρ‹, Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅, особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ это Π±Ρ‹Π»ΠΎ Π½Π° Ρ‚Π΅Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π³Π΄Π΅ Π±ΠΎΠ»Π΅Π΅ слоТныС интСрфСйсы (графичСскиС) Π±Ρ‹Π»ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ вслСдствиС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.

НаиболСС ярким ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΠ³Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Ρ‹ тСкстовыС квСсты, Π° Ρ‚Π°ΠΊΠΆΠ΅ сСтСвыС ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ€ΠΎΠ»Π΅Π²Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ β€” MUD. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ³Ρ€Π°Ρ… вводятся Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ псСвдоСстСствСнном языкС.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… графичСских ΠΈΠ³Ρ€Π°Ρ… присутствуСт консоль для облСгчСния доступа ΠΊ настройкам ΠΈΠ³Ρ€Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² слоТных ΠΈΠ³Ρ€Π°Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· систСму мСню Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ΠŸΠ΅Ρ€Π²Π°Ρ такая ΠΈΠ³Ρ€Π° β€” Quake. Бтандартная ΠΊΠ½ΠΎΠΏΠΊΠ° для Π²Ρ‹Π·ΠΎΠ²Π° консоли β€”

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСтся ΠΌΠΎΠ΄Π΄Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ, Π½Π΅ всСгда позволяСт ΠΌΠ΅Π½ΡΡ‚ΡŒ мСню; Π½ΠΎ ΠΎΠ½ всСгда позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свои ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. НапримСр, Π² DotA (ΠΊΠ°Ρ€Ρ‚Π΅ для ΠΈΠ³Ρ€Ρ‹ Warcraft III) Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ³Ρ€Ρ‹ Π·Π°Π΄Π°Ρ‘Ρ‚ участник, ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΉ синими, Ρ‡Π΅Ρ€Π΅Π· консоль.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

GUI vs. CLI β€” послСдняя Π±ΠΈΡ‚Π²Π°

Настоящими программистами считаСтся, Ρ‡Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°ΡŽΡ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠΆΠ΅ Π½Π΅ΠΊΡƒΠ΄Π°. ЕстСствСнно, хочСтся ΠΏΠΎΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ± абстрактных Π°ΠΏΠ΅Π»ΡŒΡΠΈΠ½Π°Ρ…. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС Автокад, Ссли ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΈΠ»ΠΈ доводилось ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ. МоТно Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠšΠΎΡ€Π΅Π»Π”Ρ€ΠΎ, Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Π°Π»Π΅ΠΊΠΎΠ΅ ΠΎΡ‚ программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ нСпрСдвзято. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² консоли?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ
Рис. 1. Абстрактный интСрфСйс Π² Π²Π°ΠΊΡƒΡƒΠΌΠ΅.

Один взгляд Π½Π° ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ сразу всС ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π½Π°Π΄ запросами Π½Π°Π΄ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Π½Π°Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ (ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ β€” это своя проСкция ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ способствуСт Π½ΠΈ ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΈ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ). На достаточно Π΅ΠΌΠΊΠΎΠΉ схСмС Ρ€Π°Π·Π½Ρ‹Π΅ люди ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ своС β€” Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сСйчас интСрСсно. ΠšΠΎΡ€ΠΎΡ‡Π΅, Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ.

Π’Ρ‚ΠΎΡ€ΠΎΠ΅: нСпосрСдствСнноС взаимодСйствиС. Π’ графичСском интСрфСйсС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ сами ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π² консольном ΠΆΠ΅ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Β«ΠΊΠ°ΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ измСнилось Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ я Ρ…ΠΎΡ‡ΡƒΒ». Он ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΌ пространствС, Π·Π°Π΄Π°Ρ‡Π° Ρƒ Π½Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π²ΠΎΠ°Π½Ρ‹ Π² ΠΎΠ΄Π½Ρƒ сторону (ΠΊΠΎΠΌΠ°Π½Π΄Π° β†’ Π·Π°Π΄Π°Ρ‡Π°), Π° Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. По ощущуСниям ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚ сайта сразу Π² Ρ…Ρ‚ΠΌΠ»Π΅. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π±Π°Π½Π°Π½Π°ΠΌ, я ΠΌΠΎΠ³Ρƒ Π²Π·ΡΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° (ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ). Π― Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈ я дСлаю ΠΈΠΌΠ΅Π½Π½ΠΎ это.

ΠŸΡ€ΠΎ нСпосрСдствСнноС взаимодСйствиС Ρ‚ΠΎΠΆΠ΅ интСрСсно. Глядя Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ Π² gitk, Π½Π΅ составляСт большой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сСйчас происходит, Π΄Π°ΠΆΠ΅ Π² сСрСдинС слоТного ΠΌΠ΅Ρ€ΠΆΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΅Ρ‰Π΅ Ρ…ΠΈΡ‚Ρ€ΠΎΠΉ трансформации. А Π²ΠΎΡ‚ пСрСвСсти это Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΡƒΠΆΠ΅ слоТнСС. НапримСр, я понимаю, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡ‚ начиная с этого ΠΊΠΎΠΌΠΌΠΈΡ‚Π° всС чСнТсСты пСрСнСсти Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Но ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ? На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΡ… ΡˆΡ‚ΡƒΠΊ ΠΏΡΡ‚ΡŒ, всС со своими особСнностями, ΠΎΠ½ΠΈ зависят ΠΎΡ‚ Π³Π΄Π΅ я Π½Π°Ρ…ΠΎΠΆΡƒΡΡŒ ΠΈ ΠΊΡƒΠ΄Π° Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· я с Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ Ρ€Π΅ΡˆΠ°ΡŽ эту Π·Π°Π³Π°Π΄ΠΊΡƒ (shame on me, ΠΌΠΎΠ³ Π±Ρ‹ ΠΈ Π·Π°Π·ΡƒΠ±Ρ€ΠΈΡ‚ΡŒ ΠΊ ΠΌΠΎΠΈΠΌ-Ρ‚ΠΎ Π³ΠΎΠ΄Π°ΠΌ), ΠΆΡƒΡ‚ΠΊΠΎ Π±Π΅ΡˆΡƒΡΡŒ ΠΎΡ‚ своСго бСссилия (всС понимаю, Π° ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³Ρƒ) ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ справСдливо Ρ‚Π°ΡŽ Π·Π»ΠΎΠ±Ρƒ Π·Π° созданный Π½Π° пустом мСстС квСст.

Но Π΄Π°ΠΆΠ΅ Ссли ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΠΎΠ»Π΅Π΅ прямолинСйными, всС Ρ€Π°Π²Π½ΠΎ останСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΌΠ½Π΅ придСтся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ рСпозитория ΠΈ ΠΏΠΎΡ‚ΠΈΡ…ΠΎΠ½ΡŒΠΊΡƒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ…ΡΡˆΠΈ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ нСясно, Π² Ρ‡Π΅ΠΌ бонус.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ. ΠœΠΎΡ‰ΡŒ. ПСльмСни. Π― Π½Π΅ Π³Π»ΡƒΠΏΠ΅Ρ† ΠΈ Π½Π΅ стану ΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ bash + unix utils связка мощная. Волько восторги Ρ‚ΡƒΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ связаны с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ bash β€” это Ρ‚Π°ΠΊΠΎΠΉ REPL скриптового языка для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π΅ интСрфСйс ΡƒΠ΄Π°Ρ‡Π½ΠΎ дополняСт (см., Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΠΎΠ½ встроСн Π² mc ΠΈΠ»ΠΈ Far, ΠΈ Π΄Π°, это Π½Π΅ интСрфСйсы ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки). Π˜ΠΌΠ΅Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ скриптовый язык с REPL-ΠΎΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, это Π΄Π΅Π»Π°Π΅Ρ‚ интСрфСйс ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для Π±ΠΎΠ»Π΅Π΅ слоТных Π·Π°Π΄Π°Ρ‡. (Π­Ρ€ΡƒΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈ Π² АвтокадС Π΅ΡΡ‚ΡŒ лисповая консоль, ΠΈ всС пСрСчислСнныС ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Π² Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ β€” ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π»ΠΈΠ½ΠΈΠΈ). Но Π² силу описанных Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это ΠΎΠ±ΠΌΠ΅Π½ удобства использования Π½Π° Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому Π² cli Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. И ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этом ΡΡƒΡ‚ΡŒ ΠΈ Π³Π΅Π½ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ графичСского интСрфСйса.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ
Рис. 3. ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Автокада.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *