Бывает, что некоторые команды Windows cmd сложно вспомнить, и сохранение их на компьютере или на бумаге в качестве шпаргалки является хорошей практикой. Этот список не является полным, но он содержит наиболее часто используемые команды. Не стесняйтесь добавить свои наиболее часто используемые команды в комментариях ниже, а так же поделиться этим списком.
Управление файлами и папками
- COPY – Копирование файлов в другое место
- DIR – Отображение файлов и папок в текущем каталоге
- DEL или ERASE – Удаление файлов
- EDIT – Запуск редактора файлов
- CD – Изменить каталог
- EXPAND – Распаковать сжатые файлы
- FC – Сравнивает файлы и показывает различия между ними
- FIND – Найти текстовую строку в файле
- MD или MAKEDIR – Создать папку
- MOVE – Переместить файлы из одной папки в другую
- PRINT – отобразить содержимое текстового файла
- RD или RMDIR – удалить папку
- REN или RENAME – переименовать файл или папку
- REPLACE – Замена файлов в одном каталоге на файлы с тем же именем в другом каталоге
- ROBOCOPY – Использует программу «Робокопи» для копирования файлов и каталогов
- TREE – Показывает структуру каталогов диска или папки
- TYPE – Отображает содержимое текстовых файлов
- OPENFILES – Управление открытыми локальными или сетевыми файлами
- XCOPY – Копирование файлов и деревьев каталогов
Приложения и процессы
- SCHTASKS – Запланированный запуск приложения приложения (планировщик задач)
- SHUTDOWN – Выключение или перезагрузка компьютера
- TASKLIST – Список выполняемых задач
- TASKKILL – Остановить или прекратить выполнение задачи (для остановки задачи используется PID, который можно узнать из TASKLIST).
- REG – Запустить редактор реестра
- RUNAS – Запуск задачи от имени другого пользователя
Управление дисками
- CHKDISK – Проверяет диск и показывает статистику
- DEFRAG – Запуск дефрагментации диска
- CHKNTFS – Отображает или изменяет выполнение проверки диска при загрузке
- COMPACT – Отображает и изменяет сжатие файлов в разделах NTFS
- CONVERT – преобразование дискового тома FAT в NTFS
- DISKPART – Отображение и настройка свойств разделов диска
- FORMAT – Форматирование диска
- FSUTIL – Отображение и настройка свойств файловой системы
- LABEL – Создание, изменение или удаление метки тома диска
- RECOVER – Восстановление данных с поврежденного или испорченного диска
- VOL – Отображение метки тома и серийного номера диска
Системная информация
- DATE – Выводит или устанавливает текущую дату
- TIME – Выводит или устанавливает системное время
- DRIVERQUERY – Отображает текущее состояние и свойства драйвера устройства
- HOSTNAME – Отображает имя компьютера
- SYSTEMINFO – Отображает информацию о конфигурации компьютера
- VER – Позволяет просмотреть версию Windows
- GPRESULT – Отображает текущие примененные групповые политики (RSoP)
- GPUPDATE – Обновление групповых политик
Сеть
- IPCONFIG – Отображает информацию о сетевых интерфейсах
- PING – Отправляет ICMP-запросы на целевой хост, проверяет его доступность
- TRACERT – Отображение пути пакетов в сети
- NSLOOKUP – Поиск IP-адреса по имени ресурса
- ROUTE – Отображает таблицы сетевых маршрутов
- ARP – Показывает таблицу с IP-адресами, преобразованными в физические адреса
- NETSH – Запускает программу управления сетевыми настройками
- GETMAC – Показывает MAC-адрес сетевого адаптера
- TFTP – Запускает TFTP-клиент в консоли
Настройка командной строки
- CLS – Очистить экран
- CMD – Отображает другую командную строку
- COLOR – Устанавливает цвет текста и фона в консоли
- PROMPT – Изменение начального текста командной строки
- TITLE – Присвоение заголовка для текущего сеанса
- HELP – Запуск справки CMD
- EXIT – Выход из командной строки
Аverage rating : 4.9
Оценок: 12
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700
300
Программистам часто приходится работать в консоли — например, чтобы запустить тестирование проекта, закоммитить новый код на Github или отредактировать документ в vim. Всё это происходит так часто, что все основные действия с файлами становится быстрее и привычнее выполнять в консоли. Рассказываем и показываем основные команды, которые помогут ускорить работу в терминале под OS Windows.
Для начала нужно установить терминал или запустить командную строку, встроенную в Windows — для этого нажмите Win+R
и введите cmd
. Терминал часто встречается и прямо в редакторах кода, например, в Visual Studio Code.
Чтобы ввести команду в консоль, нужно напечатать её и нажать клавишу Enter
.
Содержимое текущей папки — dir
Выводит список файлов и папок в текущей папке.
C:\content-server>dir
Том в устройстве C имеет метку SYSTEM
Серийный номер тома: 2C89-ED9D
Содержимое папки C:\content-server
06.10.2020 00:41 <DIR> .
06.10.2020 00:37 <DIR> .circleci
16.07.2020 16:04 268 .editorconfig
16.07.2020 16:04 10 .eslintignore
16.07.2020 16:04 482 .eslintrc
06.10.2020 00:37 <DIR> .github
16.07.2020 16:04 77 .gitignore
06.10.2020 00:41 <DIR> assets
06.10.2020 00:41 <DIR> gulp
16.07.2020 16:10 379 gulpfile.js
16.07.2020 16:10 296 320 package-lock.json
16.07.2020 16:10 751 package.json
16.07.2020 16:04 509 README.md
Открыть файл
Чтобы открыть файл в текущей папке, введите его полное имя с расширением. Например, blog.txt или setup.exe.
Перейти в другую папку — cd
Команда cd
без аргументов выводит название текущей папки.
Перейти в папку внутри текущего каталога:
C:\content-server>cd assets
C:\content-server\assets>
Перейти на одну папку вверх:
C:\content-server\assets>cd ..
C:\content-server>
Перейти в папку на другом диске:
c:\content-server>cd /d d:/
d:\>
Чтобы просто изменить диск, введите c:
или d:
.
Создать папку — mkdir или md
Создаём пустую папку code
внутри папки html
:
d:\html>mkdir coded:\html>dir
Содержимое папки d:\html
03.11.2020 19:23 <DIR> .
03.11.2020 19:23 <DIR> ..
03.11.2020 19:25 <DIR> code
0 файлов 0 байт
3 папок 253 389 438 976 байт свободно
Создаём несколько пустых вложенных папок — для этого записываем их через косую черту:
d:\html>mkdir css\js
d:\html>dir
Том в устройстве D имеет метку DATA
Серийный номер тома: 0000-0000
Содержимое папки d:\html
03.11.2020 19:23 <DIR> .
03.11.2020 19:23 <DIR> ..
03.11.2020 19:25 <DIR> code
03.11.2020 19:29 <DIR> css
Создаётся папка css
, внутри которой находится папка js
. Чтобы проверить это, используем команду tree
. Она показывает дерево папок.
Удалить папку — rmdir или rd
Чтобы удалить конкретную папку в текущей, введите команду rmdir
:
d:\html\css>rmdir js
При этом удалить можно только пустую папку. Если попытаться удалить папку, в которой что-то есть, увидим ошибку:
d:\html\css>d:\html>rmdir css
Папка не пуста.
Чтобы удалить дерево папок, используйте ключ /s
. Тогда командная строка запросит подтверждение перед тем, как удалить всё.
d:\html>rmdir css /s
css, вы уверены [Y(да)/N(нет)]? y
Показать дерево папок — tree
В любом момент мы можем увидеть структуру папок. Для этого используется команда tree
.
d:\html>tree
Структура папок тома DATA
Серийный номер тома: 0000-0000
D:.
├───code
└───css
└───js
Если вы хотите посмотреть содержимое всего диска, введите tree
в корне нужного диска. Получится красивая анимация, а если файлов много, то ещё и немного медитативная.
Удаление файла — del или erase
Команда для удаления одного или нескольких файлов.
d:\html>del blog.txt
Переименование файла — ren или rename
Последовательно вводим ren
, старое и новое имя файла.
d:\html>dir
Содержимое папки d:\html
03.11.2020 19:23 <DIR> .
03.11.2020 19:23 <DIR> ..
03.11.2020 19:59 0 blag.txt
d:\html>ren blag.txt blog.txt
d:\html>dir
Содержимое папки d:\html
03.11.2020 19:23 <DIR> .
03.11.2020 19:23 <DIR> ..
03.11.2020 19:59 0 blog.txt
Команды одной строкой
Очистить консоль — cls
.
Информация о системе — systeminfo
.
d:\html>systeminfo
Имя узла: DESKTOP-6MHURG5
Название ОС: Майкрософт Windows 10 Pro
Версия ОС: 10.0.20246 Н/Д построение 20246
Изготовитель ОС: Microsoft Corporation
Параметры ОС: Изолированная рабочая станция
Сборка ОС: Multiprocessor Free
Информация о сетевых настройках — ipconfig
.
d:\html>ipconfig
Настройка протокола IP для Windows
Адаптер Ethernet Ethernet 2:
Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Список запущенных процессов — tasklist
.
c:\>tasklist
Имя образа PID Имя сессии № сеанса Память
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 8 КБ
System 4 Services 0 2 688 КБ
Secure System 72 Services 0 23 332 КБ
…
Справка по командам — help
Команда help
без аргументов выводит список всех возможных команд. help
вместе с именем команды выведет справку по этой команде.
d:\html>help tree
Графическое представление структуры папок или пути.
TREE [диск:][путь] [/F] [/A]
/F Вывод имён файлов в каждой папке.
/A Использовать символы ASCII вместо символов национальных алфавитов.
В этой статье приведены не все команды и не все их возможности, но вы всегда можете воспользоваться командой help
и узнать о том, что ещё может командная строка.
👉🏻 Больше статей о фронтенде и работе в айти в телеграм-канале.
Подписаться
Материалы по теме
- 10 горячих клавиш VS Code, которые ускорят вашу работу
- Полезные команды для работы с Git
- Полезные команды для работы с Node. js
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
ТелеграмПодкастБесплатные учебники
Работа с терминалом может пугать тех, кто привык работать с графическими пользовательскими интерфейсами (GUI). Тем не менее, это важный инструмент, к работе с которым разработчику Python нужно привыкнуть. И как только вы улучшите свои навыки по работе с терминалом, он станет чрезвычайно мощным инструментом в вашем арсенале. С помощью всего нескольких команд в терминале вы можете выполнять задачи, которые невозможно или, по крайней мере, очень утомительно выполнять в графическом интерфейсе.
В этом уроке вы узнаете, как:
- Найти терминал в операционной системе
- Открыть терминал
- Осуществить навигацию по файловой системе с помощью основных команд
- Создать файлы и папки с помощью терминала
- Управлять пакетами с помощью pip-команд
- Отслеживать файлы с помощью Git в терминале
Если вы новичок в работе с терминалом или хотите расширить свое понимание его возможностей, то это руководство станет отличным стартом. В нем вы познакомитесь с некоторыми основными командами и узнаете, как использовать pip и Git для управления проектами в терминале.
Бесплатный материал: Нажмите здесь, чтобы получить бесплатную памятку полезных команд, которые помогут вам начать работу с терминалом.
Установите и откройте терминал
Раньше термин терминал ассоциировался с неуклюжим аппаратным обеспечением, которое вы использовали для ввода данных в компьютер. В настоящее время люди под терминалом обычно подразумевают эмулятор терминала и имеют в виду какое-то терминальное программное обеспечение, которое можно найти на большинстве современных компьютеров.
Примечание
Есть еще два других термина, которые время от времени используются в сочетании с терминалом:
- Оболочка — это программа, с которой вы взаимодействуете при выполнении команд в терминале.
- Интерфейс командной строки (CLI) — это программа, предназначенная для запуска в оболочке внутри терминала.
Другими словами, оболочка предоставляет команды, которые вы используете в интерфейсе командной строки, а терминал — это приложение, которое вы запускаете для доступа к оболочке.
Если вы используете компьютер с Linux или macOS, то терминал уже встроен. Вы можете начать использовать его прямо сейчас.
В Windows у вас также есть доступ к приложениям командной строки, таким как Command Prompt. Однако при работе с данным руководством и работы с терминалом в целом вместо этого следует использовать приложение терминала Windows.
Далее вы узнаете, как установить и открыть терминал в Windows и как найти терминал в Linux и macOS.
Терминал Windows — это современное и многофункциональное приложение, которое дает вам доступ к командной строке, нескольким оболочкам и расширенным параметрам настройки. Если у вас Windows 11 или выше, есть вероятность, что терминал Windows уже присутствует на вашем компьютере. В противном случае вы можете скачать приложение из Microsoft Store или из официального репозитория GitHub.
Прежде чем продолжить работу с этим учебным пособием, вам необходимо настроить терминал на вашем компьютере с Windows. Вы можете ознакомиться с документом «Your Python Coding Environment on Windows: Setup Guide», чтобы узнать, как установить терминал Windows.
После установки терминала Windows вы найдете его в меню «Пуск» в разделе Terminal. При запуске приложения вы должны увидеть окно, которое выглядит следующим образом:
Данное изображение и все последующие взяты отсюда.
Для удобства вы можете создать ярлык на рабочем столе для терминала или закрепить приложение на панели задач для быстрого доступа.
Linux
Вы можете найти терминальное приложение в меню приложений вашего дистрибутива Linux. Кроме того, вы можете нажать Ctrl
+ Alt
+ T
на клавиатуре или использовать панель запуска приложений и выполнить поиск по слову Terminal.
После открытия терминала вы должны увидеть нечто похожее:
То, как вы открываете терминал, также может зависеть от того, какой дистрибутив Linux вы используете.
macOS
Обычный способ открыть приложение терминала в macOS — открыть Spotlight Search и выполнить поиск Terminal. Вы также можете найти приложение терминала в папке приложения внутри Finder.
Когда вы открываете терминал, вы видите окно, похожее на изображение ниже:
После запуска терминального приложения вы увидите окно, ожидающее команд. Это похоже на взаимодействие со скриптом Python, который ожидает ввода данных пользователем.
Если вы хотите взаимодействовать с терминалом, вам нужно знать, какие команды терминала вы можете ввести, чтобы продолжить. В следующем разделе вы узнаете об основных командах терминала, которые помогут вам начать работу.
Изучите основные команды терминала
Для эффективной работы с терминалом важно понимать некоторые основные команды терминала и знать, как их использовать. Команды терминала — это инструкции, которые вы вводите в терминал для выполнения определенной задачи.
В зависимости от вашей операционной системы вы будете запускать команды терминала в определенной оболочке. Для Linux это, скорее всего, Bash, для более новых версий macOS — Zsh , а для Windows — PowerShell. Эти оболочки различаются по своим функциям, но у них общие основные команды.
Примечание
Вы можете думать о командах как о небольших программах, которые встроены в вашу оболочку или могут быть добавлены внешними приложениями. В PowerShell команды также называются cmdlets.
В этом разделе вы познакомитесь с наиболее часто используемыми командами терминала. Чтобы ознакомиться с ними, выберите свою операционную систему в переключателе платформ ниже:
Вот команды Windows, которые вы рассмотрите:
Linux + macOS:
Слова, написанные прописными буквами, являются ссылками на аргументы, допускаемые командами.
Далее вы узнаете, как перемещаться по файловой системе, а также создавать, редактировать и удалять файлы и каталоги. К концу этого раздела у вас будет прочная база для работы с терминалом и вы сможете уверенно выполнять многие повседневные задачи. Вы можете сохранить этот настрой и с его помощью решать другие задачи в терминале, такие как использование pip, взаимодействие с Git и создание интерфейсов командной строки с помощью Python.
Навигация по вашей файловой системе
Файловая система — это иерархическая структура каталогов и файлов на компьютере. Обычно это то, что вы видите, когда открываете приложение файловой системы с графическим интерфейсом, такое как проводник Windows или Finder в macOS. Это также отличное место для начала вашего путешествия по терминалу, но опять же, вы просто знакомитесь со всеми возможностями терминала.
Папка, которую вы сейчас открыли в файловой системе, является текущим рабочим каталогом (current working directory, cwd). Как вы заметите, вы используете рабочий каталог в качестве точки отсчета для многих операций с файловой системой. Понимание устройства файловой системы и текущего рабочего каталога важно для эффективной навигации и управления файлами и каталогами в терминале.
После того как вы открыли приложение терминала, то, скорее всего, окажетесь в пользовательской папке вашей операционной системы. Вы увидите командную строку, ожидающую вашего ввода. В качестве ввода можно использовать самые разные команды. Но некоторые общие команды предназначены для навигации по файловой системе.
Чтобы начать работу, узнайте свой текущий рабочий каталог:
$ pwd
/Users/realpython
Команда pwd
(расшифровывается как print working directory) используется для определения вашего текущего местоположения в файловой системе. Здесь pwd
показывает, что текущим рабочим каталогом является /Users/realpython
.
Рабочий каталог — это текущий каталог, в котором вы работаете. Здесь по умолчанию будут выполняться команды.
Подробнее о текущем рабочем каталоге
Есть два термина, которые стоит изучить в контексте текущего рабочего каталога:
- Переменные среды
- PATH (путь)
Переменные среды — это переменные, в которых хранится информация о состоянии среды, в которой работает терминал. Их можно использовать для хранения такой информации, как текущий рабочий каталог, расположение установленного программного обеспечения или домашний каталог пользователя. Терминал может получить доступ и использовать эту информацию, чтобы определить, как работать и где искать файлы.
PATH — это переменная среды, в которой хранится список каталогов. Чтобы увидеть, какие пути находятся в вашем PATH
, вызовите следующую команду:
Windows
PS> (cat ENV:Path) -Split ";"
Linux + macOS
$ echo "${PATH//:/\n}"
Когда вы вводите команду в терминал, система начинает искать программу, соответствующую этой команде, в каталогах, перечисленных в PATH
. Список, который появляется после выполнения предыдущей команды, — это список мест, которые будет искать ваша система при выборе программы для запуска.
Чтобы увидеть, какие файлы и папки содержатся в директории /Users/realpython
, вы можете использовать ls
(сокращение от list):
$ ls
Applications Movies
Desktop Music
Documents Pictures
Downloads Public
Library
Если вы введете ls
и нажмете на Enter, вы увидите список всех элементов в текущем рабочем каталоге. В этом случае в примере показаны папки, которые вы, скорее всего, найдете в пользовательском каталоге на компьютере с macOS.
Вы также можете использовать флаг -a
с командой ls
, которая являет сокращением от all. Флаг -a покажет вам все элементы в текущем рабочем каталоге, включая скрытые элементы.
Другой флаг, который вы можете использовать, это -l
, сокращение от long. Когда вы используете этот флаг вместе с ls
, команда показывает вам подробную информацию об элементах в текущем рабочем каталоге.
Вы также можете комбинировать эти флаги, чтобы показать подробную информацию обо всех элементах, включая скрытые, с помощью ls -al
:
$ ls -al
total 80
drwxr-xr-x+ 25 realpython staff 800 Nov 26 11:51 .
drwxr-xr-x 6 root admin 192 Nov 7 13:22 ..
-rw-r--r--@ 1 realpython staff 14340 Nov 7 16:04 .DS_Store
drwx------ 134 realpython staff 4288 Nov 8 18:37 .Trash
drwx------@ 3 realpython staff 96 Dec 3 2021 Applications
drwx------@ 22 realpython staff 704 Nov 7 16:00 Desktop
drwx------+ 4 realpython staff 128 Nov 17 2021 Documents
drwx------+ 3 realpython staff 96 Nov 1 2021 Downloads
drwx------@ 86 realpython staff 2752 Nov 7 21:08 Library
drwx------ 6 realpython staff 192 Jul 12 14:53 Movies
drwx------+ 4 realpython staff 128 Nov 26 2021 Music
drwx------+ 4 realpython staff 128 Nov 1 2021 Pictures
drwxr-xr-x+ 4 realpython staff 128 Nov 1 2021 Public
Вывод покажет тип файла, разрешение, владельца, размер и временную отметку всех элементов в текущем рабочем каталоге, включая скрытые файлы и папки. Вот, например, скрытые элементы .DS_Store
и .Trash
.
Примечание
Вы можете распознать скрытые элементы в терминале по точке .
в начале их имени, но есть несколько исключений, которые не следует путать со скрытыми файлами. Одна точка .
в приведенном выше списке представляет текущий каталог, а две точки ..
указывают на родительский каталог. Вы поработаете с ними позже в этом уроке.
Скрытые файлы и папки по умолчанию не отображаются. Это нормально для обычных пользователей. Но для вас, как разработчика, скрытые элементы могут быть интересны. В них часто хранятся данные конфигурации или настройки для различных приложений или самой системы.
Поначалу приведенный выше вывод может показаться немного ошеломляющим. Взгляните на эту строку, чтобы лучше понять вывод:
drwx------@ 22 realpython staff 704 Nov 7 16:00 Desktop
Эта строка дает вам ценную информацию об элементе. Там есть каталог с именем Desktop. Дата последнего изменения — 7 ноября в 16:00, размер — 704 байта.
Кроме того, вы можете увидеть информацию о правах владельца и группы. Если вы хотите узнать больше о нотации разрешений файловой системы, вы можете ознакомиться с notation of traditional Unix permissions.
Каждая папка в выводе ls
представляет собой подпапку внутри вашего текущего рабочего каталога. Чтобы изменить текущий рабочий каталог на Desktop/подпапку
, используйте команду cd
от change directory (смена директории):
$ pwd
/Users/realpython
$ cd Desktop
$ pwd
/Users/realpython/Desktop
Когда вы сначала вводите cd
, а затем имя каталога, текущий рабочий каталог будет изменен на указанный. После запуска команды cd Desktop
текущий рабочий каталог изменится на /Users/realpython/Desktop
.
Обратите внимание, что вы не указываете слеш /
или индикатор диска, как C:\
, в начале Desktop. Вызов такого пути указывает на то, что вы хотите перейти по пути, относящемуся к каталогу, в котором вы сейчас находитесь.
Вы использовали относительный путь в приведенной выше команде для перехода во вложенную папку. Относительные пути упрощают обращение к элементам в вашей файловой системе, поскольку вам не нужно указывать полный путь от корневого каталога. При этом вы также можете перейти в любой каталог вашей файловой системы, используя полный или абсолютный путь:
- Windows
PS> cd C:\Users\realpython\Desktop
PS> pwd
C:\Users\realpython\Desktop
В этом случае cd команда изменяет текущий рабочий каталог на каталог C:\Users\realpython\Desktop
, независимо от его предыдущего местоположения.
- Linux + macOS
$ cd /Users/realpython/Desktop
$ pwd
/Users/realpython/Desktop
В этом случае cd команда изменяет текущий рабочий каталог на каталог /Users/realpython/Desktop
, независимо от его предыдущего местоположения.
Если вы используете для команды cd
несуществующий путь, терминал выдаст ошибку. Вскоре вы узнаете, как создавать новые каталоги. Перед этим сделайте заключительное действие в вашей файловой системе.
Чтобы переместиться на один каталог вверх, вы обычно используете не имя родительской папки, а две точки:
$ cd ..
$ pwd
/Users/realpython
Две точки ( ..) представляют родительский каталог текущего каталога. Использование cd ..перемещает вас на один каталог вверх в иерархии файловой системы.
В приложении файловой системы с графическим интерфейсом, таком как Windows Explorer или macOS Finder, вы должны щелкать маленькие значки папок курсором мыши. В терминальном приложении вы используете команды для выполнения задач — например, cd для перемещения между папками и ls для получения обзора элементов в каталоге.
Создание файлов и папок
В этом разделе вы узнаете, как создавать файлы и папки и управлять ими непосредственно из терминала с помощью некоторых новых команд. Кроме того, вы также продолжите узнавать информацию о содержимом каталога с помощью ls
и перемещаться между папками с помощью cd
.
Благодаря знаниям из этого раздела, вы сможете создавать и организовывать свои проекты в терминале.
Сначала убедитесь, что вашим текущим рабочим каталогом является Desktop. Затем используйте mkdir
для создания новой папки с именем rp_terminal
:
Windows
PS> cd C:\Users\realpython\Desktop
PS> pwd
C:\Users\realpython\Desktop
PS> mkdir rp_terminal
Linux + macOS
$ cd /Users/realpython/Desktop
$ pwd
/Users/realpython/Desktop
$ mkdir rp_terminal
Вы используете команду mkdir
для создания нового каталога. Команда расшифровывается как make directory. Здесь вы создаете новый каталог rp_terminal.
Затем перейдите в rp_terminal/ и создайте новый файл с именем hello_terminal.py
. Выберите свою операционную систему ниже и используйте соответствующую команду для конкретной платформы:
Windows
PS> cd rp_terminal
PS> ni hello_terminal.py
Linux + macOS
$ cd rp_terminal
$ touch hello_terminal.py
Когда вы запускаете команду touch
, вы создаете пустой файл с заданным именем. В данном случае файл представляет собой скрипт Python с именем hello_terminal.py
.
Если файл с указанным именем уже существует, то использование touch
обновляет временную метку файла до текущей даты и времени, но не изменяет его содержимое. Команда touch
также обновляет время доступа и модификации файла, даже если его содержимое остается неизменным.
Используйте ls
, чтобы убедиться, что вы успешно создали файл:
$ ls -l
total 0
-rw-r--r--@ 1 realpython staff 0 Nov 27 12:09 hello_terminal.py
Между 0 и временной меткой написано, что hello_terminal.py
в настоящее время пуст. Прежде чем вы начнете использовать команду echo
для добавления содержания в hello_terminal.py
, посмотрите, что происходит, когда вы вводите echo
с некоторым текстом:
$ echo 'print("Hello, terminal!")'
print("Hello, terminal!")
Как разработчик Python, вы знаете, что текст, который вы только что передали в echo
, является вызовом функции print()
. Точнее, команда echo
отправляет строку в стандартный поток вывода (stdout).
Stdout – место назначения по умолчанию для данных, отправляемых программой командной строки. Данные отображаются на экране, но вы можете указать терминалу перенаправить stdout
в файл:
$ echo 'print("Hello, terminal!")' > hello_terminal.py
Опять же, вы используете echo
для вывода заданной строки. Но на этот раз вы используете символ вставки >
для отправки вывода в hello_terminal.py
.
Примечание
Будьте осторожны при перенаправлении stdout
на существующие файлы. Любое содержимое файла будет перезаписано без предупреждения.
Когда вы перенаправляете вывод команды echo
в несуществующий файл, вы создаете файл на том же шаге.
Один из способов проверить, сработала ли команда, — снова просмотреть содержимое вашей папки:
$ ls -l
total 8
-rw-r--r--@ 1 realpython staff 26 Nov 27 12:12 hello_terminal.py
Отлично, сейчас размер hello_terminal.py
26 байт. Чтобы убедиться, что он содержит вызов функции print()
, вы можете использовать команду cat
:
$ cat hello_terminal.py
print("Hello, terminal!")
К сожалению, команде cat
не связана с кошками. Это сокращение от concatenate.
Когда вы используете cat
с несколькими файлами в качестве аргументов, вы можете объединить их и отображать содержимое один за другим. Если вы используете cat
только с одним файлом, то cat
– это удобный способ отображения содержимого файла в терминале.
Теперь, когда вы знаете, что hello_terminal.py
содержит допустимый код Python, вы можете запустить скрипт Python:
$ python hello_terminal.py
Hello, terminal!
Когда вы используете команду python, терминал ищет исполняемый файл Python в вашем PATH.
Если вы запустите команду python без каких-либо аргументов, вы запустите интерактивный интерпретатор Python, также известный как REPL. Когда вы запускаете команду с файлом скрипта в качестве аргумента, Python запускает предоставленный скрипт.
В этом случае вы выполняете hello_terminal.py
и видите результат своей функции print()
непосредственно в терминале. Это работает, потому что print()
использует stdout по умолчанию.
Примечание
Когда вы запускаете скрипт Python в терминале, он выводит все сообщения об ошибках в стандартный поток ошибок (stderr). Стандартный поток ошибок — это отдельный выходной канал, который используется специально для сообщений об ошибках, предупреждений и другой диагностической информации.
Благодаря этому отдельному выходному каналу для сообщений об ошибках вы можете независимо перенаправлять или фильтровать обычные выходные и диагностические сообщения.
Благодаря знаниям, полученным в этом разделе, вы теперь можете создавать, редактировать и проверять файлы Python в терминале. Теперь вы хорошо подготовлены для перехода к работе с инструментом командной строки, который необходим на вашем пути в качестве разработчика Python. Он называется pip, и он позволяет вам добавлять внешние пакеты в ваши проекты Python.
Управление пакетами с помощью pip
Менеджер пакетов pip — важный инструмент для управления пакетами Python. Чтобы избежать установки пакетов непосредственно в вашу системную установку Python, вы можете использовать виртуальную среду.
Виртуальная среда предоставляет изолированный интерпретатор Python для вашего проекта. Любые пакеты, которые вы используете в этой среде, не зависят от вашего системного интерпретатора. Это означает, что вы можете хранить зависимости вашего проекта отдельно от других проектов и системы в целом.
Создайте виртуальную среду
Python имеет встроенный venv модуль для создания виртуальных сред. Этот модуль помогает создавать виртуальные среды с помощью изолированной установки Python. После того как вы активировали виртуальную среду, вы можете устанавливать в нее пакеты. Пакеты, которые вы устанавливаете в одну виртуальную среду, изолированы от всех других сред в вашей системе.
Вы можете выполнить следующие шаги, чтобы создать и активировать виртуальную среду с именем venv
:
Windows
PS> python -m venv venv
PS> venv\Scripts\activate
(venv) PS>
Linux + macOS
Linux + macOS
Обратите внимание, что командная строка изменилась. Это напоминание о том, что вы работаете в указанной виртуальной среде.
Примечание
Когда вы закончите работу с этой виртуальной средой, вы можете деактивировать ее, выполнив команду deactivate
.
Когда вы активируете виртуальную среду с помощью модуля Python venv
, вы добавляете новую запись в PATH
переменную среды. Новая запись указывает на расположение исполняемого файла Python виртуальной среды. Это гарант того, что когда вы запускаете команды или сценарии Python, они будут использовать этот конкретный исполняемый файл Python вместо любой другой версии Python, которая может быть установлена в вашей системе.
Устанавливаем пакет
В этом разделе вы установите Rich library Уилла Макгугана, которая позволит вам создавать красочные текстовые приложения пользовательского интерфейса (TUI) для терминала.
Перед установкой rich
проверьте, какие пакеты Python в настоящее время установлены в вашей виртуальной среде:
(venv) $ python -m pip list
Package Version
---------- -------
pip 22.3
setuptools 65.5.0
Выполнение команды python -m pip list
выводит список всех пакетов, установленных в текущей среде. И pip, и setuptools – это пакеты по умолчанию, которые вы найдете при запуске новой виртуальной среды.
Для установки rich
используйте следующую команду:
(venv) $ python -m pip install rich
Collecting rich
...
Installing collected packages: commonmark, pygments, rich
Successfully installed commonmark-0.9.1 pygments-2.14.0 rich-13.0.1
Кроме rich
, вы также установили некоторые другие зависимости, которые вам понадобятся, когда вы захотите их использовать с rich
. Чтобы проверить все установленные на данный момент пакеты, вы можете запустить python -m pip list
еще раз:
(venv) $ python -m pip list
Package Version
---------- -------
commonmark 0.9.1
pip 22.3
Pygments 2.14.0
rich 13.0.1
setuptools 65.5.0
Чтобы увидеть предлагаемые возможности rich
, запустите rich
без каких-либо аргументов:
(venv) $ python -m rich
В зависимости от возможностей вашего терминала вы должны увидеть такие примеры:
На скриншоте выше вы можете получить представление о том, что вы можете делать с библиотекой rich
. В конце концов, терминал не обязательно должен быть темным!
Теперь, когда ваш экран заполнен сверху вниз, вы можете снова очистить окно терминала. Для этого можно использовать clear
команду:
(venv) $ clear
Вы используете clear
команду для очистки экрана терминала. Он удаляет весь текст и содержимое, отображаемые в данный момент на терминале, оставляя пустой экран. Например, вы можете очистить экран терминала перед запуском новых команд.
В некоторых терминалах вы можете использовать Ctrl
+ L
или Cmd
+ L
в качестве сочетаний клавиш для очистки экрана.
В этом разделе вы узнали, как использовать pip непосредственно из терминала. Для любого Python-разработчика крайне важно знать, как использовать pip в терминале, поскольку это помогает эффективно управлять пакетами, используемых в проектах, и обновлять их.
Если вы хотите узнать больше о виртуальных средах и pip, вы можете ознакомиться с учебником Real Python по виртуальным средам Python и учебным пособием о том, как использовать Python pip для управления зависимостями ваших проектов. Оба являются важными инструментами, которые облегчат вашу жизнь как разработчика Python.
Еще один полезный инструмент для управления вашими проектами — Git. Читайте дальше, чтобы узнать, как улучшить свои навыки работы с терминалом и погрузиться в мир контроля версий с помощью Git.
Взаимодействие с Git
Git — это система контроля версий, которую обычно используют разработчики, независимо от того, на каком языке программирования они пишут свой код. Система контроля версий отслеживает изменения, вносимые в файлы с течением времени, и помогает вам при необходимости вернуть код к предыдущей версии.
В этом разделе вы узнаете, как взаимодействовать с Git непосредственно из терминала. Вы будете инициализировать репозиторий Git, отслеживать файлы и создавать коммиты.
Для Git существует множество клиентов с графическим интерфейсом. Они могут быть удобны в использовании и помогут вам лучше понять логику Git.
Тем не менее, изучить основы взаимодействия с Git в терминале все же стоит. Изучение основных команд терминала Git поможет вам понять, как работает Git внутри.
Создание репозитория Git
Первым шагом в использовании Git является инициализация репозитория. Репозиторий — это контейнер, в котором хранятся все файлы вашего проекта, папки и метаданные.
Создайте новый репозиторий Git с помощью следующей команды:
$ git init
Initialized empty Git repository in
⮑ /Users/realpython/Desktop/rp_terminal/.git/
Когда вы запускаете команду git init
, Git создает пустой репозиторий в текущем рабочем каталоге. В свою очередь, это создает новый подкаталог с именем .git/
, который содержит все необходимые файлы репозитория.
После инициализации репозитория вы можете проверить статус вашего репозитория:
$ git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
hello_terminal.py
venv/
nothing added to commit but untracked files present (use "git add" to track)
Команда git status
показывает текущий статус вашего репозитория: на какой ветке вы находитесь и есть ли какие-либо коммиты.
Коммит Git — это моментальный снимок изменений, внесенных в файлы в репозитории Git. Когда вы вносите изменения в свои файлы и сохраняете их, вы можете сделать снимок этих изменений, создав фиксацию в ветке. Когда вы делаете новые коммиты, ветвь указывает на последние коммиты.
В данном случае вы находитесь на main
ветке, и еще нет коммитов. Вы также можете создавать новые ветки для работы над новыми функциями или исправлениями ошибок, а затем переключаться между ветвями по мере необходимости. Если вы хотите, вы можете создать несколько веток для одновременной работы с разными версиями вашей кодовой базы.
Кроме того, git status
показывает, какие файлы Git не отслеживает. Вы можете игнорировать определенные файлы и папки, например, папку venv/
, чтобы Git не отслеживал их.
Какие файлы игнорировать
Общее правило – игнорировать любые файлы, которые специфичны для вашей локальной среды разработки или файлы, которые генерируются вашим процессом сборки. Некоторые примеры файлов, которые обычно следует игнорировать, включают:
- Файлы, содержащие конфиденциальную информацию, например, пароли или закрытые ключи.
- Двоичные файлы, создаваемые процессом сборки, например, скомпилированные исполняемые файлы или файлы объектов.
- Файлы, специфичные для вашей локальной среды разработки, такие как файлы виртуальной среды или файлы конфигурации редактора, специфичные для пользователя
- Временные файлы или файлы, созданные вашей операционной системой, такие как
.DS_Store
в macOS илиThumbs.db
в Windows - Логи или другие файлы, которые генерируются вашим приложением во время выполнения.
Просмотрите GitHub’s collection of .gitignore
templates, чтобы получить представление о наиболее часто встречающихся файлах .gitignore. Там же вы найдете Python specific .gitignore
example.
Вы можете игнорировать файлы в Git, создав файл .gitignore
и указав в нем файлы и папки, которые вы хотите игнорировать:
$ echo "venv" > .gitignore
Как вы узнали ранее, эта команда создает новый файл с именем .gitignore
и записывает venv
в него. Проверьте текущие элементы в вашем репозитории Git, используя другую команду, которую вы уже знаете:
$ ls -a
. .git hello_terminal.py
.. .gitignore venv
Теперь у вас есть .gitignore
файл рядом с вашим hello_terminal.py
файлом, вашей venv/папкой
и .git/папкой
. Чтобы проверить, игнорирует ли Git venv/папку
, запустите git status
еще раз:
$ git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
hello_terminal.py
nothing added to commit but untracked files present (use "git add" to track)
Отлично, Git теперь показывает только файлы .gitignore
и hello_terminal.py
как неотслеживаемые файлы. Git знает, что файлы есть, но вы еще не добавили их в репозиторий.
Отслеживание файлов с помощью Git
Когда вы начинаете новый проект, вы, вероятно, захотите отслеживать свои изменения с течением времени. В предыдущем разделе вы инициализировали новый репозиторий с расширением git init
. Теперь пришло время начать отслеживать файлы.
Вы используете git add
команду, чтобы сообщить Git, какие файлы вы хотите отслеживать:
$ git add .
Помните точку .
в списке каталогов раньше? Точка указывает на текущий каталог. Использование .
в конце команды git add
указывает Git отслеживать все файлы в текущем каталоге. После того, как вы добавили файлы в репозиторий, вы можете проверить статус ваших файлов с помощью git status
команды:
$ git status
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: hello_terminal.py
В выводе видно, что файлы hello_terminal.py
и .gitignore
добавлены и готовы к фиксации:
$ git commit -m "Initiate git repository"
[main (root-commit) 7b20833] Initiate git repository
2 files changed, 2 insertions(+)
create mode 100644 .gitignore
create mode 100644 hello_terminal.py
С помощью команды git commit
вы делаете снимок текущего состояния ваших файлов и сохраняете его в истории репозитория. Флаг -m
добавляет сообщение с описанием ваших изменений. Вывод показывает ветку, в которой вы находитесь, и количество измененных файлов.
После того, как вы зафиксируете какие-либо изменения, рекомендуется снова проверить состояние вашего репозитория Git:
$ git status
On branch main
nothing to commit, working tree clean
Видно, что коммитить нечего, а это означает, что все изменения были успешно зафиксированы.
Рабочий процесс, который вы использовали в этом разделе, является типичным при использовании Git в терминале. Вы используете команду git add
, чтобы сообщить Git, какие файлы отслеживать. Затем вы используете git commit для создания снимка текущего состояния ваших файлов и сохраняете его в истории репозитория.
Кроме того, рекомендуется часто использовать git status
для проверки текущего состояния вашего репозитория.
Хотя вы получили некое представление об использовании Git в терминале, Git может предложить вам как разработчику Python гораздо больше. Если вы хотите узнать больше о Git, вы можете ознакомиться с введением в Git и GitHub для разработчиков Python и изучить дополнительные советы по работе с Git для разработчиков Python.
Следующие шаги
Чем больше вы пользуетесь терминалом, тем привычнее вам будет. Интересный способ внедрить терминал в свои рабочие процессы в качестве разработчика Python — создать скрипты Python с интерфейсами командной строки. Например, вы можете создать:
- Приложение-викторина с Python
- Средство проверки подключения к сайту в Python
- Приложение To-Do из командной строки с Python и Typer
- Генератор дерева каталогов Python для командной строки
- Приложение Weather CLI с Python
- Wordle Clone с Python и Rich
Помимо использования pip и Git для управления вашими проектами Python, есть еще больше примеров с использованием терминала:
- Интерфейсы командной строки. Многие популярные библиотеки и фреймворки Python, такие как Django , Flask и Poetry, включают в себя интерфейсы командной строки, которые позволяют выполнять такие задачи, как создание новых проектов, запуск серверов разработки и управление базами данных.
- Автоматизация и сценарии. Терминал позволяет автоматизировать повторяющиеся задачи и создавать сценарии для управления рабочим процессом разработки, например, для запуска тестов или развертывания приложения.
- Отладка. Терминал может быть полезен для отладки вашего кода. Например, вы можете использовать print()или logging in Python, чтобы вывести что-либо в терминале и понять, что происходит в вашем коде. Вы также можете использовать pdb для отладки кода Python.
- Производительность. Многие инструменты командной строки работают быстрее, чем их аналоги с графическим интерфейсом, и идеально подходят для работы с большими наборами данных или выполнения сложных задач, таких как обработка и анализ данных.
В целом, терминал — это мощный инструмент, который может помочь вам оптимизировать рабочий процесс разработки, автоматизировать задачи, отлаживать код и получать доступ к расширенным функциям библиотек и фреймворков. С практикой вы обнаружите, что терминал — бесценный инструмент для вашего пути в качестве разработчика Python.
Заключение
Когда вы освоитесь с терминалом, вы, вероятно, сможете перемещаться по своей файловой системе быстрее и с большим контролем, чем при использовании мыши и нажатии кнопок.
В этом уроке вы узнали, как:
- Найти терминал в операционной системе
- Открыть терминал
- Осуществить навигацию по файловой системе с помощью основных команд
- Создать файлы и папки с помощью терминала
- Управлять пакетами с помощью pip команд
- Отслеживать файлы с помощью Git в терминале
Вы улучшили свои навыки программирования, научившись выполнять три действительно важные задачи в терминале: перемещаться по файловой системе, управлять пакетами Python с помощью pip и делать коммиты в Git. Изучение команд терминала — отличная инвестиция для вас как для Python-разработчика. Просто не торопитесь и постепенно знакомьтесь с этим мощным инструментом. Достаточно скоро он станет важным инструментом, без которого вы не сможете жить.
***
***
Материалы по теме
- 🐧 Терминал для тестировщика: консольные команды Unix/Linux, которые нужно знать наизусть
- Терминал Linux: видеокурс по работе на примере Ubuntu
- 6 команд терминала и пара комбинаций, полезных для начинающих разработчиков
When working on the Windows command line, do you remember how often you kept looking for the same commands? Do you easily mistype in the Windows command prompt as if you were using bash commands, such as “rm
” instead of “del
”? If you’ve ever been in the situations above, this Windows command line cheat sheet is for you.
The Windows command line is only as powerful as the commands at your disposal, which we’ll expand on in this Windows command prompt cheat sheet. It covers every command you need for important tasks and batch scripting, plus a few delightful surprises if you make it to the end.
Keep a copy of this Windows command line cheat sheet on your desk, in your pocket, or wherever you go. When you’re ready, let’s dive in.
Windows Command Line Cheat Sheet Search
Search our Windows command line cheat sheet to find the right cheat for the term you’re looking for. Simply enter the term in the search bar and you’ll receive the matching cheats available.
What Is the Windows Command Line?
The Windows command line (Windows command prompt) is the command-line interface (CLI) on Microsoft Windows machines, analogous to the Terminal in Unix/Linux. It emulates many command-line abilities in Microsoft’s deprecated text-only operating system MS-DOS (but it’s not MS-DOS).
Methods to open the Windows CLI:
- On Windows 10 or above, click Start on the bottom left corner, type cmd, and select Command Prompt.
- On Windows 8.x or earlier, press Ctrl+R to open the Run dialog box, type cmd into it, and press Enter.
Hence, another name for Windows CLI is “cmd.”
Scripts containing Windows commands (batch scripts) have “.bat” as the file extension. All cmd commands are case-insensitive, so arp
and ARP
are the same. If you need help using any command, add /?
to it, e.g., ARP /?
will show the manual for ARP:
Table Of Contents
- Windows Command Line Cheat Sheet Search
- Directory Navigation
- File Management
- Disk Management
- Windows Command Generator
- System Information and Networking
- Process Management
- Batch Scripting
- Conclusion
- Frequently Asked Questions
Directory Navigation
These commands help you view directories and move directories around.
Command | Explanation |
---|---|
c: |
Change the current drive to the C:\ drive |
d: |
Change the current drive to the D:\ drive |
CD c:\path\to\my_folder |
Change directory to c:\path\to\my_folder |
CD .. |
Navigate to the parent directory of the current working directory |
CD .\new_folder |
Navigate to the folder new_folder located in the current working directory |
CD /D d:\videos\ |
Change the current drive to D:\ and access the folder videos on it. |
DIR |
Display files and folders in the current directory |
DIR /A c:\apps\ |
Display files and folders in the directory c:\apps\ |
DIR /A:D |
Display only folders (D: directories) |
DIR /A:-D |
Display only files (D: directories; -: not) |
DIR /A:H |
Display hidden files and folders |
DIR /O |
Display files and folders sorted alphabetically |
DIR /O:S |
Display files and folders sorted by file size from smallest to largest |
DIR /O:-S |
Display files and folders sorted by file size from largest to smallest |
DIR /B |
Display only the names of files and folders in the current working directory |
SORT |
Take input from a source file/pipeline, sort its contents alphabetically (default: A to Z; in reverse: Z to A), and display the output |
SORT "C:\music\playlist.m3u" |
Sort the contents of C:\music\playlist.m3u line by line |
DIR /B | SORT /R /O ZtoA.txt |
List all file and folder names in the current working directory, sort them in reverse alphabetical order, and save the sorted output to a file ZtoA.txt : |
MOVE |
Move a file or files |
MOVE c:\f1\text.txt c:\f2 |
Move a file text.txt from one folder c:\f1 to another folder c:\f2 |
MD new_folderMAKEDIR new_folder |
Create a new folder called new_folder in the current directory |
RD new_folderRMDIR new_folder |
Delete the folder called new_folder in the current directory |
TREE |
Show the directory structure of a disk/folder |
TREE "C:\Program Files" |
Show the directory structure of the folder “Program Files” on the disk C:\ |
TREE C:\ /F |
Display the names of the files in each folder in the directory structure of the C:\ drive |
ATTRIB |
Display/set the attributes of the files in the current directory |
ATTRIB +H +S +R myItem |
Hide a file/folder myItem |
ATTRIB -H -S -R myItem |
Unhide a file/folder myItem |
File Management
The following commands are for managing and manipulating files.
Like Unix, cmd supports pipelines: you may pass the output of a command to the next one by sandwiching the pipe character “|” between both.
Command | Explanation |
---|---|
COPY text.txt C:\schoolwork |
Copy the file text.txt to a folder with the path C:\schoolwork |
DEL text.txtERASE text.txt |
Delete the file text.txt |
REN text.txt script.batRENAME text.txt script.bat |
Rename a file text.txt to script.bat |
REPLACE .\src\hey.txt .\dest |
Overwrite; replace a file named hey.txt in a local folder src with another hey.txt in a local folder dest , both files sharing the same name.Warning: Don’t specify .\dest\hey.txt anywhere here. |
XCOPY |
Copy files and directory trees to another folder. XCOPY is similar to COPY but with additional switches to specify the source and destination paths in detail. |
XCOPY /S folder1 folder2 |
Copy folders and subfolders of folder1 to folder2 |
ROBOCOPY |
Robust copying of files and directories: by default, such copying only occurs if the source and destination differ in time stamps or file sizes. |
EXPAND gameData.cab |
Decompresses the compressed .CAB cabinet file gameData.cab |
FC file1.ext file2.ext |
Compare the contents of two files (file1.ext, file2.ext ) and display non-matching lines |
COMP file1.ext file2.ext |
Compare the contents of two files (file1.ext, file2.ext ) and display non-matching items |
FIND "python" in run.bat |
Output every line that contains a text string (which you must enclose in quotation marks) «python » in the file run.bat |
FIND /C "python" in run.bat |
Count every line that contains a text string (which you must enclose in quotation marks) «python » in the file run.bat |
PRINT resume.txt |
Print contents of a file resume.txt |
OPENFILES /QUERY |
Query/display open files |
OPENFILES /DISCONNECT |
Disconnect files opened by network users. |
TYPE test.txt |
Displays the contents of the file test.txt |
TYPE playlist.m3u | SORT /unique /o C:\work\unique_play.m3u |
Sort a file playlist.m3u and output only the unique values to a file C:\work\unique_play.m3u |
MORE |
Display contents of one or more files, one screen at a time. |
ASSOC |
Display or change the association between a file extension and a file type |
NOTEPAD |
Open the Notepad application from cmd |
NOTEPAD filename.ext |
Open a file filename.ext in Notepad |
Disk Management
It’s easy to handle and automate the following tasks on cmd.
Command | Explanation |
---|---|
CHKDSK |
Check and repair disk problems (local disks only) |
CHKDSK /F A: |
Fix errors on A: drive |
CHKDSK /R A: |
Recover data on A: drive |
CHKDSK /X A: |
Dismount drive A: |
CIPHER /E classified |
Encrypt the folder classified |
CIPHER /D secret_recipe.txt |
Decrypt the file secret_recipe.txt |
DEFRAG |
Disk Defragmentation |
CHKNTFS |
Display/modify disk-checking on startup |
COMPACT |
Display/change the compression of files in NTFS partitions |
CONVERT |
Convert FAT disk volume to NTFS |
DISKPART |
Display and adjust disk partition properties |
FORMAT |
Format the disk |
FSUTIL |
File system management |
LABEL d:x |
Rename disk D:\ to X:\ |
SUBST p: c:\taxes |
Assign drive P:\ to the local folder c:\taxes |
SUBST p: /D |
Remove the path represented by P:\ |
RECOVER d:\data.dat |
Recover a file data.dat from a bad or defective disk D:\ |
VOL |
Display current disk volume label and serial number |
POWERCFG |
Control power settings and configure Hibernate/Standby modes |
SFC /SCANNOW |
Scan and update protected system files |
Windows Command Generator
Say goodbye to the hassle of trying to remember the exact syntax for the Windows command line! With our Windows Command Generator, you can simply say what you need Windows to do, and we will generate the command for you.
System Information and Networking
The following commands are helpful in troubleshooting computers and computer networks.
Command | Explanation |
---|---|
VER |
Display the current operating system version |
SYSTEMINFO |
List system configuration |
HOSTNAME |
Show the computer’s hostname on the network |
DRIVERQUERY |
Show all installed device drivers |
DATE |
Display/set system date |
TIME |
Display/set system time |
GPRESULT |
Display Resultant Set of Policy (RSoP) information for a remote user and computer. |
GPUPDATE |
Update group policies |
IPCONFIG |
Display Windows IP network configurations |
IPCONFIG /release |
Release your current local IP address |
IPCONFIG /renew |
Request a new local IP address |
IPCONFIG /flushdns |
Reset the contents of the DNS client resolver cache |
PING google.com |
Send ICMP requests to the target google.com and check host availability |
PATHPING |
Trace route and provide network latency and packet loss for each router and link in the path |
NET |
Provide various network services |
NET use M: \\gameServ /user:"ReadyPlayerOne" player1 |
Assign as disk M:\ the path \\gameServ , logging in as “ReadyPlayerOne ” and password “player1 ” |
TRACERT |
Find the IP address of any remote host |
NSLOOKUP |
Find IP addresses on a nameserver |
ROUTE |
Manipulate network routing tables |
ROUTE PRINT |
Displays network route details |
ARP -A |
List IP addresses and corresponding physical addresses (Address Resolution Protocol) |
NETSH |
Configure network interfaces, Windows firewall, routing, and remote access |
NETSTAT |
Display current TCP/IP network connections and protocol statistics |
GETMAC |
Shows all MAC addresses of the network adapters |
Process Management
The commands below are Task Manager-like functions. Note that you call variables in arithmetic or logical expressions by enclosing each with two “%
” signs (e.g., “%a%
”).
Command | Explanation |
---|---|
SCHTASKS |
Create/edit a job on Task Scheduler. Use this to create scheduled tasks in Disk Management. |
SET |
List environment variables |
PATH |
Display/change the list of folders stored in the %PATH% environment variable |
SHUTDOWN /R |
Restart the computer |
SHUTDOWN /S /T 60 |
Shut down the computer 60 seconds from now |
TASKLIST |
List running tasks |
TASKLIST /SVC |
Show services related to each task |
TASKLIST /V |
Display detailed task information |
TASKLIST | FIND "1234" |
Get the name of the executable associated with the process ID (PID) of 1234 |
TASKKILL |
End one or more tasks |
TASKKILL /IM "msedge.exe" |
Terminate all Microsoft Edge instances: |
TASKKILL /PID 10736 |
Terminate process with PID of 10736 |
REGREGEDIT |
Registry Editor |
RUNAS /USER:user2 program1 |
Execute a program program1 as another user user2 |
POWERSHELL |
Open a Powershell instance |
Batch Scripting
These commands are for constructing and debugging batch scripts (.bat). To suppress the output of a certain command, add @
in front of it, e.g., @echo off.
Command | Explanation |
---|---|
REM comment. . . :comment. . . |
Prefix for the single-line comment “comment. . .” |
GOTO end <comment_block> :end |
Format of multi-line comments represented by <comment_block> enclosed by delimiters end and :end |
SET /A c = %a% + %b% |
Assign the arithmetic expression a+b to the variable c |
^ |
Escape character |
some_command > output.txt |
Redirect output of some_command to a file output.txt |
? |
Wildcard representing one character |
* |
Wildcard representing multiple characters |
& |
Introduce a new command on the same line |
TIMEOUT 3600 |
Tell the command prompt to sleep for 3600 seconds (= 1 hour) |
PAUSE |
Prompt the user to continue |
CHOICE |
Prompt the user to pick an on-screen option |
CHOICE /T 15 /C ync /CS /D y /M "Press y=Yes, n=No, c=cancel:" |
You have 15 seconds to press Y, N, or C keys without capitalization, defaulting to “y” if time runs out without a decision |
CLS |
Clear screen |
CMD |
Restarts Windows command prompt window: |
COLOR |
Set text and background color of cmd: |
ECHO ON |
Display each command executed |
ECHO OFF |
Only display command output |
ECHO a string of characters |
Display a string of characters |
HELP |
Display help |
PROMPT topSecret^>$$ |
Changes the command line prompt to topSecret>$ for the current session |
PROMPT |
Reset the command line prompt to default |
START X |
Start/open a program/document X in a new window |
TITLE top Secret |
Set the title of the current session of Windows command prompt to top Secret |
/? |
Add this to the end of any command word (shown in ALL CAPS in this cheat sheet) to get help on the command, e.g., CD/? = manual for CD (change directory) command |
| CLIP |
Append this to the end of a command to copy the command output to the clipboard |
EXIT |
Exits the command line |
Flow Control
Note the condition
is a Boolean expression e.g., %a%==5
.
Conditional | Syntax |
---|---|
If | IF (condition) do_something |
If-else | If (condition) (do_something) ELSE (do_something_else) |
Nested if | IF (condition1) IF (condition2) do_something |
Infinite loop | :marker do_something GOTO marker |
While loop | :marker IF (condition) ( do_something GOTO :marker ) |
Shortcut keys
Any Windows CLI cheat sheet must include methods to speed up your work, such as the following.
Key | Effect |
---|---|
Tab | Autocomplete |
Ctrl+F | Find text in console (opens dialog box) |
F1, F3, F5, F8 | Retype command |
F2 | Copy the current command leftward of the cursor |
F4 | Delete the current command rightward of the cursor |
F6 | Insert end-of-file character |
F7 | List previous commands from which you choose |
F9 | Retype a command by typing its line number in the command history |
Conclusion
We sincerely hope this Windows cmd commands cheat sheet helps you finish your work quickly and efficiently today, especially if you’re prone to confusing Windows command prompt commands with other terminal scripting languages in the past.
Remember to check out our course offerings on Windows.
Frequently Asked Questions
Can I use the command line for coding?
Like bash, sh, and zsh, the Windows command line is a shell scripting language suited for automating line-by-line execution of programs callable from a command line interface. It’s not suitable as a programming language because it lacks data structures found in general-purpose programming languages such as Python (interpretive) and C++ (compiled).
What are the basic CLI commands?
They’re DIR, CD, CP, DEL, MOVE, REN, MKDIR, RMDIR, CLS, HELP, EXIT, and NOTEPAD. With these commands, a beginner can operate the Windows command prompt and manage most files and folders.
Is learning the command line useful?
Yes. Learning how to use it will allow you to discover your computer’s latent superpowers. You can automate tasks when combined with Run > shell:startup or Task Scheduler (both on Windows). The command line will help you manage and manipulate files and folders more quickly than comparable actions (e.g., drag and drop) on the graphical user interface.
Can CMD run Python?
If the machine has Python installed, then yes. Python isn’t native to Windows. Note that the command to run Python could be one of the following: python, py -2 (for Python 2); python3, py -3 (for Python 3).
Level Up in Cyber Security: Join Our Membership Today!
-
Cassandra is a writer, artist, musician, and technologist who makes connections across disciplines: cyber security, writing/journalism, art/design, music, mathematics, technology, education, psychology, and more. She’s been a vocal advocate for girls and women in STEM since the 2010s, having written for Huffington Post, International Mathematical Olympiad 2016, and Ada Lovelace Day, and she’s honored to join StationX. You can find Cassandra on LinkedIn and Linktree.
View all posts
The Windows command line is one of the most powerful utilities on a Windows PC. With it, you can interact with the OS directly and do a lot of things not available in the graphical user interface (GUI).
In this article, I’ll show you 40 commands you can use on the Windows command line that can boost your confidence as a Windows user.
N.B.: You have to be careful while using the commands I’ll show you. This is because some commands can have a lasting negative or positive effect on your Windows PC until you reset it.
In addition, some of these commands require you to open the command prompt as an admin.
powershell start cmd -v runAs
– Run the Command Prompt as an Administrator
Entering this command opens another command prompt window as an administrator:
driverquery
– Lists All Installed Drivers
It is important to have access to all drivers because they often cause problems.
That’s what this command does – it shows you even the drivers you won’t find in the device manager.
chdir
or cd
– Changes the Current Working Directory to the Specified Directory
systeminfo
– Shows Your PC’s Details
If you want to see more detailed information about your system you won’t see in the GUI, this is the command for you.
set
– Shows your PC’s Environment Variables
prompt
– Changes the Default Text Shown before Entering Commands
By default, the command prompt shows the C drive path to your user account.
You can use the prompt
command to change that default text with the syntax prompt prompt_name $G
:
N.B: If you don’t append $G
to the command, you won’t get the greater than symbol in front of the text.
clip
– Copies an Item to the Clipboard
For example, dir | clip
copies all the content of the present working directory to the clipboard.
You can type clip /?
and hit ENTER
to see how to use it.
assoc
– Lists Programs and the Extensions They are Associated With
title
– Changes the Command Prompt Window Title Using the Format title window-title-name
fc
– Compares Two Similar Files
If you are a programmer or writer and you want to quickly see what differs between two files, you can enter this command and then the full path to the two files. For example fc “file-1-path” “file-2-path”
.
cipher
– Wipes Free Space and Encrypts Data
On a PC, deleted files remain accessible to you and other users. So, technically, they are not deleted under the hood.
You can use the cipher command to wipe the drive clean and encrypt such files.
netstat -an
– Shows Open Ports, their IP Addresses and States
ping
– Shows a Website IP Address, Lets you Know How Long it Takes to Transmit Data and a Get Response
color
– Changes the Text Color of the Command Prompt
Enter color attr
to see the colors you can change to:
Entering color 2
changes the color of the terminal to green:
for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear
– Shows All Wi-Fi Passwords
ipconfig
– Shows Information about PC IP Addresses and Connections
This command also has extensions such as ipconfig /release
, ipconfig /renew
, and ipconfig /flushdns
which you can use to troubleshoot issues with internet connections.
sfc
– System File Checker
This command scans your computer for corrupt files and repairs them. The extension of the command you can use to run a scan is /scannow
.
powercfg
– Controls Configurable Power Settings
You can use this command with its several extensions to show information about the power state of your PC.
You can enter powercfg help
to show those extensions.
For example, you can use powercfg /energy
to generate a battery health report.
The powercfg /energy
command will generate an HTML file containing the report. You can find the HTML file in C:\Windows\system32\energy-report.html
.
dir
– Lists Items in a Directory
del
– Deletes a File
attrib +h +s +r folder_name
– Hides a Folder
You can hide a folder right from the command line by typing in attrib +h +s +r folder_name
and then pressing ENTER
.
To show the folder again, execute the command – attrib -h -s -r folder_name
.
start website-address
– Logs on to a Website from the Command Line
tree
– Shows the Tree of the Current Directory or Specified Drive
ver
– Shows the Version of the OS
tasklist
– Shows Open Programs
You can do the same thing you do with the task manager with this command:
The next command shows you how to close an open task.
taskkill
– Terminates a Running Task
To kill a task, run taskkill /IM "task.exe" /F
. For example, taskkill /IM "chrome.exe" /F
:
date
– Shows and Changes the Current Date
time
– Shows and Changes the Current Time
vol
– Shows the Serial Number and Label Info of the Current Drive
dism
– Runs the Deployment Image Service Management Tool
CTRL + C
– Stops the Execution of a Command
-help
– Provides a Guide to other Commands
For example, powercfg -help
shows how to use the powercfg
command
echo
– Shows Custom Messages or Messages from a Script or File
You can also use the echo
command to create a file with this syntax echo file-content > filename.extension
.
mkdir
– Creates a Folder
rmdir
– Deletes a Folder
N.B.: The folder must be empty for this command to work.
more
– Shows More Information or the Content of a File
move
– Moves a File or Folder to a Specified Folder
ren
– Renames a File with the Syntax ren filename.extension new-name.extension
cls
– Clears the Command Line
In case you enter several commands and the command line gets clogged up, you can use cls
to clear all entries and their outputs.
exit
– Closes the Command Line
shutdown
– Shuts down, Restarts, Hibernates, Sleeps the Computer
You can shut down, restart, hibernate, and sleep your PC from the command line.
Enter shutdown
in the command line so you can see the extensions you can use to perform the actions. For example, shutdown /r will restart your computer.
Conclusion
This article showed you several “unknown-to-many” commands you can use to get access to hidden functionalities on your Windows PC.
Again, you should be careful while working with these commands because they can have a lasting effect on your OS.
If you find the commands helpful, share the article with your friends and family.
In case you know another useful command I did not list, tell me about it on Twitter. I will add it and mention you as the source.
Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started