Зачем нужна командная строка в современных компьютерах

Почти все совре­мен­ные про­грам­мы и опе­ра­ци­он­ные систе­мы рас­счи­та­ны на управ­ле­ние либо паль­цем, либо мыш­кой. И это очень хоро­шо, если вы впер­вые откры­ли ком­пью­тер и ещё не зна­е­те, что тут где. Все икон­ки выве­де­ны на экран, вы може­те выбрать нуж­ную коман­ду, всё наглядно.

Но вы заме­ти­те, что опыт­ные поль­зо­ва­те­ли почти не каса­ют­ся мыш­ки: боль­шую часть рабо­ты они дела­ют с кла­ви­а­ту­ры, и это у них полу­ча­ет­ся гораз­до быст­рее. Это свя­за­но с тем, что нажи­мать на кла­ви­ши гораз­до быст­рее, осо­бен­но если уже есть мышеч­ная память. 

У про­грамм есть горя­чие кла­ви­ши, что­бы уско­рять рабо­ту. А у опе­ра­ци­он­ной систе­мы есть команд­ная стро­ка — это как горя­чие кла­ви­ши, толь­ко для все­го компьютера.

Что может командная строка

Команд­ная стро­ка может всё, что может опе­ра­ци­он­ная систе­ма, и больше:

  • копи­ро­вать и пере­ме­щать фай­лы, пере­име­но­вы­вать их и созда­вать новые папки;
  • фор­ма­ти­ро­вать дис­ки, под­клю­чать их и отключать;
  • запус­кать при­ло­же­ния и про­грам­мы без интер­фей­са, давать им зада­ния, полу­чать результат;
  • менять пара­мет­ры систе­мы, рабо­тать с сетью;
  • до опре­де­лён­ной сте­пе­ни — авто­ма­ти­зи­ро­вать все эти дела; и мно­гое другое.

Кор­рект­нее ска­зать так: команд­ная стро­ка уме­ет всё, что уме­ет опе­ра­ци­он­ная систе­ма, и даже больше.

Как вызвать командную строку

Команд­ная стро­ка встро­е­на в каж­дый ком­пью­тер с Windows или MacOS. Про­грам­му, кото­рая даёт доступ к команд­ной стро­ке, назы­ва­ют терминалом. 

Если у вас Windows, для вызо­ва тер­ми­на­ла нуж­но нажать ком­би­на­цию кла­виш Win+R, в появив­шем­ся окне набрать cmd и нажать Enter. В MacOS — нажать Cmd+пробел, набрать terminal и тоже нажать Enter (это стан­дарт­ная настрой­ка, её мож­но изменить). 

Перед вами появит­ся окно, куда мож­но вво­дить коман­ды для компьютера.

Командная строка в Windows Команд­ная стро­ка в Windows 
Терминал в MacOS Тер­ми­нал в MacOS 

Как работает

Смысл команд­ной стро­ки такой: вы пише­те коман­ды для ком­пью­те­ра, а он их выпол­ня­ет. Все коман­ды делят­ся на внут­рен­ние и внешние.

Внут­рен­ние коман­ды — это те, кото­рые уже встро­е­ны в опе­ра­ци­он­ную систе­му. С их помо­щью мож­но управ­лять ком­пью­те­ром в рам­ках базо­вых воз­мож­но­стей опе­ра­ци­он­ной системы.

Встроенная в Windows команда dir выводит список всех файлов и каталогов в текущей папке Встро­ен­ная в Windows коман­да dir выво­дит спи­сок всех фай­лов и ката­ло­гов в теку­щей папке 

Внеш­ние коман­ды — это все про­грам­мы, кото­рые поль­зо­ва­тель ста­вит на ком­пью­тер сам. Часто быва­ет так, что при уста­нов­ке про­грам­ма добав­ля­ет в систе­му нуж­ные для себя вспо­мо­га­тель­ные про­грам­мы — и они тоже ста­но­вят­ся внеш­ни­ми коман­да­ми. Например:

  1. вы поста­ви­ли на ком­пью­тер про­грам­му VS Code, что­бы про­грам­ми­ро­вать на Python;
  2. после это­го вы може­те в команд­ной стро­ке набрать code, нажать кла­ви­шу вво­да, и про­грам­ма запустится;
  3. это зна­чит, что сра­зу после уста­нов­ки этой про­грам­мы у ком­пью­те­ра появи­лась новая коман­да — code.

Запускаем VS Code из командной строки Запус­ка­ем VS Code из команд­ной строки 

Параметры команд

У мно­гих команд есть пара­мет­ры, кото­рые дают допол­ни­тель­ные возможности. 

Напри­мер, мы уже виде­ли, как коман­да dir без пара­мет­ров про­сто выда­ёт нам спи­сок всех фай­лов и ката­ло­гов в теку­щей пап­ке. Но если мы доба­вим пара­метр /p, то она пока­жет на экране не весь спи­сок сра­зу, а по частям, что­бы всё поме­ща­лось на экран:

Зачем нужна командная строка

А та же коман­да dir c пара­мет­ром /w убе­рёт все подроб­но­сти и выве­дет содер­жи­мое пап­ки в виде несколь­ких колонок:

Зачем нужна командная строка

Пара­мет­ры вызо­ва мож­но ком­би­ни­ро­вать и добав­лять к ним свои запро­сы. Напри­мер, если нам нуж­но запу­стить VS Code так, что­бы он на стар­те открыл опре­де­лён­ный файл ninja_sword.js, то мож­но напи­сать так:

code d:/ninja_sword.js

открыть файл в VS code через командную строку

Примеры использования

С помо­щью команд­ной стро­ки мож­но решать мно­го раз­ных задач — от управ­ле­ния сер­ве­ром до поис­ка фай­лов. Но вся мощь про­яв­ля­ет­ся в слу­ча­ях, когда нам нуж­но сде­лать мно­го одно­тип­ных операций.

Пред­ста­вим такую ситу­а­цию: мы ска­ча­ли 30 под­ка­стов, кото­рые хотим послу­шать в доро­ге. Но после ска­чи­ва­ния выяс­ни­лось, что гром­кость у всех запи­сей очень тихая, и даже если выкру­тить всё на мак­си­мум, её всё рав­но не хва­та­ет. Что­бы послу­шать под­ка­сты, нам придётся:

  1. запу­стить аудиоредактор, 
  2. по оче­ре­ди открыть в нём каж­дый файл, 
  3. вруч­ную уста­но­вить нуж­ный уро­вень громкости,
  4. сохра­нить файл,
  5. открыть сле­ду­ю­щий и повто­рить всё то же самое,
  6. повто­рить ещё 28 раз

Оче­вид­но, что это зай­мёт мно­го вре­ме­ни, и про­ще ска­чать дру­гие под­ка­сты, чем тра­тить столь­ко сил на эти. Но, напри­мер, в MacOS мы можем открыть тер­ми­нал и напи­сать там две команды:

cd podcasts

for file in *; do wc -l $file; lame --scale 8 $file; done

Пер­вая коман­да пере­хо­дит в ката­лог с под­ка­ста­ми, а вторая:

  1. берёт все фай­лы в этой папке;
  2. полу­ча­ет их коли­че­ство и название;
  3. в цик­ле запус­ка­ет про­грам­му lame и ука­зы­ва­ет пара­мет­ры для неё — под­нять гром­кость в 8 раз у это­го файла;
  4. повто­ря­ет цикл до тех пор, пока не обра­бо­та­ют­ся все файлы.

В резуль­та­те мы в той же пап­ке полу­чим те же фай­лы, но с уве­ли­чен­ной гром­ко­стью. По вре­ме­ни это будет гораз­до быст­рее, чем делать всё вруч­ную. Но для это­го нуж­но знать воз­мож­но­сти команд­ной стро­ки, уметь с ней рабо­тать, знать коман­ды и их параметры.

Вот что ещё мож­но делать через команд­ную строку:

  • сле­дить за нагруз­кой на процессор;
  • настра­и­вать авто­об­нов­ле­ния программ;
  • делать резерв­ные копии по расписанию;
  • гене­ри­ро­вать тек­сты с помо­щью ней­рон­ки и резуль­тат сра­зу пуб­ли­ко­вать в телеграм-канале;
  • соби­рать почту со всех ящи­ков, филь­тро­вать толь­ко важ­ные пись­ма, соби­рать их в одно, кра­си­во его офор­мить и рас­пе­ча­тать на принтере;
  • и что угод­но ещё, если для это­го есть коман­да или пара­метр вызова.

Зачем веб-разработчику командная строка

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

Если же вы зани­ма­е­тесь веб-разработкой, то команд­ная стро­ка вам пригодится:

  • для уста­нов­ки все­го сер­вер­но­го инстру­мен­та­рия, напри­мер PHP, Apache и MySQL;
  • для рабо­ты с API и запросами;
  • для настрой­ки сер­вер­но­го окру­же­ния и раз­гра­ни­че­ния доступа;
  • для рабо­ты с репо­зи­то­ри­я­ми и для созда­ния резерв­ных копий проектов;
  • для тести­ро­ва­ния сер­ве­ра под нагрузкой;
  • для полу­че­ния логов для ана­ли­за рабо­ты сер­вер­ной части.

Текст:
Миха­ил Полянин

Редак­тор:
Мак­сим Ильяхов

Худож­ник:
Даня Бер­ков­ский

Кор­рек­тор:
Ири­на Михеева

Вёрст­ка:
Мария Дро­но­ва

Соц­се­ти:
Олег Веш­кур­цев