Все команды для командной строки windows 10

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

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

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

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

Терминал

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

Терминал

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

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

Сплиты в Iterm2

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

Командная оболочка

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

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

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

Terminal

Каждая строка — это команда, которую система должна выполнить. После ввода команды обязательно нажать Enter, только в этом случае команда отправится на исполнение. После нажатия Enter отредактировать команду уже нельзя.

Оболочка запускается внутри терминала и приглашает ко вводу команд:

~█

Рассмотрим фрагмент кода подробнее. Мы видим:

  • Символ $ — он используется как разделитель
  • Слева от $ — настраиваемое сообщение для вывода, обычно это текущая директория
  • Справа от $ — команда, которую вводит пользователь

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

Sun Aug 26 14:02:59 CEST 2018
█

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

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

Далее в курсе мы раскроем многие из этих аспектов.

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

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

Pipeline

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

Командную оболочку нередко называют реплом от английского REPL (Read-Eval-Print-Loop). Это сокращение отражает способ взаимодействия командной оболочки с пользователем:

  • Read — оболочка ждет ввода команды от пользователя
  • Eval — исполняет введенную команду
  • Print — выводит результат
  • Loop — возвращаемся к первому пункту

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

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

Чтобы вам было удобнее выполнять задания к урокам, в среде Хекслета сразу запущено два терминала. Терминалы доступны в нижних вкладках под именами Terminal 1 и Terminal 2.

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


Самостоятельная работа

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

Сначала нужно установить терминал. Установка зависит от вашей операционной системы:

  • Если вы работаете с ОС Windows, вам потребуется использовать

    Далее убедитесь, что внутри терминала можно запустить bash-сессию. Откройте терминал и введите такой текст:

    
    /bin/bash # Это вывод команды, которую вы ввели выше

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


Аватары экспертов Хекслета

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

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

Все команды для командной строки windows 10

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

То что я тут напишу этим обычно не делятся. Как правило у каждого разработчика есть свой потайной сheat-list полезных консольных команд для выполнения какой-либо работы.

Наверное этот текст также обидит чувства Windows пользователей, так как тут по сути предлагается использовать Unix(овые) утилиты в OS Windows. Многие пользователи Windows, которых я знаю религиозно презирают Linux и всё, что с этим связано. Предвижу что текст уйдет в глубокий минус.

Пользоваться Unix утилитами в OS Windows это тоже, что если бы американские солдаты во время своих зверств во Вьетнаме бросали бы свои винтовки M-16, а пользовались бы исключительно и только автоматами Калашникова. Однако, тем не менее, и такое было!

Но на самом деле нет ничего плохого в том что на Windows 10 запускать Unix утилиты. Это лишь подчёркивает тот факт, что хороший компьютер это, прежде всего, универсальный вычислитель.

Итак, Unix(овые) утилиты для командной строки можно с легкость отрабатывать и в операционной системе Windows, если установить GIT и открыть консоль GIT.

Все команды для командной строки windows 10

Также их можно установить из CygWin или MinGW.

Все команды для командной строки windows 10

Полезные команды в интерпретаторе Bash

26–На работе мне в мессенджер Junior программисты микроконтроллеров часто пишут личные сообщения типа:

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

grep -rn "UsecToStr(" | grep "\.c:"

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

Правда в том, что если у Вас локально на SSD/HDD диске есть Си-код и Вы знаете и умеете пользоваться утилитой grep, то Вам в принципе не нужна никакая другая документация для кода! Любую информацию Вы сможете извлечь при помощи grep запросов.

1–Показать абсолютный путь к утилите, например grep

where grep

2–Рекурсивно заменить слово old_word на new_word во всех файлах внутри директории.

grep -rl oldtext . | xargs sed -i 's/oldtext/newtext/g'

Тут для grep -r означает, что искать внутри папок рекурсивно, -l означает показывать только пути к файлам. Для sed -i означает, что замена слова будет произведена прямо в этом же файле (in place), s означает что надо заменить первый токен на второй токен, флаг g заменяет все вхождения заменяемого токена.

Также бывает очень полезно сделать автоматическую замену предложения в конкретном файле. Это часто происходит из-за несовместимости между настройками IDE Eclipse в файле .cproject. Чинится это так.

sed -i -e 's/ARM family/Arm family (-mcpu)/g' .cproject
sed -i -e 's/"GNU Tools for ARM Embedded Processors"/"xPack GNU Arm Embedded GCC"/g' .cproject

25–Во всех файлах в этой папке (включая вложенные папки с файлами) удалить все строки в которых есть ключевое слово KeyWord, начиная с данной директории

find . -type f -print0 | xargs -0 sed -i /KeyWord/d

Вообще с командой sed надо быть очень осторожным! Sed может тихо изменить там, где это не следует (например *.ewp настройки проекта в IAR), и потом не откроется проект в вашей любимой GUI-IDE. Как следствие Вы не сможете больше никогда собрать свой проект. И у Вас могут начаться из-за этого паника, судороги и конвульсии.

3–Показать размер папок

du -a --max-depth=1 | sort -n

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

env

5–Найти все файлы с расширением .bak

find . -type f -name "*.bak"

6–Удалить все файлы с расширением .bak

find . -type f -name "*.bak" -delete

7–Открыть все *.mk файлы

for f in $(find . -name '*.mk' -not -name "sub"); do start Notepad++ $f; done

8–Удалить строку 35 из файла file.doti

sed -i '35d' file.doti

9–Найти все директории с именем Drivers в данной папке

find . -name 'Drivers' -type d

10–Найти *.с и *.mk файлы в локальном GIT репозитории

git status | grep -e "\.mk" -e "\.[ch]" | grep -v "\.cmake" | grep -v "\.html"

11–Отсортировать процессы по потреблению RAM

tasklist | sort -k5

12–Узнать количество свободно места на диске

df -h

13–Показать размер папок

du -hs * | sort -hr

14–Установить переменную окружения в Bash

export var=some_value

В консоли Windows cmd переменные окружения устанавливаются так

set VAR_NAME=VAR_VALUE

15–Удалить папку со всем её содержимым.

rm -rf folder_to_delete

16–Отсортировать строки по конкретной колонке.

sort -nr -k6 -t'|' LoRaByteRatesTable.txt -o LoRaByteRatesTable_sorted.txt

17–Найти все файлы больше 10Mbyte.

find -type f -size +10M

18–Поиск файла по расширению *.s.

find . -name '*.s' 

19– Команда, которая ищет во всех файлах проекта места с упоминанием ключевого слова “LED”, причем только в файлах board.h

grep -rn LED | grep board.h

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

20–Показать состояния TCP соединений.

 netstat -n -p TCP

Опция -n показать IP адрес и локальный порт, -p значит указать название протокола

21– Автоматически отсортировать строчки в конфиг файле по алфавиту и еще при этом удалить повторения.

sort.exe -u config.mk -o config.mk

Мега полезная команда так как после нее образуется минимальный diff в утилите WinMerge. Эту команду вообще надо прописать в скрипты сборки кода.

22–Показать все файлы с расширением *.mk в git репозитории

git status | grep "\.mk"

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

23–Типичная ситуация. Вы делаете git pull и получаете вот такую картинку.

Все команды для командной строки windows 10

Проблема это сообщение

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

 mv source/projects/nrf5340_dk_nortos_max98357a_m/ source/projects/nrf5340_dk_nortos_max98357a_m_old7

И также надо переименовать файл flash_preconfig.mk из командной строки. Делает это команда mv

 mv source/mcal/mcal_common/flash/flash_preconfig.mk source/mcal/mcal_common/flash/flash_preconfig_old.mk

Далее уже имея две папки (локальная и от удаленного репозитория) можно сравнить две версии в культовой утилите WinMerge и выбрать лучшее из обоих версий файлов для сборки очередной прошивки.

27– Иной раз надо целиком скопировать одну папку в другую папку без лишних вопросов о подтверждении действий. Для этого существует Windows утилита robocopy

robocopy dir/source_dir dir/destination_dir /S

Тут /S означает копировать поддиректории за исключением пустых директорий

24– Найти все папки в которых отсутствуют файлы с расширением *.gvi

comm -3 <(find . -type f -name ".gvi" -exec dirname {} ; |sort -u) <(find . -type d |sort -u)

Сначала строится список всех локальных директорий, которые содержат файлы *.gvi,

find . -type f -name ".gvi" -exec dirname {} 

этот список всех локальных директорий, которые содержат файлы *.gvi сортируется.

 find . -type f -name "*.gvi" -exec dirname {} ; |sort -u

Затем строится просто список всех локальных директорий

 find . -type d

список всех локальных директорий тоже сортируется.

 find . -type d |sort -u

После чего эти списки сравниваются и подавляются строчки фигурирующий в обоих файлах (comm –3). Остаются только строчки, которые показывают те папки в которых нет какого-либо специфического расширения.

Это очень удобная команда для самопроверки факта окончания работы по какому-либо программному компоненту. Например добавлению *.cmake файлов в кодовую базу

28– Показать количество строк Си-кода во всей локальной кодовой базе

find . -name '*.[ch]' -type f -print0 | xargs -0 cat | wc -l

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

29–Взять все файлы в этой папке и в каждом имени файла переименовать подстроку at24c02mtr на at24cxx

find . -type f -exec rename -v at24c02mtr at24cxx {} \;

Эта очень удобная команда, когда надо написать программный компонент по образу и подобию другого программного компонента. Сначала переименовываем названия файлов (find+rename)

Все команды для командной строки windows 10

а потом переименовывает ключевые слова в самих файлах (grep+sed)

grep -rl oldtext . | xargs sed -i 's/oldtext/newtext/g'

и “Вуаля”! Вся работа выполнена двумя строчками кода в командной строке!

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

Если говорить метафорично, то утилиты Unix – это как химическая посуда (пробирки, колбы, делительные воронки, мензурки, воронки, фильтры, капельницы, часовые стекла, стеклянные палочки), только применительно к данным (числам и тексту). Видимо авторы UNIX в 196х-197х были серьезно вдохновлены химией при разработке компьютерных консольных утилит. Согласитесь, что ну невозможно не заметить этих аналогий между UNIX утилитами и химической посудой.

Все команды для командной строки windows 10

Если Вы тоже знаете какие-либо простые элегантные и главное полезные консольные команды, то пишите их в комментариях. Не обязательно из bash можно и из cmd или вообще из powershell(а). Лишь бы эти команды умещались в одну строку.

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

Вы пользуетесь за компьютером командной строкой?

Проголосовали 177 пользователей. Воздержались 7 пользователей.

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

В какой операционной системе вы обычно работаете?

Проголосовали 202 пользователя. Воздержались 6 пользователей.

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

Откуда вы берете Unix(овые) утилиты для Windows?

Проголосовали 53 пользователя. Воздержались 82 пользователя.

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

Вы пользуетесь утилитой grep?

Проголосовали 172 пользователя. Воздержались 11 пользователей.

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

Вы пользуетесь GIT(ом)?

Проголосовали 177 пользователей. Воздержались 8 пользователей.

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

Какой консолью Вы чаще пользуетесь?

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

Проголосовали 39 пользователей. Воздержались 2 пользователя.

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

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

  • 130 курсов, 2000+ часов теории

  • 1000 практических заданий в браузере

  • 360 000 студентов

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

:/>  Как запустить винду после смены материнки. Замена материнской платы без переустановки Windows