Это старая версия документа!
Текстовая консоль
Консоль (текстовая), терминал (текстовый), командная строка, все это названия одного и того-же инструмента. Его история уходит корнями в те времена, когда мониторов еще не было и весь вывод компьютера попадал на принтер. Тем не менее даже сейчас этот инструмент остается востребованным во многих задачах.
Взаимодействие пользователя с консолью происходит по следующей схеме: пользователь набирает текстовую команду, нажимает Enter и ожидает ее завершения. Программа, в свою очередь, выводит результаты работы в виде текста. Все команды делятся на две группы: команды оболочки (cmd.exe, bash, shell), и команды на запуск программ. С точки зрения пользователя они не различаются. Для того, чтобы определять режим работы программ, используется так называемые аргументы командной строки. Например при открытии файла в проводнике на самом деле запускается ассоциированная программа, а первым аргументом ей передается имя открываемого файла.
Примеры консольных команд в 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 и нажать Выполнить.
Откроется окно консоли, где будет показано так называемое приглашение. Строка приглашения, как правило, включает имя текущей папки, а также может включать имя пользователя и имя компьютера.
Команды оболочки можно запускать немедленно, например «ls» - список файлов в текущей папке или «mkdir» - создать папку.
Аргументы командной строки
Текущий каталог
Запуск программ
Предположим, что я хочу запустить программу «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».
Но программисты очень не любят печатать, поэтому еще на заре развития информационных технологий появилась идея размещать все исполняемые файл в определенных папках, а путь к ним прописать в специальном списке (переменная окружения «PATH») и тогда вызывать «hello.exe» можно будет без указания пути
- Путь к папке программы «С:\Program Files\Hello\» можно добавить
- Если в папке «C:\Мои документы» лежат несколько файлов, то можно сделать эту папку текущей и тогда если у файла не задан абсолютный путь (который начинается с имени диска в Windows и с символа / в Linux и MacOS) то операционная система будет искать его в текущей папке.
cd "C:\Мои документы\" hello.exe -f data.txt
Имена файлов и расширения
По историческим причинам имя файла состоит из двух частей - собственно имя и одно или несколько расширений, разделенных точкой, например «file.txt», «program.exe», «archive.tar.gz», где «.txt», «.exe» и «.tar.gz» - расширения.
Расширения используются для определения типа файлов и выбора программы для работы с ним. Хотя файл может и не иметь расширения вовсе, обычно оно присутствует. Проводник Windows имеет дурную привычку скрывать расширения для большинства типов файлов.