Зачем нужна командная строка?
Командная строка (cmd), в Линуксе называется "терминал" - способ давать компьютеру команды. Кстати, на Внндоусе есть "старший брат" командной строки - PoweShell. Насколько я знаю, там больше возможностей, т.е. там можно выполнять команды, которые не выполняются в командной строке (не спрашивайте, зачем тогда нужно и то, и то, я особо в эту тему не вникал, если вы вникали - напишите автору).
Обычно первокурам о ней кратко рассказывают в начале 1-го сема, учат cd (change directory) и mkdir(make directory). Внимание, вопрос: ЗАЧЕМ, ЕСЛИ МОЖН ЭТО СДЕЛАТЬ МЫШКОЙ ЗА ПАРУ КЛИКОВ?

Как это часто бывает, ответом является лейт-мотив: если вы обычный юзер, то создавайте кликами (да даже если вы программист, свои личные папки с вашими фотками из летних поездок вы будете создавать кликами). Но когда речь заходит о программировании, аппаратное создание файлов может быть удобнее.

Представим себе, что вы сисдамин и вам нужно установить на 100 компудахтеров сотрудников ПО в нужну папку, а затем ещё его и правильно настроить. Да вы чокнетесь подобное выполнять. Вы напишите батник: "скачай это туда", "поставь это в ту папку" и разошлёте всем своим сотрудникам, чтобы они тупо открыли один файл и всё у них заработало. Вообще, когда вы открываете любое приложение, любую программу, под этим скрывается 100500 cd и mkdirов, которые вы не видите.

Ещё пример - это выполнение операций с git. git - это инструмент, который помогает загружать и разгружать файлы в Гитхаб. Представьте, что вы в команде разрабов, и актуальная версия проекта лежит на гитхабе. Вам пришлось, если бы не командная строка, каждый раз:
1) заходить во вкладку в браузере,
2) скачивать папку,
3) удалять старую версию у вас на ПК,
4) переносить папку с актуальным проектом в рабочую папку из загрузок
И это лишь скачка, а нужно и ветку делать (чтобы если ваши изменения оказались говном, их можно было бы откатить), и потом обратно на гитхаб отправить.

Так вот, с cmd всё проще некуда: git clome "ссылка на гитхаб". Усё. Новая ветка создаётся одной командой, и отправка на гитхаб - тоже. Причём на гитхаб отправляются только нужные файлы, относящиеся к проекту. Представьте, если бы вы это делали вручную и случайно бы приобщили к проекту вашу драгоценную папку с порнухой ))))

Можно привести и ещё пример. Мне однажды потребовалось склеить два txt-файла в один. Казалось бы, можно просто скопировать содержимое одного в другого, но они весят по 10 МБ (это ещё "детский" размер, файлы из ЦЕРНа могут и по пентабайту весить). А с командной строкой всё просто: concatenate ваши файлы > конечный файл (или что-то в таком духе, я не помню точный синтаксис). Кстати, слово contatenate (я читаю на латинский манер - "конкатенация") - советую запомнить. На Ютубе есть классный ролик на эту тему, поясняющий, что это за конкатенация