Это старая версия документа!


Текстовая консоль

Консоль (текстовая), терминал (текстовый), командная строка, все это названия одного и того-же инструмента.

Данный инструмент уходит корнями в те времена, когда мониторов еще не было и весь вывод компьютера попадал на принтер.

Тем не менее даже сейчас этот инструмент остается востребованным во многих задачах.

Консоль позволяет не только выполнять определенные команды оболочки (cmd.exe, bash, shell), но и позволяет непосредственно запускать различные программы. Для того, чтобы определять режим работы программ, используется вызов с аргументами командной строки.

Взаимодействие пользователя с консолью происходит по следующей схеме: пользователь набирает текстовую команду, нажимает Enter и ожидает ее завершения. Разработчики не любят много печатать, поэтому обычно консольные приложения имеют короткие имена (wc, grep, sed, awk).

Примеры консольных команд в Windows

Открыть в программе Блокнот файл file.txt

notepad C:\file.txt

Отобразить в консоли информацию о сетевых подключениях:

ipconfig /all

Консольные приложения

Достоинства:

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

Недостатки:

  • Нет никакого интерактивного взаимодействия с пользователем
  • Нет никакого WYSIWYG (What You See Is What You Get – «что видишь, то и получишь»)
  • Пользователь не может догадаться о функциях приложения, нужно читать документацию

Полумеры:

  • Псевдографический интерфейс (Norton Commander, MC, nano, и др.)
  • Интерактивный ввод и автодополнение в консоли

Как работать в консоли

В Windows в меню найти CMD или Командную строку или нажать Win-R, ввести cmd и нажать Выполнить.

Откроется окно консоли, где будет показано так называемое приглашение. Строка приглашения, как правило, включает имя текущей папки, а также может включать имя пользователя и имя компьютера.

Предположим, что я хочу запустить программу «hello.exe» передав ей для обработки файл «data.txt». Предположим, что в документации к программе «hello.exe» написано, что входной файл должен передаваться с клюем «-f», тогда проще всего запустить эту программу в консоли с использованием абсолютных путей:

"С:\Program Files\Hello\hello.exe" -f "C:\Мои документы\data.txt"

Без кавычек система интерпретировала бы эту строку как: вызвать программу «С:\Program» с аргументами «Files\Hello\hello.exe», «-f», «C:\Мои» и «документы\data.txt».

Но программисты очень не любят печатать, поэтому еще на заре развития информационных технологий были придуманы ряд приемов:

  • Путь к папке программы «С:\Program Files\Hello\» можно добавить в специальный список (переменная окружения «PATH») и тогда вызывать «hello.exe» можно будет без указания пути
  • Если в папке «C:\Мои документы» лежат несколько файлов, то можно сделать эту папку текущей и тогда если у файла не задан абсолютный путь (который начинается с имени диска в Windows и с символа / в Linux и MacOS) то операционная система будет искать его в текущей папке.
cd "C:\Мои документы\"
hello.exe -f data.txt

Файлы, имена файлов, расширения