Содержание

Зачем нужна командная строка и как её вызвать — Журнал «Код»

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

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

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

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

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

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

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

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

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

iTerm2: модный терминал маковода

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

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

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

Как работает

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

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

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

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

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

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

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

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

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

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

code d:/ninja_sword.js

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

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

Представим такую ситуацию: мы скачали 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 и запросами;
  • для настройки серверного окружения и разграничения доступа;
  • для работы с репозиториями и для создания резервных копий проектов;
  • для тестирования сервера под нагрузкой;
  • для получения логов для анализа работы серверной части.

Текст

Михаил Полянин


Редактор

Максим Ильяхов


Художник

Даня Берковский


Корректор

Ирина Михеева


Вёрстка

Мария Дронова


Соцсети

Олег Вешкурцев

Зачем уметь работать в командной строке? / Хабр

Сегодня мы поговорим о том, зачем учить операционную систему GNU/Linux, о преимуществах работы в командной строке и о том, как это все связано с философией Unix.

Это не перевод, а мой авторский текст, появившийся в результате долгих чтений комментариев на хабре и других всевозможных интернет ресурсов. Я не ставил целью задеть чьи-то чувства или оскорбить, а любые совпадения случайны. Прошу отнестись с пониманием.

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

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

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

“Как я запущу Фотошоп на этом вашем Линуксе? Мне же нужно работать, а не заниматься ерундой.”

Поймите меня правильно, такой подход весьма удачно работает, когда речь заходит о профессиональных пакетах: инженерных, творческих, например, AutoCAD, MATLAB, Adobe Photoshop, Blender и многих других. Эти большие и довольно раздутые программные решения позволяют миллионам людей по всему миру осваивать полезные профессии и создавать потрясающие продукты, перенимая лучшие практики и стандартизируя рабочий процесс.

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

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

Эти строительные блоки являются простыми программами, утилитами, которые сами по себе могут быть довольно бесполезными, но изначально спроектированными для использования в связке с другими. В операционной системе GNU/Linux около сотни таких базовых утилит, доступных из коробки в любом типовом дистрибутиве. Еще тысячи, как правило, находятся в стандартных репозиториях и могут быть установлены при желании одной командой. Многие из этих утилит можно запускать в разных режимах, используя стандартизированную систему флагов. Благодаря этой гибкости мы имеем по-настоящему безграничное поле для экспериментов, где ваши возможности может ограничить только ваша фантазия.

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

Если бы систему Unix создавали сегодня, я полагаю, такой подход просто не одобрили бы. К примеру, ввели бы систему объектов, как это сделано Майкрософтом в PowerShell, либо навязали бы использовать для обмена данными некий сериализованный формат данных, вроде JSON или YAML. Несомненно, использовали бы шифрование, сертификаты для подписывания пакетов данных, протокол был бы бинарным и не читаемым без использования специальных утилит. А работа с файловой системой и с ядром из пространства пользователя напоминала бы работу с базой данных.

Однако, на наше счастье, все эти традиции к переусложнению появились гораздо позже, и отцы-основатели системы Unix этим не слишком грешили. И, конечно, поступили мудро.

“Я вообще Python учу, за ним будущее, а этот ваш баш — это какая-то устаревшая жесть”

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

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

“Линукс нужно допиливать напильником, чтобы выглядел достойно. Вот мои конфиги.”

Если вы программист, то, как правило, ваш мир ограничен только одним вашим персональным компьютером, куда вы можете устанавливать любые программы для повышения эффективности своей работы. Поэтому на вашей машине наверняка будут установлены десятки дополнительных утилит, а стандартный Bash будет заменен на продвинутый Zsh. Конфигурационные файлы многих программ будут подстроены под себя, и множество “алиасов” под часто запускаемые сценарии создадут тот комфортный язык общения с компьютером, который будете понимать только вы. Вы даже можете использовать какой-либо экзотический графический интерфейс, вроде тайлового менеджера i3, со своими настройками и горячими клавишами.

Доведя этот процесс до предела, ваше виртуальное рабочее место по навороченности и технологичности может напоминать кабину космического аппарата из научно-фантастического фильма.

“И это правильно, я меньше чем с тремя экранами не работаю. И только с механической клавиатурой.”

Однако, что же делать тем специалистам, которые строят и администрируют комплексные системы, состоящие из тысяч серверов? У них просто нет возможности установить на все машины удобные утилиты и подстроить все под себя. Зачастую нет даже возможности физически установить что-либо, так как выход в интернет на продакшен-сервере может быть и вовсе заблокирован. А часть виртуальных машин будут настолько древними или настолько важными, что вы и дышать на них будете бояться, чтобы случайно что-то не сломать.

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

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

“А я работаю с Remote Desktop к моей рабочей машине и пишу код. Все шустро работает.”

Представте, что вы работаете из дома, подключаясь к своему офисному компьютеру через зашифрованный VPN-шлюз. Компания решила, что напрямую подключаться к продакшен-системе вы не можете, а можете только из подсети вашего офисного компьютера. Поэтому мы подключаемся к этому компьютеру, чтобы затем уже с него переподключиться к удаленному серверу в интернете. Однако этот сервер — это всего лишь контролирующий сервер, который еще иногда называется Bastion Host, у которого один сетевой интерфейс подключен к всемирной сети, а второй к внутренней защищенной сети, где расположены все самые важные сервера. Поэтому уже через него мы должны переподключиться непосредственно к тому серверу, с которым изначально хотели работать.

Согласитесь, что графический интерфейс просто не сможет адекватно работать в таких условиях. Передавать изображение на такие растояния, через такое количество промежуточных узлов можно, но это будет крайне не удобно. Получаемая картинка не будет обновляться в реальном времени, создавая в лучшем случае постоянные задержки, в худшем — постоянные разрывы соединения. Да и задержка порой такая, что работать просто не возможно.

Однако, даже если между вашим компьютером и конечным сервером пропускная способность сети всего несколько килобайт в секунду, а такое бывает довольно часто, подключаться к виртуальному терминалу по SSH все еще может быть достаточно комфортно. Используя интерфейс командной строки, вы сможете сделать любое изменение, проверить и устранить любую неисправность, протестировать приложение, проверить систему на безопасность, проверить логи системы и многое другое. Все, что от вас требуется, это знать, какие команды запускать и в каком порядке. А система отзывчиво сделает все, о чем вы ее просите, без лишних вопросов. Так, словно вы работаете не на удаленном сервере, расположенном на другой стороне Земли, а на своей домашней станции. Это происходит потому, что передать короткую текстовую команду во много раз проще, чем непрерывный видео поток.

«Все же как-то странно в 21-м веке пялиться в черный экран, графический интерфейс лучше”

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

Можно сколько угодно кричать о старомодности, об устаревании и о том, что работа в консоли не удобна, но факт остается в том, что в мире IT работа в терминале является главным и часто единственным возможным способом работы со сложными информационными системами.

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

“Мне достаточно Windows. Много лет с ним работаю и меня все устраивает. А для игр у меня PlayStation”

Понятно, что если вы используете компьютер для развлечений, то, скорее всего, вы используете операционную систему, вроде Microsoft Windows или MacOS, и вполне довольны этим. Если ваша профессия просто не оставляет иного выбора, вы будете использовать то программное обеспечение, что используют ваши коллеги и никаких проблем при этом не испытывать.

Однако, давайте посмотрим на это шире. Что, если вы используете свой компьютер для задач, для которых не существует единого и общепринятого инструментария? Представьте себе сотни серверов, разбросанных по разным точкам земного шара, десятки сложных систем, вроде Kubernetes, реляционных и документо-ориентированных баз данных, брокеров сообщений, различной вспомогательной инфраструктуры. В сложных микросервисных архитектурах, состоящих из сотен взаимодействующих друг с другом сервисов, ежедневно приходится иметь дело с множеством абстракций и условностей, которые и запомнить-то не просто, не то, что с ними работать. Программисты, системные администраторы, DevOps инженеры, специалисты по сетевой безопасности, аналитики данных — все эти профессии требуют разных инструментов, разных навыков и подходов. Да и среди одних и тех же программистов есть те, кто разрабатывают прикладное программное обеспечение, другие разрабатывают сайты или мобильные приложения. Есть те, кто больше специализируется на фронтенде или на бекенде. Но не нужно забывать и о тех, кто работает близко к железу и пишет драйвера устройств или разрабатывает встроенные системы. И это только некоторые из возможных направлений.

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

Да, возможно, не так красиво, не так презентативно, но, с точки зрения инженера, командная строка полностью покрывает потребности и позволяет не отвлекаться и сосредоточиться непосредственно на самой задаче.

Поэтому сама постановка вопроса “что лучше” лишена смысла. Для решения тех задач, которые ставит перед нами профессия в ранее перечисленных специальностях, командная строка — это лучший возможный интерфейс, который за счет своей простоты может использоваться в любых приложениях даже для решения тех задач, для которых не создавался. 

“Да кто вообще использует эту операционную систему. Мак лучше”

Обыватели склонны преувеличивать значение операционных систем от Майкрософт и Apple, считая их за некий общемировой стандарт, поскольку в ежедневной деятельности у них нет возможности убедиться в том, что может быть как-то иначе. Да, сегодня операционные системы на базе ядра Linux не могут занять достойное место в ряду десктопных систем, хотя фактически ничем им не уступают. Однако, давайте будем честны и не забудем упомянуть, что по какой-то причине те же корпорации полностью проиграли на рынке серверных решений. И сегодня операционная система GNU/Linux и отчасти системы семейства BSD полностью доминируют в этом сегменте.

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

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

“Стойте, а как же .Net? Это же очень популярная технология”

И да, я знаю, что .Net и некоторые другие решения активно используются на бекенде многих уважаемых компаний. Однако, это скорее отклонение от нормы, и мировые тенденции скорее говорят об обратном. Доминирование таких платформ, как Java, они пошатнуть не в состоянии, а та же Java прекрасно себя чувствует на серверах с GNU/Linux и OpenJDK на борту. Даже если сами разработчики используют в своей работе систему от Майкрософт и Linux в глаза не видели.

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

Сам факт существования таких систем, как Mono, делающей разработку на .Net кросплатформенной и WSL, позволяющей использовать Linux внутри Windows, говорят о том, как шатко сегодня положение Windows в этом сегменте рынка.

“Я вообще писатель и зачем мне может потребоваться погружаться во все это?”

Даже если вы не инженер и непосредственно с вашей деятельностью это перекликается слабо, у операционной системы GNU/Linux в запасе много интересных и полезных инструментов, которые имеют не только специфичное “айтишное” применение, но и являются частью всемирного наследия. К таковым, например, можно отнести систему контроля версий Git и систему компьютерной верстки текста TeX. 

Я еще раз хочу подчеркнуть, что нет необходимости воспринимать так называемую философию Unix как истину в последней инстанции. Это всего лишь абстракция, идея, которая в некоторых случаях может быть удобна, в других не достаточна. Однако тот факт, что она вот уже столько лет активно используется и за это время никаких реальных альтернатив придумано не было, заставляет признать, что испытание временем она выдержала и никуда уходить не собирается.

“Линукс полностью устарел, и все нужно переписывать. Там вообще весь код из семидесятых, максимум девяностых.”

Однако, среди всего многообразия мнений переодически встречается и такое, что весь этот подход устарел и его необходимо полностью пересмотреть. Все эти утилиты операционной системы, вроде текстового редактора vim, командной оболочки bash, системы инициализации systemd и многих других (нужное подчеркнуть) используются только потому, что все еще по старинке предустановлены в большинстве дистрибутивов и только поэтому все еще популярны. Если бы не этот сдерживающий прогресс фактор, не оставляющий шансов молодому поколению в их стремлении “сделать мир лучше”, мы бы уже давно пользовались удобными инструментами, а не были бы заложниками этого исторического хлама.

К сожалению, такой подход часто можно встретить в различных обсуждениях, а значит подобное убеждение плотно засело в головах у множества людей. Нет ничего проще, чем выдрать из исторического контекста некоторое утверждение и возвести его в абсолют. Что же, позвольте продолжить такую линию рассуждений и поговорить о том, что и само ядро Linux полностью устарело хотя бы потому, что является монолитным. Давайте перепишем и его и перейдем на более “прогрессивную” микроядерную архитектуру, как это сделано, например, в операционной системе Minix.

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

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

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

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

Поэтому давайте не забывать о принципе историзма и строить наши карьеры и жизни, исходя из этого понимания. А также не забывать о том, что мы, если и можем чего-то добиться, то это только потому, что, вне всякого сомнения, стоим на плечах гигантов.

А на сегодня это все.

Знакомство с командной строкой · HonKit

Для тех, кто проходит руководство дома: о материале этой главы рассказывает видео Ваш новый друг — командная строка.

Вот это да! Всего через несколько минут ты напишешь свою первую строку кода! 🙂

Позволь представить нашего первого нового друга: командную строку!

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

Примечание Пожалуйста, обрати внимание, что в этом руководстве мы используем термины «каталог» и «папка» взаимозаменяемо: эти слова обозначают одно и то же.

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

Окно, которое обычно называют командной строкой или интерфейсом командной строки (англ. CLI, Command Line Interface)

, является текстовым приложением для просмотра, обработки и манипулирования файлами на вашем компьютере. Она делает то же, что и Проводник в Windows или Finder в Mac OS X, но у неё нет графического интерфейса. Другими названиями для командной строки являются: cmd, CLI, prompt, консоль или терминал.

Открываем интерфейс командной строки

Для того, чтобы начать экспериментировать, нам нужно сначала открыть интерфейс командной строки.

Windows

В зависимости от твоей версии Windows и того, какая у тебя клавиатура, одно из следующих действий откроет окно командной строки (возможно, придётся немного поэкспериментировать, но все варианты пробовать необязательно):

  • Перейди в меню Пуск (или на экран Пуск), в строке поиска набери «Командная строка».
  • Перейди в меню Пуск → Windows → Командная строка.
  • Перейди в меню Пуск → Все программы → Служебные → Командная строка.
  • Перейди на экран Пуск, наведи мышь на нижний левый угол экрана и нажми на стрелочку вниз, которая появится там. (Если у тебя тачскрин, листни пальцем снизу вверх.) Откроется страница «Приложения». Выбери пункт «Командная строка» в разделе «Windows».
  • Удерживая клавишу Windows на клавиатуре, нажми X. В появившемся меню выбери пункт «Командная строка».
  • Удерживая клавишу Windows, нажми R, чтобы появилось окно «Выполнить». Набери в строке cmd и нажми OK.

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

OS X

Перейди в Приложения → Прочие → Терминал.

Linux

Вероятно, командная строка скрывается по адресу: Приложения → Стандартные → Терминал или Приложения → Система → Терминал, но это может зависеть от конкретной системы. Если не сможешь найти — Google поможет 🙂

Командная строка

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

OS X и Linux

Если у тебя Mac или Linux, ты, скорее всего, увидишь знак $ в конце строки (перед курсором):

command-line

$

Windows

Если у тебя Windows, строка будет оканчиваться символом

>, вот так:

command-line

>

Можешь заглянуть в инструкцию для пользовательниц Linux чуть выше — нам что-то подобное ещё встретится, когда мы дойдём до PythonAnywhere.

Перед каждой твоей командой будет стоять знак $ или > и пробел. Но тебе не нужно их печатать! Компьютер уже сделал это за тебя. 🙂

Небольшое примечание: перед курсором командной строки может быть написано что-то вроде C:\Users\ola> или Olas-MacBook-Air:~ ola$. Это абсолютно нормально.

То, что написано до знака $ или >, плюс сам знак, всё вместе называется приглашением командной строки

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

Далее в руководстве перед каждой командой, которую тебе нужно будет ввести, мы будем писать символ $ или >. Иногда слева от него мы будем добавлять ещё немного текста. Не обращай внимания на левую часть и просто печатай команду — она начинается после специального символа.

Твоя первая команда (УРА!)

Давай введём следующую команду:

OS X и Linux

command-line

$ whoami

Windows

command-line

> whoami

Теперь нажми Enter. Вот что получилось:

command-line

$ whoami
olasitarska

Как видишь, компьютер только что вывел на экран твоё имя пользователя. Классно, а? 🙂

Постарайся набирать каждую команду вручную, а не копировать и вставлять. Так ты больше запомнишь!

Основы

В каждой операционной системе набор команд для командной строки немного отличается, поэтому не забывай следовать инструкциям для своей операционной системы. Давай попробуем, готова?

Текущий каталог

Было бы неплохо знать, где мы находимся сейчас, верно? Давай посмотрим. Набери эту команду и нажми Enter:

OS X и Linux

command-line

$ pwd
/Users/olasitarska

Примечание: ‘pwd’ означает ‘print working directory’ (вывести рабочий каталог).

Windows

command-line

> cd
C:\Users\olasitarska

Примечание: ‘cd’ означает ‘change directory'(сменить каталог). Если ты пользуешься PowerShell, можешь ввести pwd — как на Linux или Mac OS X.

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


Как узнать больше о командах

У многих команд для командной строки есть встроенная справка! Например, вот как узнать подробнее о команде, которая показывает, в какой папке ты сейчас находишься:

OS X и Linux

В OS X и Linux есть команда man — справка о других командах (на английском языке). Набери man pwd и посмотри, что пишут о команде pwd. Используй man с другими командами, чтобы посмотреть для них справку. Как правило, справки man выводятся постранично. Нажми пробел, чтобы перейти на следующую страницу. Чтобы выйти, нажми q.

Windows

Чтобы вывести справку, почти к любой команде можно добавить /?. Чтобы прочитать всю справку, возможно, придётся прокрутить текст вниз. Попробуй набрать

cd /?.

Список файлов и каталогов

Так что же в нем? Было бы здорово узнать. Давай посмотрим:

OS X и Linux

command-line

$ ls
Applications
Desktop
Downloads
Music
...

Windows

command-line

> dir
 Directory of C:\Users\olasitarska
05/08/2014 07:28 PM <DIR>      Applications
05/08/2014 07:28 PM <DIR>      Desktop
05/08/2014 07:28 PM <DIR>      Downloads
05/08/2014 07:28 PM <DIR>      Music
. ..

Примечание: в PowerShell можешь использовать ‘ls’ — как в Linux или Mac OS X.


Смена текущего каталога

Теперь вернёмся в наш каталог рабочего стола:

OS X

command-line

$ cd Desktop

Linux

command-line

$ cd Desktop

Обрати внимание, что название каталога «Desktop» может быть переведено на язык твоей учётной записи в системе Linux. В таком случае набери вместо Desktop переводное название: например, Рабочий стол (в кавычках — они нужны, чтобы командная строка поняла кириллицу).

Windows

command-line

> cd Desktop

Проверь, что рабочий каталог действительно изменился:

OS X и Linux

command-line

$ pwd
/Users/olasitarska/Desktop

Windows

command-line

> cd
C:\Users\olasitarska\Desktop

Вот и он!

Совет от профи: если ты введешь cd D и затем нажмешь tab на клавиатуре, в командной строке будет автоматически набрана остальная часть имени, что позволит быстрее перемещаться по каталогам. Если c «D», начинается название не одной папки, нажми Tab дважды, чтобы получить список вариантов.


Создание каталога

Как насчет создания каталога practice на рабочем столе? Ты можешь сделать это так:

OS X и Linux

command-line

$ mkdir practice

Windows

command-line

> mkdir practice

Эта маленькая команда создаст папку с именем practice на рабочем столе. Ты можешь проверить, появилась ли она, просто взглянув на рабочий стол или введя команду ls (для Linux и macOS) или dir (если у тебя Windows)! Попробуй. 🙂

Совет от профи: если ты не хочешь вводить одни и те же команды снова и снова, попробуй нажать на стрелку вверх и стрелку вниз на клавиатуре для просмотра недавно использованных команд.


Тренируемся!

Небольшая задачка: в недавно созданной папке practice создай папку с названием test. Используй команды cd и mkdir.

Решение:

OS X и Linux

command-line

$ cd practice
$ mkdir test
$ ls
test

Windows

command-line

> cd practice
> mkdir test
> dir
05/08/2014 07:28 PM <DIR>      test

Поздравляем! 🙂


Чистка

Мы не хотим оставлять беспорядок, поэтому давай удалим всё, что мы создали до этого момента.

Во-первых, мы должны вернуться на рабочий стол:

OS X и Linux

command-line

$ cd ..

Windows

command-line

> cd ..

Используя .. с командой cd, ты можешь сменить текущий каталог на родительский (то есть каталог, который содержит в себе текущий).

Проверь, где ты находишься:

OS X и Linux

command-line

$ pwd
/Users/olasitarska/Desktop

Windows

command-line

> cd
C:\Users\olasitarska\Desktop

Пришло время удалить каталог practice:

Внимание: удаление файлов с помощью del, rmdir или rm необратимо. Это означает, что удалённые файлы будут потеряны навсегда! Поэтому будь очень осторожна с этими командами.

Windows Powershell, OS X и Linux

command-line

$ rm -r practice

Командная строка Windows

command-line

> rmdir /S practice
practice, Are you sure <Y/N>? Y

Готово! Давай проверим, что папка действительно удалена:

OS X и Linux

command-line

$ ls

Windows

command-line

> dir

Выход

Вот и всё на данный момент! Теперь можно безопасно закрыть командную строку. Давай сделаем это как хакеры, согласна? 🙂

OS X и Linux

command-line

$ exit

Windows

command-line

> exit

Круто, да?:)

Подведём итоги

Вот краткий обзор некоторых полезных команд:

Команда (Windows)Команда (Mac OS / Linux)ОписаниеПример
exitexitзакрыть окноexit
cdcdизменить каталогcd test
cdpwdвывести текущий каталогcd (Windows) или pwd (Mac OS / Linux)
dirlsсписок каталогов/файловdir
copycpкопировать файлcopy c:\test\test. txt c:\windows\test.txt
movemvпереместить файлmove c:\test\test.txt c:\windows\test.txt
mkdirmkdirсоздать новый каталогmkdir testdirectory
rmdir (или del)rmудалить файлdel c:\test\test.txt
rmdir /Srm -rудалить каталогrm -r testdirectory
[CMD] /?man [CMD]справка для командыcd /? (Windows) или man cd (Mac OS / Linux)

Это лишь некоторые из команд, которые можно использовать в командной строке, но сегодня тебе больше и не пригодится.

Если тебе интересно, на ss64.com можно найти полный справочник команд для всех операционных систем (на английском языке).

Готова продолжить?

Давай погрузимся в мир Python!

Введение | Основы командной строки

Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Написание кода хоть и важная часть процесса программирования, но далеко не единственная. Одно дело — программу (сайт) написать, другое — заставить её работать у пользователя или на сервере. Вот лишь неполный перечень вопросов, на которые вам предстоит ответить, попав в разработку:

  • Как зайти на сервер?
  • Как выгрузить код на сервер?
  • Как запустить сайт?
  • Как перемещаться на сервере?
  • Как редактировать файлы на сервере?
  • Как анализировать проблемы в процессе работы сайта?
  • Как анализировать систему в случае «тормозов» (закончилось место, память, нагружен диск, сеть)?

Особенно интересными эти вопросы становятся в свете того, что на подавляющем большинстве серверов установлен не Windows, а Linux без графической оболочки. Подключившись к удалённой машине, вы увидите мигающий курсор, запущенный в терминале (специальная программа, через которую идёт подключение).

Это командная строка, в которой можно выполнять все те привычные операции, которые делаются на домашнем компьютере: вводить разные команды, запускать программы, анализировать систему. Кому-то такой интерфейс взаимодействия с системой покажется архаичным, но это только на первый взгляд. Текстовый режим даёт множество преимуществ:

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

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

  • Для запуска кода на любом языке нужна командная строка
  • Для совместной разработки нужна командная строка
  • Даже для тех, кто работает исключительно с фронтенд-частью приложения, тоже нужна командная строка. Весь современный инструментарий фронтендеров состоит из десятка консольных (то есть запускаемых в командной строке) утилит, таких как Gulp, Webpack, Babel и так далее. ..

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


Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Электронная почта *

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Профессия

Фронтенд-разработчик

Разработка фронтенд-компонентов для веб-приложений

22 сентября 10 месяцев

Профессия

Python-разработчик

Разработка веб-приложений на Django

22 сентября 10 месяцев

Профессия

Java-разработчик

Разработка приложений на языке Java

22 сентября 10 месяцев

Профессия

PHP-разработчик

Разработка веб-приложений на Laravel

22 сентября 10 месяцев

Профессия

Node. js-разработчик

Разработка бэкенд-компонентов для веб-приложений

22 сентября 10 месяцев

Профессия

Верстальщик

Верстка с использованием последних стандартов CSS

в любое время 5 месяцев

Профессия

Fullstack-разработчик

Разработка фронтенд- и бэкенд-компонентов для веб-приложений

22 сентября 16 месяцев

Для перемещения по курсу нужно зарегистрироваться

1. Введение ↳ теория

2. Операционные системы ↳ теория / тесты

3. Командная строка ↳ теория / тесты / упражнение

4. Навигация ↳ теория / тесты / упражнение

5. Интерфейс командной строки ↳ теория / тесты / упражнение

6. Файловая структура ↳ теория / тесты / упражнение

7. Чтение файлов ↳ теория / тесты / упражнение

8. Grep ↳ теория / тесты / упражнение

9. Редактирование файлов ↳ теория / упражнение

10. Потоки ↳ теория / тесты / упражнение

11. Пайплайн (Конвейер) ↳ теория / тесты / упражнение

12. Манипулирование файловой структурой ↳ теория / тесты / упражнение

13. Переменные окружения ↳ теория / тесты / упражнение

14. История ↳ теория / тесты / упражнение

15. Пользователи и группы ↳ теория / тесты / упражнение

16. Sudo ↳ теория / тесты / упражнение

17. Права доступа ↳ теория / тесты / упражнение

18. Пакетный менеджер ↳ теория / тесты

19. Выполнение программ ↳ теория / тесты / упражнение

Порой обучение продвигается с трудом. Сложная теория, непонятные задания… Хочется бросить. Не сдавайтесь, все сложности можно преодолеть. Рассказываем, как

Не понятна формулировка, нашли опечатку?

Выделите текст, нажмите ctrl + enter и опишите проблему, затем отправьте нам. В течение нескольких дней мы улучшим формулировку или исправим опечатку

Что-то не получается в уроке?

Загляните в раздел «Обсуждение»:

  1. Изучите вопросы, которые задавали по уроку другие студенты — возможно, ответ на ваш уже есть
  2. Если вопросы остались, задайте свой. Расскажите, что непонятно или сложно. Подробный отзыв поможет сделать урок лучше. Если вопрос по коду, обязательно дайте ссылку на сохраненное решение
  3. Наша команда поддержки ответит на ваше обращение в течение 2-3 дней

Подробнее о том, как задавать вопросы по уроку

Оболочки командной строки и командная строка для разработчиков — Visual Studio (Windows)

  • Статья
  • Чтение занимает 6 мин

Применимо к: Visual Studio Visual Studio для Mac Visual Studio Code

Visual Studio включает две оболочки командной строки для разработчиков, командную строку и экземпляр PowerShell, как показано ниже.

  • Командная строка разработчика для Visual Studio — стандартная командная строка с определенными переменными среды, упрощающая работу с инструментами разработки. Доступно с версии Visual Studio 2015.

  • PowerShell для разработчиков Visual Studio — более функциональное средство, чем командная строка. Например, вы можете передать выходные данные одной команды (называемой командлетом) другому командлету. В этой оболочке доступны те же переменные среды, что и в Командной строке разработчика. Доступно с версии Visual Studio 2019.

Начиная с версии 16.5, в Visual Studio 2019 доступен встроенный терминал, где можно работать как с Командной строкой разработчика, так и с PowerShell для разработчиков. Можно открыть несколько вкладок для каждой оболочки. Терминал Visual Studio построен на основе Терминала Windows. Чтобы открыть терминал в Visual Studio, выберите элементы Вид>Терминал.

При запуске в Visual Studio одной из оболочек как отдельного приложения или в окне терминала открывается каталог текущего решения (если оно загружено). Это упрощает выполнение команд для решения или его проектов.

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

Популярные командыОписание
MSBuildСборка проекта или решения
clrverИнструмент .NET Framework для CLR
ildasmИнструменты .NET Framework для дизассемблера
dotnetКоманда CLI .NET
dotnet runКоманда CLI .NET
CLСредство компиляции C/C++
NMAKEСредство компиляции C/C++
LIBСредство сборки С/C++
DUMPBINСредство сборки С/C++

Запуск в Visual Studio

Выполните следующие действия, чтобы открыть в Visual Studio Командную строку разработчика или PowerShell для разработчиков:

  1. Запустите Visual Studio.

  2. В строке меню выберите элементы Инструменты>Командная строка>Командная строка разработчика или PowerShell для разработчиков.

Другой способ запуска оболочек — из меню «Пуск». В зависимости от версии Visual Studio, дополнительно установленных пакетов SDK и рабочих нагрузок может иметься несколько вариантов командных строк.

Windows 11

  1. Нажмите кнопку «Пуск «, а затем в диалоговом окне «Тип» для поиска введите developer command prompt или developer powershell.

  2. Выберите для приложения результат, связанный с текстом поиска.

Windows 10

  1. Нажмите кнопку «Пуск«, а затем прокрутите до буквы V.

  2. Разверните папку Visual Studio 2019 или Visual Studio 2022.

  3. Если вы используете Visual Studio 2019, выберите Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. Если используется Visual Studio 2022, выберите Командная строка разработчика для VS 2022 или PowerShell для разработчиков для VS 2022.

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

Windows 8.1

  1. Перейдите на начальный экран, нажав клавишу с логотипом Windows на клавиатуре, например.

  2. На начальном экране нажмите Ctrl+Tab, чтобы открыть список приложений, а затем нажмите V. Появится список, включающий все установленные командные строки Visual Studio.

  3. Если вы используете Visual Studio 2019, выберите Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. Если используется Visual Studio 2022, выберите Командная строка разработчика для VS 2022 или PowerShell для разработчиков для VS 2022.

Windows 7

  1. Выберите Пуск а затем разверните Все программы.

  2. Выберите элементы Visual Studio 2019>Инструменты Visual Studio>Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. (Если вы используете Visual Studio 2022, найдите те же элементы, которые содержат «2022» вместо «2019».)

Если установлены другие пакеты SDK, например, пакет SDK для Windows 10 или предыдущих версий, могут появиться дополнительные командные строки. Требуемая версия командной строки указана в документации по соответствующим инструментам.

Запуск из обозревателя файлов

Обычно ярлыки для установленных оболочек помещаются в папку меню «Пуск» для Visual Studio, например в %ProgramData%\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools. Но если поиск командной строки не дает ожидаемых результатов, попробуйте вручную найти нужные файлы на компьютере.

Командная строка разработчика

Выполните поиск файла командной строки (VsDevCmd.bat) или перейдите в папку «Инструменты» Visual Studio ( %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools — путь зависит от версии Visual Studio, выпуска и расположения установки).

Когда вы найдете файл командной строки, откройте его. Для этого введите следующую команду в стандартном окне командной строки:

"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"

Кроме того, вы можете ввести следующую команду в диалоговом окне Windows Выполнить:

%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"

Совет

Не забудьте изменить путь в соответствии с используемой версией Visual Studio.

PowerShell для разработчиков

Найдите файл скрипта PowerShell с именем Launch-VsDevShell.ps1 или перейдите в папку «Инструменты» Visual Studio ( %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools). Путь зависит от версии, выпуска и расположения установки Visual Studio. После этого выполните следующую команду в командной строке Windows PowerShell или PowerShell 6:

& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Launch-VsDevShell.ps1'

По умолчанию PowerShell для разработчиков запускается с конфигурацией для той версии Visual Studio, путь установки к которой указан в файле Launch-VsDevShell.ps1.

Совет

Для выполнения командлета необходимо задать политику выполнения .

Сценарий Launch-VsDevShell.ps1 работает путем поиска Microsoft.VisualStudio.DevShell.dll модуля PowerShell в пути установки Visual Studio, его загрузки и последующего вызова командлета Enter-VsDevShell . Установленные сочетания клавиш, например в меню «Пуск», загружают модуль и вызывают командлет напрямую. Использование Launch-VsDevShell.ps1 — это рекомендуемый способ инициализации PowerShell для разработчиков в интерактивном режиме или автоматизации сборки скрипта.

аргументов командной строки;

Можно использовать аргументы командной строки для любой из оболочек, «Командная строка разработчика» или «PowerShell для разработчика».

Целевая архитектура и архитектура узла

Для средств сборки (таких как компилятор C++), которые создают выходные данные, предназначенные для конкретных архитектур ЦП, оболочки разработки можно настроить с помощью определенного аргумента командной строки. Архитектуру двоичных файлов средства сборки также можно настроить с помощью аргументов командной строки. Это полезно, если архитектура компьютера сборки отличается от целевой архитектуры.

Совет

Начиная с Visual Studio 2022, для msbuild по умолчанию будет использоваться 64-разрядный двоичный файл msbuild.exe, независимо от архитектуры узла.

ShellАргумент
Командная строка разработчика-arch=<целевая_архитектура>
Командная строка разработчика-host_arch=<архитектура_узла>
PowerShell для разработчиков-Arch <целевая_архитектура>
PowerShell для разработчиков-HostArch <архитектура_узла>

Важно!

Аргументы -Arch и -HostArch в PowerShell для разработчика доступны только начиная с версии Visual Studio 2022 с обновлением 17. 1.

Ниже приведена таблица со списком поддерживаемых архитектур. В нем также указано, можно ли их использовать для аргументов целевой архитектуры или архитектуры узла.

АрхитектураЦелевая архитектураАрхитектура узла
x86По умолчаниюПо умолчанию
amd64ДаДа
armДаНет
arm64ДаНет

Совет

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

Примеры

Запустите Командную строку разработчика для Visual Studio 2019 Community Edition на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для 64-разрядной архитектуры:

"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd. bat" -arch=amd64

Запустите Командную строку разработчика для Visual Studio 2019 Community Edition на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для ARM:

"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=arm -host_arch=amd64

Запустите PowerShell для разработчиков для версии Community Edition Visual Studio 2022 17.1 или более поздней версии на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для arm64:

& 'C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1' -Arch arm64 -HostArch amd64

SkipAutomaticLocation

Начальный каталог оболочки PowerShell для разработчика — это расположение проекта Visual Studio. Этот язык по умолчанию переопределяет все остальные пути, например к рабочему каталогу. Такое поведение можно отключить с помощью аргумента командной строки -SkipAutomaticLocation. Это полезно, если, например, вы хотите, чтобы в оболочке использовался текущий каталог после инициализации.

Расположение проекта можно настроить в меню Средства>Параметры>Проекты &и решения>Расположение проекта.

Совет

Аргументы -Archкомандной строки и -SkipAutomaticLocation поддерживаются как скриптом, -HostArchтак Launch-VsDevShell.ps1 и командлетомEnter-VsDevShell.

См. также

  • Терминал Windows
  • Инструменты .NET Framework
  • Использование набора инструментов C++ Microsoft из командной строки
  • Пользователи Visual Studio Code

Для чего нужна командная строка?


Для чего нужна командная строка?

Командная строка(ее еще называют интерпретатором команд, или командной оболочкой, или командным процессором) — это специальная программа, обеспечивающая связь пользователя напрямую с операционной системой.

Как выйти в командную строку?

Для запуска командной строки есть несколько способов:

  1. Запуск Командной строки из под текущего пользователя. Нажмите Win + R или Пуск — Выполнить. Введите команду cmd и ОК Как видим запуск Командной строки выполнен из под текущего пользователя.
  2. Запуск командной строки от имени администратора

Как в командной строке виндовс перейти в папку?

/d – одновременно изменить диск и каталог. Например, если в командной строке вы находитесь в корневом каталоге диска «D:», введите «cd /d C:\Windows», чтобы перейти в папку «Windows» на диске «C:». \ – перейти в корневой каталог (например, системного диска).

Как перейти в нужную папку в командной строке?

Как перейти в папку в командной строке Для того чтобы вернуться назад (перейти на уровень выше по дереву папок) нужно вводить команду: cd .. Команду CD можно вводить СHDIR, логика ее работы от этого не меняется.

Как перейти на диск C в командной строке?

Введите тип cd/d C:Windows и нажмитеклавишу Enter – Ввод , как вы можете увидеть на следующем рисунке. Примечание: Если ввести букву диска ,можно автоматически перейти на самые последние места на этом диске. Например, если вы находитесь на диска D: и ввели тип CD C:Windows ничего не случится.

Как перейти на каталог выше?

Команда cd .. указывает системе подняться на один уровень выше текущего каталога. Очевидно, команда cd ../.. перенесёт вас выше на два каталога.

Какая команда в командной строке?

Команды командной строки.

  • MD — Создание каталога. …
  • RD — Удаление каталога. …
  • CD — Смена текущего каталога. …
  • DIR — Просмотр каталога ввиде списка. …
  • TREE — Вывод каталогов в граффическом представлении. …
  • MOVE — Перемещение\Переименование каталога. …
  • XCOPY — Копирование структур каталогов.

Как посмотреть список команд в командной строке?

Это можно сделать, нажав клавиши Windows+R, что запустит окошко «Выполнить», и в этом окне набрать «cmd» (без кавычек). Пользователи Windows 8 могут нажать клавиши Windows+Х и выбрать в меню Командная строка. Выведите список команд. В командной строке наберите «help» (без кавычек) и нажмите клавишу Ввод.

Как сделать матрицу в командной строке?

Для создания «эффекта Матрицы» в командной строке Windows, необходимо написать текстовый файл с кодом и сохранить с расширением *. bat, потом запустить. Писать можно например в блокноте, при сохранении указать имя файла «имя.

Как сделать зеленые цифры в командной строке?

Чтобы задать стандартные цвета в окне командной строки, щелкните левый верхний угол этого окна, выберите команду «Умолчания», перейдите к вкладке «Цвета» и укажите цвета для параметров «Текст на экране» и «Фон экрана». Для изменения цветов окна командной строки в текущем сеансе можно воспользоваться командой cmd /t:тф.

Как запустить программу из командной строки с правами администратора?

Запуск программы от имени администратора используя командную строку (CMD)

  1. Запустите командную строку;
  2. Выполните команду runas, указав имя пользователя с административными правами и полный путь до файла запускаемой программы;
  3. Введите пароль пользователя с административными правами.

Как в bat файле запустить программу?

Щелкните правой кнопкой мыши по BAT-файлу и в меню выберите Запуск от имени администратора. Возможно, вам придется запустить файл от имени администратора — это зависит от содержимого BATфайла. В большинстве случаев работа BATфайла на экране не отображается, потому что все происходит в фоновом режиме.

Как запустить программу в Visual Basic?

Чтобы запустить программу, нажмите зеленую стрелку (кнопка запуска) на главной панели инструментов Visual Studio либо нажмите клавиши F5 или CTRL+F5 для запуска программы.

Как открыть командную строку в Visual Studio 2019?

Открытие окна «Командная строка разработчика»

  1. На рабочем столе откройте меню Пуск Windows, прокрутите вниз, чтобы найти и открыть папку вашей версии Visual Studio, например Visual Studio 2019. …
  2. В папке выберите ярлык Командная строка разработчика для вашей версии Visual Studio.

Как запустить программу в Visual Studio?

Чтобы запустить программу в Visual Studio, нажмите комбинацию Ctrl+F5 . Если всё хорошо, то вы увидите следующее: Это означает, что компиляция прошла успешно и результат выполнения вашей программы следующий: Hello, world!

Как запустить код в Visual Studio JS?

Нет необходимости устанавливать среду для запуска кода на javascript, python и т. Д. В коде Visual Studio. Вам нужно просто установить расширение Code Runner, а затем просто выбрать часть кода, которую вы хотите запустить, и нажать кнопка запуска присутствует в правом верхнем углу.

Как запустить HTML код в Visual Studio Code?

Шаги:

  1. Использование ctrl + shift + p (или F1 ) , чтобы открыть палитру команд.
  2. Введите Tasks: Configure Task или в более старых версиях Configure Task Runner . Выбрав его, вы откроете файл tasks.json. …
  3. Сохранить файл.
  4. Вернитесь к файлу html (в данном примере это «text.

Как компилировать в Visual Studio Code C#?

Поскольку никто другой этого не говорил, короткий путь для компиляции (сборки) приложения C# в Visual Studio Code (VSCode) — это SHIFT+CTRL+B . Если вы хотите увидеть ошибки сборки (потому что они не всплывают по умолчанию), то ярлык будет SHIFT+CTRL+M .

Знакомство с командной строкой · HonKit

Для домашних читателей: эта глава описана в видеоролике «Ваш новый друг: командная строка».

Это захватывающе, правда?! Вы напишете свою первую строку кода всего за несколько минут! 🙂

Позвольте представить вам вашего первого нового друга: командную строку!

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

Примечание Обратите внимание, что в этой книге мы используем термины «каталог» и «папка» взаимозаменяемо, но это одно и то же.

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

Окно, которое обычно называют командной строкой или интерфейсом командной строки , представляет собой текстовое приложение для просмотра, обработки и управления файлами на вашем компьютере. Это очень похоже на Windows Explorer или Finder на Mac, но без графического интерфейса. Другие названия командной строки: cmd , CLI , приглашение , консоль или терминал .

Открыть интерфейс командной строки

Чтобы начать некоторые эксперименты, нам нужно сначала открыть наш интерфейс командной строки.

Открытие: Windows

В зависимости от вашей версии Windows и вашей клавиатуры одно из следующих действий должно открыть командное окно (возможно, вам придется немного поэкспериментировать, но вам не обязательно пробовать все эти предложения):

  • Перейдите в меню «Пуск» или на экран и введите «Командная строка» в поле поиска.
  • Перейдите в меню «Пуск» → «Система Windows» → «Командная строка».
  • Перейдите в меню «Пуск» → «Все программы» → «Стандартные» → «Командная строка».
  • Перейдите на начальный экран, наведите указатель мыши на левый нижний угол экрана и щелкните появившуюся стрелку вниз (на сенсорном экране вместо этого проведите вверх от нижней части экрана). Должна открыться страница приложений. Нажмите «Командная строка» в разделе «Система Windows».
  • Удерживайте специальную клавишу Windows на клавиатуре и нажмите клавишу «X». Выберите «Командная строка» во всплывающем меню.
  • Удерживайте клавишу Windows и нажмите клавишу «R», чтобы открыть окно «Выполнить». Введите «cmd» в поле и нажмите клавишу «ОК».

Далее в этом руководстве вам потребуется одновременно открыть два командных окна. Однако в некоторых версиях Windows, если у вас уже открыто одно командное окно и вы пытаетесь открыть второе, используя тот же метод, вместо этого оно укажет вам на уже открытое командное окно. Попробуйте прямо сейчас на своем компьютере и посмотрите, что получится! Если вы получаете только одно командное окно, попробуйте один из других методов из списка выше. По крайней мере, один из них должен привести к открытию нового командного окна.

Открытие: OS X

Перейдите в Приложения → Утилиты → Терминал.

Открытие: Linux

Вероятно, он находится в разделе «Приложения» → «Стандартные» → «Терминал» или «Приложения» → «Система» → «Терминал», но это может зависеть от вашей системы. Если его там нет, вы можете попробовать найти его в Google. 🙂

Подсказка

Теперь вы должны увидеть белое или черное окно, ожидающее ваших команд.

Подсказка: OS X и Linux

Если вы используете Mac или Linux, вы, вероятно, увидите $ , например:

командная строка

 $
 

Подсказка: Windows

В Windows вы, вероятно, увидите > , например:

командная строка

 >
 

Теперь взгляните на раздел Linux чуть выше — вы увидите что-то похожее, когда перейдете к PythonAnywhere позже в этом руководстве.

Каждой команде будет предшествовать $ или > и один пробел, но набирать не надо. Ваш компьютер сделает это за вас. 🙂

Небольшое замечание: в вашем случае может быть что-то вроде C:\Users\ola> или Olas-MacBook-Air:~ ola$ перед подсказкой, и это 100% OK.

Часть до $ или > включительно называется приглашением командной строки или приглашением для краткости. Он предлагает вам ввести что-то там.

В учебнике, когда мы хотим, чтобы вы ввели команду, мы будем включать $ или > , а иногда и больше слева. Игнорируйте левую часть и вводите только команду, которая начинается после подсказки.

Ваша первая команда (УРА!)

Давайте начнем с ввода этой команды:

Ваша первая команда: OS X и Linux

командная строка

 $ whoami
 

Ваша первая команда: Windows

командная строка

 > whoami
 

Затем нажмите и введите . Это наш результат:

командная строка

 $
Оласитарска
 

Как видите, компьютер только что напечатал ваше имя пользователя. Аккуратно, да? 🙂

Попробуйте ввести каждую команду; не копипастить. Так вы запомните больше!

Основы

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

Текущий каталог

Было бы неплохо узнать, где мы сейчас, правда? Посмотрим. Введите эту команду и нажмите , введите :

.

Текущий каталог: OS X и Linux

командная строка

 $ pwd
/Пользователи/olasitarska
 

Примечание: «pwd» означает «распечатать рабочий каталог».

Текущий каталог: Windows

командная строка

 > cd
C:\Users\олазитарска
 

Примечание: «cd» означает «каталог изменения». С PowerShell вы можете использовать pwd точно так же, как в Linux или Mac OS X.

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


Подробнее о команде

Многие команды, которые вы можете ввести в командной строке, имеют встроенную справку, которую вы можете просмотреть и прочитать! Например, чтобы узнать больше о текущей команде каталога:

Справка по командам: OS X и Linux

В OS X и Linux есть команда man , которая дает вам справку по командам. Попробуйте man pwd и посмотрите, что он говорит, или поставьте man перед другими командами, чтобы увидеть их помощь. Вывод man обычно выгружается. Используйте пробел, чтобы перейти на следующую страницу, и q , чтобы выйти из справки.

Справка по командам: Windows

Добавление /? Суффикс для большинства команд позволяет распечатать страницу справки. Возможно, вам придется прокрутить окно команд вверх, чтобы увидеть все это. Попробуйте кд/? .

Список файлов и каталогов

Так что там? Было бы круто узнать. Посмотрим:

Список файлов и каталогов: OS X и Linux

командная строка

 $ ls
Приложения
Рабочий стол
Загрузки
Музыка
...
 

Список файлов и каталогов: Windows

командная строка

 > каталог
 Каталог C:\Users\olasitarska
08.05.2020 19:28  Приложения
08.05.2020 19:28  Рабочий стол
08.05.2020 19:28  Загрузки
08.05.2020 19:28  Музыка
...
 

Примечание. В PowerShell вы также можете использовать «ls», как в Linux и Mac OS X.


Изменить текущий каталог

Теперь давайте перейдем к нашему рабочему каталогу:

Изменить текущий каталог: OS X

командная строка

 $ cd Рабочий стол
 

Изменить текущий каталог: Linux

командная строка

 $ cd Рабочий стол
 

Обратите внимание, что имя каталога «Рабочий стол» может быть переведено на язык вашей учетной записи Linux. Если это так, вам нужно заменить Рабочий стол с переведенным названием; например, Schreibtisch для немецкого языка.

Изменить текущий каталог: Windows

командная строка

 > cd Desktop
 

Проверить, действительно ли он изменился:

Проверка изменений: OS X и Linux

командная строка

 $ pwd
/Пользователи/olasitarska/Рабочий стол
 

Проверить, не изменилось ли: Windows

командная строка

 > cd
C:\Users\olasitarska\Рабочий стол
 

Вот оно!

Совет

PRO: если вы наберете cd D , а затем нажмете вкладку на клавиатуре, командная строка автоматически заполнит оставшуюся часть имени, чтобы вы могли быстрее перемещаться. Если имеется более одной папки, начинающейся с буквы «D», дважды нажмите клавишу вкладки , чтобы получить список параметров.


Создать каталог

Как насчет создания каталога тренировок на рабочем столе? Вы можете сделать это так:

Создать каталог: OS X и Linux

командная строка

 $ mkdir практика
 

Создать каталог: Windows

командная строка

 > практика mkdir
 

Эта небольшая команда создаст на вашем рабочем столе папку с именем Practice . Вы можете проверить, есть ли он, взглянув на рабочий стол или выполнив команду ls или dir ! Попытайся. 🙂

Совет

PRO: если вы не хотите вводить одни и те же команды снова и снова, попробуйте нажать Стрелка вверх и Стрелка вниз на клавиатуре, чтобы просмотреть недавно использованные команды.


Упражнение!

Небольшое задание для вас: в только что созданном каталоге Practice создайте каталог с именем test . (Используйте команды cd и mkdir .)

Решение:

Решение для упражнения: OS X и Linux

командная строка

 $ cd практика
$ mkdir тест
$ лс
тест
 

Решение для упражнения: Windows

командная строка

 > практика cd
> тест мкдир
> директор
08.05.2020 19:28  тест
 

Поздравляем! 🙂


Очистка

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

Во-первых, нам нужно вернуться на рабочий стол:

Очистка: OS X и Linux

командная строка

 $ cd ..
 

Очистка: Windows

командная строка

 > cd ..
 

Использование .. с командой cd изменит ваш текущий каталог на родительский каталог (то есть на каталог, который содержит ваш текущий каталог).

Проверьте, где вы находитесь:

Проверить расположение: OS X и Linux

командная строка

 $ pwd
/Пользователи/olasitarska/Рабочий стол
 

Расположение проверки: Windows

командная строка

 > компакт-диск
C:\Users\olasitarska\Рабочий стол
 

Пришло время удалить каталог практики :

Внимание : Удаление файлов с помощью del , rmdir или rm невозможно восстановить, то есть удаленные файлы исчезнут навсегда ! Так что будьте очень осторожны с этой командой.

Удалить каталог: Windows Powershell, OS X и Linux

командная строка

 $ rm -r практика
 

Удалить каталог: Командная строка Windows

командная строка

 > rmdir /S практика
Практика, Вы уверены ? Д
 

Готово! Чтобы убедиться, что он действительно удален, давайте проверим его:

Проверка удаления: OS X и Linux

командная строка

 $ ls
 

Проверить удаление: Windows

командная строка

 > каталог
 

Выход

Пока все! Теперь вы можете безопасно закрыть командную строку. Давай по-хакерски, хорошо? 🙂

Выход: OS X и Linux

командная строка

 $ выход
 

Выход: Windows

командная строка

 > выход
 

Круто, да? 🙂

Резюме

Вот список некоторых полезных команд:

Команда (Windows) Команда (Mac OS/Linux) Описание Пример
выход выход закрыть окно выход
CD компакт-диск изменить каталог CD тест
CD пароль показать текущий каталог cd (Windows) или pwd (Mac OS/Linux)
директор лс список каталогов/файлов директор
копия кп скопировать файл копировать c:\test\test. txt c:\windows\test.txt
переместить мв переместить файл переместить c:\test\test.txt c:\windows\test.txt
мкдир мкдир создать новый каталог mkdir testdirectory
rmdir (или del) п.м. удалить файл файл c:\test\test.txt
rmdir/S пм-р удалить каталог rm -r testdirectory
[CMD] /? мужчина [CMD] получить справку по команде кд/? (Windows) или man cd (Mac OS/Linux)

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

Если вам интересно, ss64.com содержит полный справочник команд для всех операционных систем.

Готов?

Давайте погрузимся в Python!

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

Обновлено: 02.08.2020, автор: Computer Hope

Командная строка , также называемая командной строкой Windows , командным экраном или текстовым интерфейсом , представляет собой пользовательский интерфейс, в котором можно перемещаться путем ввода команд в подсказках вместо использования мыши. Например, папка Windows в командной строке Windows — «C:\Windows>» (как показано на рисунке). В Unix или Linux это может быть «%» или «>» в ​​зависимости от оболочки. В отличие от операционной системы с графическим интерфейсом пользователя (GUI), в командной строке для навигации посредством ввода команд используется только клавиатура, а мышь для навигации не используется.

  • Почему люди используют командную строку?
  • Пример выполнения задачи в командной строке.
  • Команды командной строки.
  • Текстовый интерфейс с меню в командной строке.
  • Должен ли я изучать командную строку?
  • Должен ли я использовать «командную строку» или «командную строку» в своем письме?
  • Связанная информация.

Почему люди используют командную строку?

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

Например, пользователям Microsoft Windows может показаться, что такая задача, как переименование более 100 файлов в папке, требует очень много времени. Однако переименование более 100 файлов в каталоге можно выполнить менее чем за минуту с помощью одной команды в командной строке. Задачу также можно автоматизировать с помощью пакетного файла или других сценариев для мгновенного запуска.

  • Командная строка и графический интерфейс.

Пример выполнения задачи в командной строке

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

Переместите все файлы .txt в резервный каталог в командной строке Windows

  1. Откройте командную строку Windows.
  2. Перейдите в каталог, содержащий файлы .txt, с помощью команды cd. Например, вы можете перейти к документам пользователя Hope, набрав в командной строке «cd\users\hope\documents».
  3. Находясь в каталоге, если каталог резервного копирования не существует, вы можете использовать команду md и ввести «md backup», чтобы создать новый каталог резервного копирования.
  4. Наконец, чтобы переместить все файлы .txt, вы можете использовать команду перемещения и ввести «move *. txt backup», чтобы переместить все файлы .txt в резервную папку. * используется как подстановочный знак.

Переместите все файлы .txt в резервную папку в Windows

Для сравнения с приведенными выше шагами командной строки. Ниже приведены инструкции по выполнению того же действия (перемещения файлов .txt) в Windows.

  1. Откройте проводник Windows.
  2. Откройте диск и папку, содержащую файлы .txt. Например, вы можете перейти на диск C: и перейти к папке Users , папке Hope, а затем к папке Documents , чтобы открыть их для пользователя Hope.
  3. Находясь в папке, если папка резервного копирования не существует, вы можете щелкнуть правой кнопкой мыши папку, щелкнуть Создать , выбрать Папка и назвать ее «резервная копия», чтобы создать новую папку резервного копирования.
  4. Если проводник Windows не отображает файлы в представлении «Подробности», щелкните вкладку Просмотр и выберите Подробности .
  5. Щелкните столбец Type , чтобы просмотреть файлы по типу.
  6. Выделите все файлы .txt.
  • Как выбрать или выделить несколько файлов и папок.
  1. Щелкните правой кнопкой мыши выделенное и выберите Вырезать .
  2. Откройте папку резервного копирования, щелкните правой кнопкой мыши и выберите Вставить , чтобы переместить все файлы в эту папку.

Как показано в двух приведенных выше примерах, выполнение одной и той же задачи в командной строке требует изучения как минимум трех команд. Однако, как только эти команды известны, требуется меньше шагов в командной строке, чем в Windows. Эти же команды можно также использовать в пакетном файле или другом языке сценариев для автоматизации процесса. Например, вы можете автоматизировать резервное копирование файлов, копируя файлы вместо их перемещения. После того, как команды будут записаны в пакетный файл, дважды щелкните пакетный файл, чтобы выполнить копирование.

  • Как пользоваться командной строкой Windows (DOS).
  • Учебник по оболочке Linux.

Команды командной строки

Существуют сотни различных команд, которые можно использовать в командной строке. Было бы невозможно запомнить все команды, синтаксис и параметры каждой команды, поэтому мы создали следующие страницы. Ниже приведены ссылки на нашу командную строку Windows, списки команд MS-DOS, Linux и Unix. На каждой из этих страниц есть сотни команд с полным синтаксисом и примерами использования каждой команды.

  • Выполнение команд командной строки MS-DOS и Windows.
  • Справка для Linux и Unix с полным списком команд.

Текстовый интерфейс с меню в командной строке

Текстовый интерфейс можно упростить для навигации с помощью меню, созданного с помощью текста и расширенных символов ASCII. Например, многие текстовые редакторы с командной строкой используют интерфейс с меню и сочетаниями клавиш, которые упрощают навигацию по редактируемому файлу. На рисунке ниже показан пример редактора MS-DOS, используемого для редактирования файлов в командной строке MS-DOS или Windows.

Хотя текстовый интерфейс с меню выглядит намного привлекательнее, чем командная строка, этот интерфейс по-прежнему считается текстовым, а не графическим интерфейсом.

Должен ли я изучать командную строку?

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

  • Вам нужны способы более быстрого и удобного управления файлами на компьютере.
  • Вы работаете с компьютерами удаленно.
  • Управление файлами на файловом сервере или веб-сервере (например, управление веб-страницей).
  • Необходимо автоматизировать часто выполняемые задачи.
  • Хотите узнать о компьютерах еще больше.

Должен ли я использовать «командную строку» или «командную строку» в своем письме?

И «командная строка», и «командная строка» приемлемы и широко используются в современной письменной форме. При использовании в качестве прилагательного перед существительным используйте «командную строку» (с дефисом) в своем письме, чтобы избежать путаницы. Например, в предложении «Убедитесь, что вы ввели правильный параметр командной строки». слово «командная строка» описывает тип параметра.

При использовании в качестве существительного используйте в письме «командную строку» (без дефиса). Например, в предложении «Открыть командную строку». использование «командной строки» используется как существительное.

  • Как получить доступ к приглашению MS-DOS или командной строке Windows.
  • Как использовать командную строку Windows (DOS).
  • Как получить доступ к командной строке на Mac.
  • Командная строка и графический интерфейс.
  • Полная справка по командной строке MS-DOS и Windows и список команд.
  • Все вопросы и ответы по командной строке MS-DOS и Windows.
  • Учебник по оболочке Linux и Unix.
  • Справка для Linux и Unix с полным списком команд.
  • Все вопросы и ответы по Linux.

Аргумент, CUI, Командная строка с повышенными правами, MS-DOS, Термины операционной системы, Виртуальный реальный режим

Школа запуска — Введение в командную строку и говорить. С помощью простых жестов мы можем управлять компьютером. Многие компьютерные операционные системы, такие как Windows и OS X, предоставляют графический пользовательский интерфейс, который позволяет нам открывать и просматривать файлы, играть в игры, включать музыку и т. д. простыми движениями и щелчками мыши. Большинство операционных систем, работающих на серверах, настольных компьютерах и ноутбуках, предоставляют другой способ управления компьютером, о котором многие даже не слышали. Его удачно называют интерфейсом командной строки (или CLI), командной строкой или командной строкой.

Подобно графическому пользовательскому интерфейсу, командная строка является одним из способов представления операционной системой файлов, каталогов и программ (которые также являются файлами) пользователю. На самом деле, командная строка представляет собой текстовый интерфейс, с помощью которого можно с точностью перемещаться, создавать, выполнять и воздействовать на файлы и каталоги компьютера.

Что мы рассмотрим в этой книге

Поскольку операционная система Linux является наиболее часто используемой операционной системой для серверов, в этой книге мы рассмотрим ее интерфейс командной строки. Другие операционные системы, такие как Mac OS X и Unix, очень похожи, поэтому все, что вы узнаете из этой книги, вы сможете использовать в этих операционных системах. Другие операционные системы, такие как Windows, имеют командные строки, но они существенно отличаются друг от друга, что затрудняет рассмотрение их использования в одной книге.

В этой книге в основном предполагается, что вы используете оболочку Bash, которая является оболочкой по умолчанию во многих операционных системах. Последние версии macOS на компьютерах Mac используют несколько иную оболочку под названием Zsh. По большей части вы не столкнетесь со слишком многими различиями в учебной программе Launch School. Однако одно отличие очевидно с самого начала: подсказка отображается, когда ваша командная строка ожидает команды. Bash по умолчанию отображает приглашение $ :

 $
 

Zsh, однако, отображает % подсказка по умолчанию:

 %
 

И Bash, и Zsh позволяют изменять подсказку, поэтому реальная подсказка может быть другой. Кроме того, обе оболочки изменяют символ подсказки, когда вы входите в систему как сверхмощный администратор, root . В Bash и Zsh приглашение root имеет вид # . Это может немного сбивать с толку, поскольку # также является символом комментария, но обычно это очевидно, когда вы смотрите на подсказку, а не на комментарий. Если вы вошли в систему как обычный пользователь без полномочий root, вы все равно увидите $ или % приглашение — если вы не видите ни одного из них, но видите # , значит, вы вошли в систему как пользователь root.

Поскольку мы используем Bash в этой книге и в остальной части Базового учебного курса, мы обычно показываем $ в начале каждой команды, которую вам нужно ввести. Например, если вы хотите определить, используете ли вы оболочку Bash или Zsh, вы можете запустить эту команду:

 $ echo $SHELL
/USR/бин/Баш
 

Вы не должны печатать $ в начале этой строки. Он присутствует только для отображения подсказки оболочки. Вместо этого вы должны ввести echo $SHELL , а затем нажать клавишу Enter.

Иногда мы можем опустить $ , если представляем серию из одной или нескольких команд, которые ничего не выводят на терминал:

 echo "Первая строка" > file.txt
echo "Вторая строка" >> файл.txt
файл rm.txt
 

Однако мы не делаем это постоянно.

Время от времени нам нужно различать Bash и Zsh, особенно в отношении файлов запуска: .bash_profile , .bashrc , .zprofile и . zshrc . Мы будем упоминать их по мере необходимости.

Мы намеренно отключили ссылку «Копировать код» в большинстве фрагментов кода в этой книге. Эта функция плохо работает в сочетании с отображаемыми подсказками и включением вывода в некоторых случаях. Кроме того, вы должны практиковаться в вводе этих команд вручную, а не путем копирования и вставки. Если вы не печатаете команды, вы не разовьете необходимую мышечную память.

Как использовать командную строку

Использовать командную строку так же просто, как открыть Терминал (доступно на Mac и Linux) или iTerm (доступно только на Mac) на вашем компьютере, ввести команду и нажать Enter. Большинство команд вернут какой-либо вывод. Откройте терминал и попробуйте ввести следующую команду:

 echo "Hello World"
 

Вы должны увидеть что-то вроде этого:

 $ echo "Hello World"
Привет, мир
$
 

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

Хотя поначалу это может показаться трудным, возможность использовать командную строку расширит ваши возможности как пользователя компьютера. Изучив основы использования CLI, вы сможете упростить и ускорить многие задачи, которые раньше казались утомительными. Вы можете очень точно указать, как компьютер должен выполнять определенные задачи или какую информацию он должен отображать. Читая эту книгу и выполняя упражнения, вы приобретете следующие знания и навыки:

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

Командная строка для начинающих. Как использовать терминал как профессионал [Полное руководство]

Всем привет! В этой статье мы подробно рассмотрим командную строку (также известную как CLI, консоль, терминал или оболочка).

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

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

Поехали! =D

Содержание

  • Разница между консолью, терминалом, командной строкой (CLI) и оболочкой
    • Консоль
    • Терминал
    • Корпус
    • Командная строка (CLI)
  • Зачем мне вообще пользоваться терминалом?
  • Различные виды ракушек
    • Немного истории — Posix
    • Как узнать, какую оболочку я запускаю?
    • Какая оболочка лучше?
      • Комментарий о настройке
  • Наиболее распространенные и полезные команды для использования
    • Git-команды
  • Наш первый скрипт
  • Округлить

РЕКЛАМА

Думаю, для начала неплохо бы точно знать, что такое командная строка.

Возможно, вы слышали термины «терминал», «консоль», «командная строка», «интерфейс командной строки» и «оболочка». Люди часто используют эти слова взаимозаменяемо, но на самом деле это разные вещи.

Различение каждого из них не обязательно является важным знанием, но оно поможет прояснить ситуацию. Итак, давайте кратко объясним каждый из них.

Консоль:

Консоль — это физическое устройство , которое позволяет вам взаимодействовать с компьютером.

Проще говоря, это экран вашего компьютера, клавиатура и мышь. Как пользователь, вы взаимодействуете со своим компьютером с по консоль.

РЕКЛАМА

Терминал:

Терминал — это среда ввода и вывода текста. Это программа , которая действует как оболочка и позволяет нам вводить команды, которые обрабатывает компьютер.

Снова говоря простым языком, это «окно», в котором вы вводите фактические команды, которые будет обрабатывать ваш компьютер.

Имейте в виду, что терминал — это программа, как и любая другая. И, как и любую программу, вы можете установить и удалить ее по своему усмотрению. Также возможно иметь много терминалов, установленных на вашем компьютере, и запускать их в любое время.

Все операционные системы поставляются с установленным терминалом по умолчанию, но существует множество вариантов на выбор, каждый со своими функциями и возможностями.

Оболочка:

Оболочка — это программа , которая действует как интерпретатор командной строки. Он обрабатывает команды и выводит результаты . Он интерпретирует и обрабатывает команды, введенные пользователем.

Так же, как и терминал, оболочка — это программа, которая по умолчанию входит во все операционные системы, но также может быть установлена ​​и удалена пользователем.

Разные оболочки также имеют различный синтаксис и характеристики. Кроме того, на вашем компьютере может быть установлено множество оболочек, и вы можете запускать каждую из них, когда захотите.

В большинстве операционных систем Linux и Mac оболочкой по умолчанию является Bash. В то время как в Windows это Powershell. Некоторыми другими распространенными примерами оболочек являются Zsh и Fish.

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

Позже в этой статье мы рассмотрим сценарии. А пока просто имейте в виду, что оболочка — это программа, которую ваш компьютер использует для «понимания» и выполнения ваших команд, и что вы также можете использовать ее для программирования задач.

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

РЕКЛАМА

Командная строка или CLI (интерфейс командной строки):

CLI — это интерфейс, в котором мы вводим команды для обработки компьютером. Еще раз говоря простым языком, это пространство, в котором вы вводите команды, которые компьютер будет обрабатывать.

Это практически то же самое, что и терминал, и, на мой взгляд, эти термины взаимозаменяемы.

Здесь стоит упомянуть одну интересную вещь: большинство операционных систем имеют два разных типа интерфейсов:

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

Мы только что упомянули, что большинство операционных систем поставляются с графическим интерфейсом. Итак, если мы можем видеть что-то на экране и щелкать мышью, чтобы делать все, что захотим, вы можете задаться вопросом, зачем вам изучать этот сложный терминал/cli/shell?

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

В этом смысле умение работать с командной строкой поможет вам сэкономить время и быстрее выполнять свои задачи.

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

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

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

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

Таким образом, знакомство с интерфейсом командной строки позволит вам взаимодействовать с компьютерами в любое время.

Последняя причина в том, что это выглядит круто и весело. Вы же не видите, как хакеры из фильмов щелкают по своим компьютерам, верно? 😉

РЕКЛАМА

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

Разные оболочки имеют разный синтаксис и разные функции, поэтому, чтобы точно знать, какую команду вводить, сначала нужно узнать, какую оболочку вы используете.

Немного истории – Posix

Для оболочек существует общий стандарт Posix .

Posix работает для оболочек так же, как ECMAScript работает с JavaScript. Это стандарт, диктующий определенные характеристики и особенности, которым должны соответствовать все оболочки.

Этот стандарт был установлен в 1980-х годах, и большинство современных снарядов были разработаны в соответствии с этим стандартом. Вот почему большинство оболочек имеют схожий синтаксис и похожие функции.

РЕКЛАМА

Как узнать, какую оболочку я запускаю?

Чтобы узнать, какую оболочку вы используете в данный момент, просто откройте терминал и введите echo $0 . Это напечатает имя текущей запущенной программы, которая в данном случае является фактической оболочкой.

Какая оболочка лучше?

Между большинством оболочек нет БОЛЬШОЙ разницы. Поскольку большинство из них соответствуют одному и тому же стандарту, вы обнаружите, что большинство из них работают одинаково.

Есть небольшие отличия, которые вы, возможно, захотите узнать:

  • Как уже упоминалось, Bash является наиболее широко используемым и устанавливается по умолчанию на Mac и Linux.
  • Zsh очень похож на Bash, но он был создан после него и имеет несколько приятных улучшений. Если вы хотите получить более подробную информацию о его различиях, вот классная статья об этом.
  • Fish — еще одна широко используемая оболочка, которая поставляется с некоторыми хорошими встроенными функциями и конфигурациями, такими как автозаполнение и подсветка синтаксиса. Дело в том, что Fish не жалуется на Posix, в то время как Bash и Zsh. Это означает, что некоторые команды, которые вы сможете выполнять на Bash и Zsh, не будут работать на Fish и наоборот. Это делает сценарии Fish менее совместимыми с большинством компьютеров по сравнению с Bash и Zsh.
  • Существуют и другие оболочки, такие как Ash или Dash (название только делает все более запутанным, я знаю. ..), которые являются урезанными версиями оболочек Posix. Это означает, что они предлагают только функции, необходимые для Posix, и ничего больше. В то время как Bash и Zsh добавляют больше возможностей , чем требуется Posix.

Тот факт, что оболочки добавляют больше функций, делает их более простыми и удобными для взаимодействия, но замедляет выполнение сценариев и команд.

Обычной практикой является использование «расширенных» оболочек, таких как Bash или Zsh, для общего взаимодействия и «урезанных» оболочек, таких как Ash или Dash, для выполнения сценариев.

Когда мы перейдем к сценариям позже, мы увидим, как мы можем определить, какая оболочка будет выполнять данный сценарий.

Если вас интересует более подробное сравнение этих оболочек, вот видео, которое очень хорошо объясняет:

Если бы мне пришлось рекомендовать оболочку, я бы рекомендовал bash, так как она самая стандартная и часто используемая. Это означает, что вы сможете применить свои знания в большинстве сред.

Но опять же, правда в том, что между большинством оболочек нет СИЛЬНОЙ разницы. Так что в любом случае вы можете попробовать несколько и посмотреть, какой из них вам больше нравится. 😉

РЕКЛАМА

Я только что упомянул, что Fish поставляется со встроенной конфигурацией, такой как автозаполнение и подсветка синтаксиса. Это встроено в Fish, но в Bash или Zsh вы также можете настроить эти функции.

Дело в том, что оболочки можно настраивать. Вы можете изменить то, как работает программа, какие команды вам доступны, какую информацию показывает ваша подсказка и многое другое.

Мы не будем подробно рассматривать параметры настройки, но знайте, что когда вы устанавливаете оболочку на свой компьютер, в вашей системе будут созданы определенные файлы. Позже вы можете отредактировать эти файлы, чтобы настроить свою программу.

Кроме того, в Интернете доступно множество подключаемых модулей, упрощающих настройку оболочки. Вы просто устанавливаете их и получаете функции, которые предлагает плагин. Некоторые примеры: OhMyZsh и Starship.

Эти параметры настройки также верны для терминалов.

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

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

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

Имейте в виду, что эти примеры будут основаны на моей текущей конфигурации (Bash в ОС Linux). Но в любом случае большинство команд должны применяться к большинству конфигураций.

  • Echo печатает в терминале любой параметр, который мы ему передаем.
 эхо Здравствуйте, freeCodeCamp! // Вывод: Здравствуйте, freeCodeCamp!
 
  • pwd означает печать рабочего каталога и печатает «место» или каталог, в котором мы сейчас находимся на компьютере.
 pwd // Вывод: /home/немецкий
 
  • ls представляет вам содержимое каталога, в котором вы сейчас находитесь. Он представит вам как файлы, так и другие каталоги, содержащиеся в вашем текущем каталоге.

Например, здесь я нахожусь в каталоге проекта React, над которым недавно работал:

 лс // Вывод:
node_modules package.json package-lock.json общедоступный README.md src
 

Если передать эту команду флаг или параметр -a Это также покажет вам скрытые файлы или каталоги. Как .git или .gitignore файлы

 лс -а // Вывод:
. .env .gitignore package.json общедоступный источник
.. .git node_modules package-lock.json README.md
 
  • cd — это сокращение от «Изменить каталог», и он перенесет вас из текущего каталога в другой.

Находясь в своем домашнем каталоге, я могу ввести cd Desktop , и я попаду в каталог рабочего стола.

Если я хочу перейти на один каталог вверх, то есть перейти в каталог, содержащий текущий каталог, я могу ввести cd ..

Если вы введете только cd , вы попадете прямо в свой домашний каталог.

  • mkdir означает создание каталога, и он создаст для вас новый каталог. Вы должны передать команде параметр имени каталога.

Если бы я хотел создать новый каталог под названием «Тест», я бы ввел мкдир тест .

  • rmdir означает «Удалить каталог», и он делает именно это. Ему нужен параметр имени каталога так же, как mkdir : rmdir test .

  • touch позволяет создать пустой файл в текущем каталоге. В качестве параметров принимает имя файла, например touch test.txt .

  • rm позволяет удалять файлы, аналогично rmdir позволяет удалять каталоги.
    РМ test.txt

  • cp позволяет копировать файлы или каталоги. Эта команда принимает два параметра: первый — это файл или каталог, который вы хотите скопировать, а второй — место назначения вашей копии (куда вы хотите скопировать файл/каталог).

Если я хочу сделать копию своего текстового файла в том же каталоге, я могу ввести следующее:

 cp test.txt testCopy.txt
 

Вижу, что каталог не меняется, а в «destination» ввожу новое имя файла.

Если я хочу скопировать файл в другой каталог, но сохранить то же имя файла, я могу ввести это:

 cp test.txt ./testFolder/
 

И если я хочу скопировать в другую папку, изменив имя поля, конечно, я могу ввести это:

 cp test.txt ./testFolder/testCopy.txt
 
  • mv — это сокращение от move и позволяет нам перемещать файл или каталог из одного места в другое. То есть создайте его в новом каталоге и удалите в предыдущем (так же, как вы могли бы сделать это путем вырезания и вставки).

Опять же, эта команда принимает два параметра: файл или каталог, который мы хотим переместить, и пункт назначения.

 мв test.txt ./testFolder/
 

Мы также можем изменить имя файла в той же команде, если захотим:

 мв test.txt ./testFolder/testCopy.txt
 
  • head позволяет просматривать начало файла или передаваемые данные непосредственно с терминала.
 head test.txt // Вывод:
это начало моего тестового файла
 
  • tail работает так же, но показывает конец файла.
 хвост test.txt // Вывод:
это конец моего тестового файла
 
  • Флаг —help можно использовать для большинства команд, и он вернет информацию о том, как использовать данную команду.
 cd --help // вывод:
cd: cd [-L|[-P [-e]] [-@]] [каталог]
Измените рабочий каталог оболочки.
 

Изменить текущий каталог на DIR. DIR по умолчанию — это значение переменной оболочки HOME.

Переменная CDPATH определяет путь поиска для каталога, содержащего DIR. Альтернативные имена каталогов в CDPATH разделяются двоеточием : .

Пустое имя каталога совпадает с текущим каталогом, если DIR начинается с ....

  • Аналогичным образом команда man вернет информацию о любой конкретной команде.
 man cp // вывод:
    CP(1) Пользовательские команды CP(1)
    ИМЯ
           cp - копировать файлы и каталоги
    СИНТАКСИС
           cp [ОПЦИЯ]... [-T] ИСТОЧНИК НАЗНАЧЕНИЕ
           cp [ВАРИАНТ]... ИСТОЧНИК... КАТАЛОГ
           cp [ОПЦИЯ]... -t ИСТОЧНИК КАТАЛОГА...
    ОПИСАНИЕ
           Скопируйте ИСТОЧНИК в DEST или несколько ИСТОЧНИКОВ в DIRECTORY.
           Обязательные аргументы для длинных опций обязательны для коротких опций
           слишком.
           -а, --архив
                  то же, что и -dR --preserve=all
           --атрибуты-только
                  не копируйте данные файла, только атрибуты
    . ..
 

Вы даже можете ввести man bash , и это вернет огромное руководство обо всем, что нужно знать об этой оболочке. 😉

  • код откроет редактор кода по умолчанию. Если вы введете команду в одиночку, она просто откроет редактор с последним открытым файлом/каталогом.

Вы также можете открыть данный файл, передав его в качестве параметра: code test.txt .

Или откройте новый файл, передав новое имя файла: код thisIsAJsFile.js .

  • edit откроет текстовые файлы в текстовом редакторе командной строки по умолчанию (который, если вы работаете на Mac или Linux, скорее всего, будет либо Nano, либо Vim).

Если вы открываете файл и не можете выйти из редактора, сначала посмотрите на этот мем:

 ![vimExit](https://www.freecodecamp.org/news/content/images/2022/03/vimExit.png)
 

А затем введите :q! и нажмите Enter.

Мем забавный, потому что поначалу все борются с текстовыми редакторами CLI, так как большинство действий (например, выход из редактора) выполняются с помощью сочетаний клавиш. Использование этих редакторов — это совсем другая тема, так что поищите туториалы, если хотите узнать больше. 😉

  • ctrl+c позволяет выйти из текущего процесса, запущенного терминалом. Например, если вы создаете приложение для реагирования с npx create-react-app и хотите в какой-то момент отменить сборку, просто нажмите ctrl+c , и сборка остановится.

  • Копирование текста из терминала можно выполнить с помощью ctrl+shift+c , а вставку можно выполнить с помощью ctrl+shift+v

  • очистить очистит ваш терминал от всего предыдущего содержимого.

  • exit закроет ваш терминал и (это не команда, но это тоже круто) ctrl+alt+t откроет для вас новый терминал.

  • Нажимая клавиши вверх и вниз , вы можете перемещаться по ранее введенным командам.

  • Нажав на вкладку , вы получите автодополнение на основе текста, который вы уже написали. Дважды нажав вкладку , вы получите предложения, основанные на тексте, который вы уже написали.

Например, если я дважды напишу edit test и tab , я получу testFolder/ test.txt . Если я напишу edit test. и нажмите вкладку мой текст автоматически дополняется до редактировать test.txt

РЕКЛАМА

Команды Git

Помимо работы с файловой системой и установки/удаления вещей, взаимодействие с Git и онлайн-репозиториями, вероятно, является наиболее распространенной задачей, для которой вы собираетесь использовать терминал как разработчик.

Гораздо эффективнее делать это из терминала, чем щелкать мышью, поэтому давайте рассмотрим наиболее полезные команды git.

  • git init создаст для вас новый локальный репозиторий.
 git инициализация // вывод:
Инициализирован пустой репозиторий Git в /home/German/Desktop/testFolder/.git/
 
  • git add добавляет один или несколько файлов в промежуточную среду. Вы можете указать конкретный файл для добавления в промежуточную среду или добавить все измененные файлы, набрав git добавить .

  • git commit фиксирует ваши изменения в репозитории. Коммиты всегда должны сопровождаться флагом -m и сообщением фиксации.

 git commit -m 'Это тестовая фиксация' // вывод:
[master (root-commit) 6101dfe] Это тестовая фиксация
 1 файл изменен, 0 вставок(+), 0 удалений(-)
 создать режим 100644 test.js
 
  • git status сообщает вам, в какой ветке вы сейчас находитесь, и есть ли у вас изменения для фиксации или нет.
 статус git // вывод:
На мастере ветки
ничего не коммит, рабочее дерево чистое
 
  • git clone позволяет вам клонировать (копировать) репозиторий в каталог, в котором вы сейчас находитесь. Имейте в виду, что вы можете клонировать как удаленные репозитории (в GitHub, GitLab и т. д.), так и локальные репозитории (те, которые хранится на вашем компьютере).
 git clone https://github.com/coccagerman/MazeGenerator.git // вывод:
Клонирование в "MazeGenerator"...
удаленный: Перечисляем объекты: 15, готово.
удаленный: Подсчет объектов: 100% (15/15), выполнено.
remote: Сжатие объектов: 100% (15/15), готово.
удаленный: Всего 15 (дельта 1), повторно использовано 11 (дельта 0), повторно использовано 0
Распаковка предметов: 100% (15/15), сделано.
 
  • git remote add origin используется для детализации URL-адреса удаленного репозитория, который вы собираетесь использовать для своего проекта. Если вы хотите изменить его в какой-то момент, вы можете сделать это с помощью команды git remote set-url origin .
 git удаленное добавление источника https://github.com/coccagerman/testRepo.git
 

Имейте в виду, что вам нужно сначала создать удаленное репо, чтобы получить его URL-адрес. Позже мы увидим, как это можно сделать из командной строки с помощью небольшого скрипта. 😉

  • git remote -v позволяет указать текущий удаленный репозиторий, который вы используете.
 git удаленный -v // вывод:
происхождение https://github.com/coccagerman/testRepo.git (выборка)
происхождение https://github.com/coccagerman/testRepo.git (push)
 
  • git push загружает внесенные вами изменения в удаленное репо.
 git push // вывод:
Подсчет предметов: 2, готово.
Дельта-сжатие с использованием до 8 потоков.
Сжатие объектов: 100% (2/2), готово.
Запись объектов: 100% (2/2), 266 байт | 266,00 КиБ/с, готово.
Всего 2 (дельта 0), повторно использовано 0 (дельта 0)
 
  • ветвь git перечисляет все доступные ветки в вашем репозитории и сообщает, в какой ветке вы сейчас находитесь. Если вы хотите создать новую ветку, вам просто нужно добавить имя новой ветки в качестве параметра, например git branch <название ветки> .
 ветка git // вывод:
* главный
 
  • git checkout перемещает вас из одной ветки в другую. Он принимает вашу целевую ветку в качестве параметра.
 git checkout newBranch // вывод:
Переключился на ветку "newBranch"
 
  • git pull извлекает (загружает) код из вашего удаленного репозитория и объединяет его с вашим локальным репозиторием. Это особенно полезно при работе в команде, когда многие разработчики работают над одной кодовой базой. В этом случае каждый разработчик периодически извлекает данные из удаленного репозитория, чтобы работать с базой кода, которая включает изменения, внесенные всеми другими разработчиками.

Если в вашем удаленном репозитории есть новый код, команда вернет фактические файлы, которые были изменены при извлечении. Если нет, то получаем Уже обновлено .

 git pull // вывод:
Уже в курсе.
 
  • git diff позволяет вам просматривать различия между веткой, в которой вы сейчас находитесь, и другой веткой.
 git diff newBranch // вывод:
diff --git a/newFileInNewBranch.js b/newFileInNewBranch.js
режим удаленного файла 100644
индекс e69de29..0000000
 

В качестве побочного комментария, при сравнении различий между ветками или репозиториями обычно используются визуальные инструменты, такие как Meld. Дело не в том, что вы не можете визуализировать его прямо в терминале, но эти инструменты отлично подходят для более четкой визуализации.

  • git merge объединяет (объединяет) ветку, в которой вы сейчас находитесь, с другой. Имейте в виду, что изменения будут включены только в ту ветку, в которой вы сейчас находитесь, а не в другую.
 git слить новую ветку // вывод:
Обновление f15cf51..3a3d62f
Перемотка вперед
 новыйFileInNewBranch.js | 0
 1 файл изменен, 0 вставок(+), 0 удалений(-)
 режим создания 100644 newFileInNewBranch.js
 
  • git log перечисляет все предыдущие коммиты, которые вы сделали в репозитории.
 журнал git // вывод:
коммит 3a3d62fe7cea7c09403c048e971a5172459d0948 (HEAD -> main, тег: TestTag, origin/main, newBranch)
Автор: Герман Кокка 
Дата: Пт, 1 апреля 18:48:20 2022 -03:00
    Добавлен новый файл
зафиксировать f15cf515dd3ec398210108dce092debf26ff9e12
Автор: Герман Кокка 
    ...
 
  • Флаг —help покажет вам информацию о заданной команде точно так же, как это работает с bash.
 git diff --help // вывод:
GIT-DIFF(1) Руководство по Git GIT-DIFF(1)
ИМЯ
       git-diff — показать изменения между фиксациями, фиксацией и рабочим деревом и т. д.
СИНТАКСИС
       git diff [опции] [<фиксация>] [--] [<путь>...]
       git diff [options] --cached [] [--] [...]
       ...
 

Теперь мы готовы перейти к действительно интересной и удивительной части командной строки — написанию сценариев!

Как я упоминал ранее, сценарий — это не что иное, как последовательность команд или инструкций, которые мы можем выполнить в любой момент времени. Чтобы объяснить, как мы можем его закодировать, мы будем использовать простой пример, который позволит нам создать репозиторий github, выполнив одну команду. 😉

  • Первое, что нужно сделать, это создать файл .sh . Вы можете поставить его, где хотите. Я назвал свой newGhRepo.sh .

  • Затем откройте его в любом текстовом/кодовом редакторе.

  • В первой строке мы напишем следующее: #! /бин/ш

Это называется shebang , и его функция состоит в том, чтобы объявить, какая оболочка будет запускать этот скрипт.

Помните, ранее мы упоминали, что можем использовать данную оболочку для общего взаимодействия и другую данную оболочку для выполнения скрипта? Что ж, shebang — это инструкция, которая определяет, какая оболочка запускает сценарий.

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

Если бы мы хотели, чтобы этот скрипт работал с bash, то shebang был бы #! /бин/баш

  • Наша следующая строка будет repoName=$1

Здесь мы объявляем переменную с именем repoName и присвоением ему значения первого параметра, который получает скрипт.

Параметр представляет собой набор символов, который вводится после скрипта/команды. Как и в случае с командой cd , нам нужно указать параметр каталога, чтобы изменить каталог (например: cd testFolder ).

Способ, которым мы можем идентифицировать параметры в скрипте, заключается в использовании знака доллара и порядка, в котором этот параметр ожидается.

Если я ожидаю более одного параметра, я мог бы написать:

 параметрOne=$1
ПарамТво=$2
параметр три = $ 3
...
 
  • Итак, мы ожидаем имя репозитория в качестве параметра нашего скрипта. Но что произойдет, если пользователь забудет его ввести? Нам нужно спланировать это, поэтому далее мы собираемся закодировать условное , которое продолжает просить пользователя ввести имя репо, пока этот параметр не будет получен.

Мы можем сделать это так:

 пока [ -z "$repoName" ]
делать
   echo 'Укажите имя репозитория'
   read -r -p $'Имя репозитория:' repoName
Выполнено
 

Что мы здесь делаем:

  1. Пока переменная repoName не назначена ( while [ -z "$repoName" ] )
  2. Написать в консоль это сообщение ( echo 'Укажите имя репозитория' )
  3. Затем прочитайте любой ввод, который вводит пользователь, и назначьте ввод переменной repoName ( read -r -p $'Имя репозитория:' repoName )
  • Теперь, когда у нас есть имя нашего репозитория, мы можем создать наш локальный репозиторий Git следующим образом:
 эхо "# $repoName" >> README. md
git инициировать
git добавить .
git commit -m "Первая фиксация"
 

Это создает файл readme и записывает одну строку с именем репо ( echo "# $repoName" >> README.md ), а затем инициализирует репозиторий git и делает первую фиксацию.

  • Тогда пришло время загрузить наш репозиторий на github. Для этого мы воспользуемся преимуществами API github в следующей команде:

curl -u coccagerman https://api.github.com/user/repos -d '{"name": "'"$repoName"'", "private":false}'

curl — это команда для передачи данных с сервера или на сервер с использованием одного из множества поддерживаемых протоколов.

Затем мы используем флаг -u , чтобы объявить пользователя, для которого мы создаем репозиторий ( -u coccagerman ).

Далее следует конечная точка, предоставляемая GitHub API ( https://api.github.com/user/repos )

И, наконец, мы используем флаг -d для передачи параметров этой команде. В этом случае мы указываем имя репозитория (для которого мы используем наши repoName variable) и установим для параметра private значение false , так как мы хотим, чтобы наш репозиторий был общедоступным.

В API доступно множество других параметров конфигурации, поэтому дополнительную информацию см. в документации.

  • После выполнения этой команды GitHub предложит нам ввести наш закрытый токен для аутентификации.

Если у вас еще нет личного токена, вы можете создать его в GitHub в Настройки > Настройки разработчика > Токены личного доступа

  • Круто, мы почти закончили! Теперь нам нужен удаленный URL-адрес нашего недавно созданного репозитория GitHub.

Чтобы получить это, мы снова будем использовать curl и API GitHub, например:

 GIT_URL=$(curl -H "Принять: application/vnd.github.v3+json" https://api. github.com/repos/coccagerman/"$repoName" | jq -r '.clone_url')
 

Здесь мы объявляем переменную с именем GIT_URL и присваиваем ее тому, что возвращает следующая команда.

Флаг -H устанавливает заголовок нашего запроса.

Затем мы передаем конечную точку GitHub API, которая должна содержать наше имя пользователя и имя репозитория ( https://api.github.com/repos/coccagerman/"$repoName" ).

Затем мы передаем возвращаемое значение нашего запроса. Конвейер просто означает передачу возвращаемого значения процесса в качестве входного значения другого процесса. Мы можем сделать это с | символ, подобный | <процесс2> .

И, наконец, мы запускаем команду jq , которая представляет собой инструмент для обработки входных данных JSON. Здесь мы говорим ему получить значение .clone_url , где будет находиться наш удаленный URL-адрес git в соответствии с форматом данных, предоставляемым API GitHub.

  • И в качестве последнего шага мы переименовываем нашу основную ветку в основную, добавляем только что полученный удаленный источник и отправляем наш код на GitHub! =D
 ветка git -M основная
git удаленное добавление источника $GIT_URL
git push -u происхождение основной
 

Наш полный скрипт должен выглядеть примерно так:

 #! /бин/ш
repoName=$1
в то время как [ -z "$repoName" ]
делать
    echo 'Укажите имя репозитория'
    read -r -p $'Имя репозитория:' repoName
Выполнено
echo "# $repoName" >> README.md
git инициировать
git добавить .
git commit -m "Первая фиксация"
curl -u  https://api.github.com/user/repos -d '{"name": "'"$repoName"'", "private":false}'
GIT_URL=$(curl -H "Принять: application/vnd.github.v3+json" https://api.github.com/repos//"$repoName" | jq -r '.clone_url')
ветка git -M главная
git удаленное добавление источника $GIT_URL
git push -u происхождение основной
 
  • Теперь пришло время протестировать наш скрипт! Чтобы выполнить , мы можем сделать две вещи.

Один из вариантов — ввести имя оболочки и передать файл в качестве параметра, например: тире ../ger/code/projects/scripts/newGhRepo.sh .

И другой способ сделать файл исполняемым , запустив chmod u+x ../ger/code/projects/scripts/newGhRepo.sh .

Затем вы можете просто выполнить файл напрямую, запустив ../ger/code/projects/scripts/newGhRepo.sh .

И все! Наш скрипт запущен и работает. Каждый раз, когда нам нужен новый репозиторий, мы можем просто выполнить этот скрипт из любого каталога, в котором мы находимся.

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

Пришло псевдонимов bash для решения нашей проблемы.

Псевдонимы — это способ, который bash предоставляет для создания имен для конкретных команд, которые мы хотим запустить.

Чтобы создать новый псевдоним, нам нужно отредактировать файлы конфигурации bash в нашей системе. Эти файлы обычно находятся в домашнем каталоге. Псевдонимы могут быть определены в разных файлах (в основном .bashrc или .bash_aliases ).

В моей системе есть файл .bash_aliases , так что давайте отредактируем его.

  • В нашем CLI мы вводим cd для перехода к домашнему каталогу.

  • Затем мы можем ввести ls -a , чтобы вывести список всех файлов (включая скрытые) и проверить, есть ли в нашей системе файл .bashrc или .bash_aliases .

  • Мы открываем файл в любом текстовом/кодовом редакторе.

  • И мы пишем наш новый псевдоним так:
    alias newghrepo="dash /home/German/Desktop/ger/code/projects/scripts/newGhRepo.sh"

Здесь я объявляю псевдоним, фактическую команду, которую я собираюсь ввести для запуска скрипта ( ньюгрепо ).

И между кавычками определите, что будет делать этот псевдоним ( "dash /home/German/Desktop/ger/code/projects/scripts/newGhRepo.sh" )

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

Если вы не знаете абсолютный путь к вашему скрипту, перейдите в каталог скрипта на вашем терминале и введите readlink -f newGhRepo.sh . Это должно вернуть вам полный путь. 😉

  • После редактирования сохраняем файл, перезапускаем терминал и вуаля! Теперь мы можем запустить наш скрипт, просто введя newghrepo , независимо от того, в каком каталоге мы сейчас находимся. Гораздо быстрее, чем открывать браузер и щелкать мышью, чтобы создать репозиторий! =D

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

РЕКЛАМА

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

Если вам интересно узнать больше о терминале и Bash, у Зака ​​Голлвитцера есть потрясающая серия ускоренных курсов на YouTube.
У него также есть отличные руководства по другим темам, таким как Node и Javascript, поэтому я рекомендую вам следовать за ним. 😉

Как всегда, надеюсь, вам понравилась статья и вы узнали что-то новое. Если хотите, вы также можете подписаться на меня в LinkedIn или Twitter.

Удачи и увидимся в следующем! =D

Научитесь программировать бесплатно. Учебная программа freeCodeCamp с открытым исходным кодом помогла более чем 40 000 человек получить работу в качестве разработчиков. Начать

для | Документы Майкрософт

Обратная связь Редактировать

Твиттер LinkedIn Фейсбук Эл. адрес

  • Статья
  • 8 минут на чтение

Запускает указанную команду для каждого файла в наборе файлов.

Синтаксис

 для {%% | %} in () do  []
 

Параметры

Параметр Описание
{%% \| %}<переменная> Обязательно. Представляет заменяемый параметр. Используйте один знак процента ( % ), чтобы выполнить команду вместо в командной строке. Используйте знаки двойного процента ( %% ) для выполнения команды вместо в пакетном файле. Переменные чувствительны к регистру и должны быть представлены в алфавитном порядке, например 9.0009 %a , %b или %c .
( <набор> ) Обязательно. Указывает один или несколько файлов, каталогов или текстовых строк или диапазон значений, для которых выполняется команда. Скобки обязательны.
<команда> Обязательно. Указывает команду, которую вы хотите выполнить для каждого файла, каталога или текстовой строки или для диапазона значений, включенных в набор .
<параметры командной строки> Указывает любые параметры командной строки, которые вы хотите использовать с указанной командой.
/? Отображает справку в командной строке.
  • Эту команду можно использовать в пакетном файле или непосредственно из командной строки.

  • К команде для применяются следующие атрибуты:

    • Эта команда заменяет % переменная или %% переменная с каждой текстовой строкой в ​​указанном наборе, пока указанная команда не обработает все файлы.

    • Имена переменных чувствительны к регистру, являются глобальными, и не более 52 могут быть активны одновременно.

    • Во избежание путаницы с параметрами партии от %0 до %9 можно использовать любой символ для переменной , кроме цифр от 0 до 9 . Для простых пакетных файлов один символ, например %%f будет работать.

    • Можно использовать несколько значений для переменной в сложных пакетных файлах, чтобы различать разные заменяемые переменные.

  • Параметр set может представлять одну группу файлов или несколько групп файлов. Вы можете использовать подстановочные знаки ( * и ? ) для указания набора файлов. Допустимы следующие наборы файлов:

     (*.doc)
    (*.doc *.txt *.me)
    (янв*.док янв*.рпт фев*.док фев*.рпт)
    (ар??1991.* ап??1991.*)
     
  • При использовании этой команды первое значение в наборе заменяет % переменной или %% переменной , а затем указанная команда обрабатывает это значение. Это продолжается до тех пор, пока не будут обработаны все файлы (или группы файлов), соответствующие значению set .

  • В и do не являются параметрами, но вы должны использовать их с этой командой. Если вы пропустите любое из этих ключевых слов, появится сообщение об ошибке.

  • Если расширения команд включены (по умолчанию), поддерживаются следующие дополнительные формы для :

    • Только каталоги: Если набор содержит подстановочные знаки ( * или ? ), указанная команда выполняется для каждого каталога (вместо набора файлов в указанном каталоге), который соответствует набору . Синтаксис:

       для /d {%%|%} в () do  []
       
    • Рекурсивный: Обходит дерево каталогов, корнем которого является диск : путь , и выполняет оператор for в каждом каталоге дерева. Если после /r каталог не указан, в качестве корневого каталога используется текущий каталог. Если set — это всего лишь одна точка (.), она только перечисляет дерево каталогов. Синтаксис:

       для /r [[<диск>:]<путь>] {%%|%}<переменная> in () do  []
       
    • Итерация диапазона значений: Используйте итеративную переменную, чтобы установить начальное значение ( start #), а затем пройти через заданный диапазон значений, пока значение не превысит установленное конечное значение ( end #). /l выполнит итерацию, сравнивая start # с end #. Если start # меньше end #, команда будет выполнена. Когда итеративная переменная превышает end #, командная оболочка выходит из цикла. Вы также можете использовать минус step # для перехода через диапазон в порядке убывания значений. Например, (1,1,5) генерирует последовательность 1 2 3 4 5, а (5,-1,1) генерирует последовательность 5 4 3 2 1. Синтаксис:

       для /l {%%|%}<переменная> in (,,) do  []
       
    • Итерация и синтаксический анализ файлов: Используйте синтаксический анализ файлов для обработки вывода команды, строк и содержимого файла. Используйте итерационные переменные, чтобы определить содержимое или строки, которые вы хотите изучить, и используйте различные parsingkeywords опции для дальнейшего изменения синтаксического анализа. Используйте параметр токена parsingkeywords , чтобы указать, какие токены следует передавать в качестве итерационных переменных. При использовании без параметра токена /f будет проверять только первый токен.

      Анализ файла состоит из чтения вывода, строки или содержимого файла, а затем разбиения его на отдельные строки текста и разбора каждой строки на ноль или более токенов. Затем вызывается цикл для со значением итерационной переменной, установленным в токен. По умолчанию /f передает первый токен, разделенный пробелами, из каждой строки каждого файла. Пустые строки пропускаются.

      Синтаксисы:

       для /f [] {%%|%}<переменная> in () do  []
      for /f [] {%%|%} in () do  []
      for /f [] {%%|%} in ('') do  []
       

      Аргумент set указывает одно или несколько имен файлов. Каждый файл открывается, читается и обрабатывается перед переходом к следующему файлу в наборе . Чтобы переопределить поведение синтаксического анализа по умолчанию, укажите ключевых слов синтаксического анализа . Это строка в кавычках, которая содержит одно или несколько ключевых слов для указания различных параметров синтаксического анализа.

      Если вы используете параметр usebackq , используйте один из следующих синтаксисов:

       для /f [usebackq ] {%%|%} in () do  []
      for /f [usebackq ] {%%|%} in ('') do  []
      for /f [usebackq ] {%%|%} in (``) do  []
       

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

      Ключевое слово Описание
      эол= <с> Задает символ конца строки (только один символ).
      пропустить= Задает количество пропускаемых строк в начале файла.
      разделители= Задает набор разделителей. Это заменяет набор разделителей по умолчанию, состоящий из пробела и табуляции.
      жетонов= Указывает, какие токены из каждой строки должны передаваться в цикл для для каждой итерации. В результате выделяются дополнительные имена переменных. m-n задает диапазон от m th до n th токенов. Если последним символом в строке tokens= является звездочка ( * ), выделяется дополнительная переменная, и она получает оставшийся текст в строке после последней проанализированной лексемы.
      использованиебэкк Указывает запускать строку в обратных кавычках как команду, использовать строку в одинарных кавычках в качестве буквальной строки или, для длинных имен файлов, содержащих пробелы, разрешать имена файлов в , чтобы каждое из них было заключено в двойные -кавычки.
    • Замена переменной: В следующей таблице приведен необязательный синтаксис (для любой переменной I ):

      Переменная с модификатором Описание
      %~I Раскрывает %I , удаляя все окружающие кавычки.
      %~fI Заменяет %I на полное имя пути.
      %~dI Расширяется %I только на букву диска.
      %~пи Расширяет %I только до пути.
      %~nI Расширяет %I только до имени файла.
      %~xI Расширяет %I только до расширения имени файла.
      %~sI Путь расширяется, чтобы содержать только короткие имена.
      %~aI Расширяет %I до атрибутов файла файла.
      %~tI Раскрывает %I до даты и времени файла.
      %~zI Расширяет %I до размера файла.
      %~$ПУТЬ:I Выполняет поиск в каталогах, перечисленных в переменной среды PATH, и заменяет %I на полное имя первого найденного каталога. Если имя переменной среды не определено или файл не найден поиском, этот модификатор заменяется пустой строкой.

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

      Переменная с комбинированными модификаторами Описание
      %~dpi Расширяет %I только до буквы диска и пути.
      %~nxI Расширяет %I только до имени файла и расширения.
      %~fsI Расширяет %I до полного имени пути только с короткими именами.
      %~dp$PATH:I Ищет в каталогах, перечисленных в переменной среды PATH, %I и заменяется на букву диска и путь к первому найденному.
      %~ftzaI Расширяет %I до строки вывода, похожей на dir .

      В примерах выше можно заменить %I и PATH с другими допустимыми значениями. Допустимое имя переменной вместо завершает синтаксис %~ .

      Используя имена переменных в верхнем регистре, такие как %I , вы можете сделать свой код более читабельным и избежать путаницы с модификаторами, которые не чувствительны к регистру.

  • Разбор строки: Вы можете использовать логику разбора for /f для непосредственной строки, заключив в двойные кавычки ( 9 ) обрабатываются как обычные символы.

  • Анализ вывода: Вы можете использовать команду вместо /f для анализа вывода команды, поместив <команда> в кавычках между скобками. Он рассматривается как командная строка, которая передается дочернему Cmd.exe. Вывод записывается в память и анализируется, как если бы это был файл.

Примеры

Чтобы использовать вместо в пакетном файле, используйте следующий синтаксис:

 для {%%|%}<переменная> в () do  []
 

Чтобы отобразить содержимое всех файлов в текущем каталоге с расширением .doc или .txt, используя заменяемую переменную %f , введите:

 для %f в (*. doc *.txt) do введите %f
 

В предыдущем примере каждый файл с расширением .doc или .txt в текущем каталоге заменяется переменной %f до тех пор, пока не будет отображено содержимое каждого файла. Чтобы использовать эту команду в пакетном файле, замените каждое вхождение %f с %%f . В противном случае переменная игнорируется и отображается сообщение об ошибке.

Чтобы проанализировать файл, игнорируя закомментированные строки, введите:

 for /feol=; tokens=2,3* delims=, %i в (myfile.txt) do @echo %i %j %k
 

Эта команда анализирует каждую строку в myfile.txt . Он игнорирует строки, начинающиеся с точки с запятой, и передает второй и третий токен из каждой строки в тело для (токены разделяются запятыми или пробелами). Тело 9.0009 для оператора ссылается на %i для получения второго маркера, %j для получения третьего маркера и %k для получения всех оставшихся маркеров. Если указанные имена файлов содержат пробелы, заключите текст в кавычки (например, Имя файла). Чтобы использовать кавычки, вы должны использовать usebackq . В противном случае кавычки интерпретируются как определяющие литеральную строку для анализа.

%i явно объявлен в для заявления . %j и %k неявно объявлены с использованием tokens= . Вы можете использовать токенов = , чтобы указать до 26 токенов, при условии, что это не вызовет попытки объявить переменную выше буквы z или Z.

Чтобы проанализировать вывод команды, поместив , установите между круглые скобки, введите:

 for /f "usebackq delims==" %i in (`set`) do @echo %i
 

Дополнительные каталожные номера

  • Ключ синтаксиса командной строки

Обратная связь

Отправить и просмотреть отзыв для

Этот продукт Эта страница

Просмотреть все отзывы о странице

Введение в программирование: как пользоваться командной строкой (часть 1)

В этой статье мы начинаем рассказывать об основах использования командной строки. Хотя поначалу это может выглядеть пугающе (ни цветов, ни кнопок, и почему это выглядит так, как будто оно из 1980-х?), командная строка — очень важный инструмент, с которым нужно ознакомиться.

Содержание

  • Что такое командная строка?
    • Это уродливо и мне это не нравится. Почему я должен использовать командную строку?
  • Анатомия командной строки
    • Как использовать приглашение командной строки
    • Что такое команда для запуска?
    • Как прочитать ответ компьютера
  • Теперь вы знаете, что такое командная строка, что дальше?

 

Перед установкой Python важно изучить основы использования командной строки. Эта статья является частью нашей серии Введение в программирование .

Командная строка (терминал или командная строка) относится к типу программы, которая предустановлена ​​на компьютерах с Windows, Linux и Mac и позволяет вам выполнять команды, запускать программы и перемещаться по папкам на вашем компьютере. В этой серии статей я часто буду использовать термин 9.0009 терминал или командная строка , потому что я использую Mac, но знаю, что они относятся к одному и тому же.

Командная строка часто фигурирует в фильмах. Возможно, вы видели это, особенно когда хакеры вмешивались и делали что-то интересное, например взламывали правительственные базы данных. Это не означает, что вы должны взламывать правительственные базы данных!

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

Источник изображения: https://www.timetoast.com/timelines/the-history-of-ecommerce 

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

Расширенные способы использования командной строки выходят за рамки этой серии статей, но я расскажу об основах. На компьютерах Mac командная строка называется терминалом T , и вы можете найти ее, выполнив поиск терминального приложения. На компьютерах с Windows командная строка называется C command Prompt , и вы снова можете найти ее, выполнив поиск на своем компьютере. Пользователи Linux предпочитают термин Command Line .

Примечание для пользователей Windows: Командная строка Windows не так мощна (на мой взгляд) и не так проста в использовании, как терминал Linux или Mac. По этой причине я настоятельно рекомендую вам установить Anaconda Distribution , который « — это бесплатный, простой в установке менеджер пакетов, менеджер среды и дистрибутив Python с коллекцией из 1000+ пакетов с открытым исходным кодом с бесплатной поддержкой сообщества. » Дистрибутив Anaconda поставляется с Anaconda Prompt, который похож на терминал Linux или Mac. Вы можете использовать это вместо командной строки Windows по умолчанию.

Независимо от того, запускаете ли вы терминал на Mac, или Anaconda Prompt, или даже командную строку на компьютере с Windows, должно открыться новое окно, и оно должно выглядеть примерно так: по сути, какой-то текст внутри простого поля.

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

В качестве ментальной модели командной строки представьте ее как тип приложения для обмена сообщениями: вы вводите какое-то сообщение, а компьютер возвращает несколько ответов. Вы не можете пойти выше и изменить введенные вами сообщения, но вы всегда можете ввести новые сообщения. Кроме того, в отличие от большинства приложений для обмена сообщениями, вы, как правило, не можете «печатать», пока компьютер «печатает». Вам нужно дождаться завершения выполнения команды, прежде чем вы сможете запустить другую команду.

Командная строка остается мощным и зачастую более быстрым способом взаимодействия с компьютерами.

 

Это уродливо и мне это не нравится. Почему я должен использовать командную строку?

Должен согласиться, эстетика командной строки не сильно изменилась с 20 века. Тем не менее, это также часть его красоты. Подумайте, сколько времени вы потратили на знакомство с тем или иным графическим интерфейсом. Кнопки каждого приложения выглядят немного по-разному или расположены немного в другом месте. Названия меню разные и т.д. Командная строка проста, потому что она вся текстовая. Если вы умеете печатать на клавиатуре, вы можете использовать командную строку.

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

Например, на снимке экрана выше вы можете видеть, что все, что мне нужно сделать, чтобы получить текущее время и дату, это ввести дату команды, и как только я нажму Enter, я увижу текущую дату и время, напечатанные на следующем линия.

Еще одна причина научиться пользоваться командной строкой заключается в том, что иногда вы просто не можете избежать ее использования. Командная строка позволяет вам взаимодействовать с операционной системой (OS X, Windows, Linux) гораздо более тесно и эффективно, без вмешательства слоев графической абстракции. Кроме того, значительная часть программного обеспечения, с которым вы будете взаимодействовать как программист, просто не имеет пользовательского интерфейса, потому что в нем нет необходимости. Веб-серверы, такие как Jupyter Notebook, всевозможные демоны, утилиты командной строки и т. д., не нуждаются в пользовательском интерфейсе и используют командную строку.

 

  • Введение в программирование: как подготовить компьютер к запуску Python
  • Краткое руководство: как запустить новый ноутбук Jupyter

 

Структура командной строки

На приведенной ниже диаграмме я поясняю различные части командной строки.

Как использовать подсказку командной строки

Подсказка командной строки — это текст, который добавляется перед каждой новой строкой. В моем случае он читается (базовый) ciprian ~$. Это легко настраивается и служит для предоставления полезной информации пользователю.

В моем случае моя командная строка сообщает мне, что я нахожусь в среде base (в следующей статье я расскажу о средах программирования), что пользователь, под которым я вошел, является ciprian (это я) , и что я нахожусь в папке ~ (подробнее об этом чуть позже). $ в конце — это просто индикатор того, что здесь заканчивается мое приглашение командной строки, и здесь я могу начать вводить свои команды.

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

 

Что такое команда для запуска?

Запускаемая команда всегда представляет собой текст. На приведенном выше снимке экрана мне нужно получить текущую дату, поэтому команда, которую мне нужно выполнить, — это просто слово date . Есть множество команд, которые вы можете запустить в командной строке, но не перегружайтесь этим. Вы всегда можете выучить новые команды по ходу дела. Когда вы научитесь программировать быстрее, это станет вашей второй натурой. В следующей статье мы рассмотрим основные команды, чтобы вы могли начать.

 

  • Как научиться программировать быстрее 

Как прочитать ответ компьютера

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