Для работы с командной строкой понадобятся две вещи:
Терминалом называют программу, которая эмулирует поведение "железного" терминала, состоящего из клавиатуры и монитора. В простейшем случае — это просто окошко с командной строкой внутри. Хороший терминал всё же не ограничивается одним окном, а позволяет открывать новые терминалы в табах — по такому же принципу, как работают вкладки в браузере.
Некоторые терминалы позволяют делать сплиты, то есть разделять окно на части. Довольно удобный механизм, он реализован, например, в iterm2:
Хорошие терминалы также умеют восстанавливать завершённую сессию, создавать профили под разные задачи и многое другое.
У этого понятия множество синонимов, среди них shell ("шелл"), командная оболочка и командный процессор. Командная оболочка — программа, через которую пользователь (или администратор) управляет операционной системой и установленными программами, используя командную строку. Оболочка отличается от большинства других программ тем, что она является лишь средством для выполнения определённых задач, а не самой задачей. Shell запускается внутри терминала и приглашает к вводу команд.
~$ █
Каждая строка, передаваемая пользователем системе — это команда, которую та должна выполнить. После ввода команды обязательно нажать Enter, только в этом случае она отправится на исполнение. До этого момента её можно редактировать.
Символ $
используется как разделитель. Слева от него — настраиваемое сообщение для вывода, обычно текущая директория, а справа — то, что вводится пользователем. Все примеры в дальнейшем будут демонстрироваться без этого сообщения и символа. Ниже пример использования команды date
, которая выводит текущую дату.
date
Sun Aug 26 14:02:59 CEST 2018
█
Другой пример команды — комментарии. Как и в любых языках программирования, они ни на что не влияют, но ими мы будем пользоваться в дальнейшем для описания происходящего:
# Комментарий
█
Командная оболочка позволяет запускать на выполнение установленные программы, но это далеко не всё, на что она способна. Для комфортной работы полезно иметь автозавершение имён программ, файлов, историю введённых команд, возможность перемещаться по файловой системе, удобные горячие клавиши, поддержку скриптов. Далее по курсу мы раскроем многие из этих аспектов. Командные оболочки, как и терминалы, бывают разные, хотя по умолчанию в большинстве операционных систем стоит Bash.
Командная оболочка и терминал — не одно и то же. Терминал — это программа, которая запускает командную оболочку внутри себя.
Как вы увидите далее, shell
— это полноценная среда программирования, а многие команды являются стандартными конструкциями любого языка программирования, такими как переменные, циклы или условия. Кроме того, некоторые команды являются программами, а некоторые — нет. В ближайших уроках для простоты мы будем говорить слово «команда», но потом объясним разницу.
Командную оболочку нередко называют реплом (REPL, Read-Eval-Print-Loop), что отражается в способе взаимодействия с пользователем:
Этот процесс называется интерактивной сессией: после загрузки шелл ждёт ввода команды, затем он её исполняет, выводит результат и снова ждёт ввода команды. Так происходит до тех пор, пока не будет дана команда на выход из терминала или выключение компьютера. REPL — широко распространённый способ взаимодействия с пользователем. В следующих курсах вы увидите, что он есть и у баз данных, и у языков программирования.
Для вашего удобства, в среде Хекслета сразу запущено два терминала, которыми можно и нужно пользоваться, выполняя упражнения к урокам. Терминалы доступны в нижних вкладках (там, где описание задачи) под именами Terminal 1 и Terminal 2.
Во время изучения и экспериментов достаточно легко допустить ошибки. Всегда внимательно читайте вывод, в случае паники переоткройте терминал. Это позволит начать всё с чистого листа (если, конечно, не было произведено деструктивных действий).
Для того, чтобы научиться работать в командной строке, нужно как можно больше практиковаться. Для этого вам потребуется терминал.
Установите терминал под вашу операционную систему, если его нет. Если вы используете Linux или MacOS, в вашей операционной системе уже есть установленный терминал. Можете использовать его или скачать более продвинутую версию, например, iTerm2 для MacOS и Tilix для Linux. Если вы работаете с ОС Windows, вам потребуется использовать WSL.
Убедитесь, что внутри запускается bash-сессия. Сделать это можно так:
echo $SHELL
/bin/bash # - это вывод команды, введённой выше
Вам ответят команда поддержки Хекслета или другие студенты.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт