Программистам часто приходится работать в консоли — например, чтобы запустить тестирование проекта, закоммитить новый код на 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
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
ТелеграмПодкастБесплатные учебники
Командная строка Windows (CMD) — мощный инструмент, который предоставляет доступ к широкому набору команд для выполнения различных задач, от работы с файлами до настройки сети и автоматизации процессов. В статье рассмотрим 100 популярных команд CMD, которые пригодятся как новичкам, так и опытным пользователям. Для удобства они разделены по категориям.
Разделы
- Общие команды CMD
- Сетевые команды CMD
- Команды для управления процессами
- Команды для управления файловой системой
- Команды для управления пользователями
- Команды для управления безопасностью
- Команды для диагностики и устранения неполадок
- Команды для скриптинга и автоматизации
- Команды для управления сетевыми подключениями
- Команды для управления печатью
- Дополнительные команды в Windows
Общие команды командной строки (CMD) позволяют пользователям управлять ОС Windows через интерфейс командной строки. Они нацелены на различные задачи – от получения справочной информации до управления процессами.
- hel — выводит список всех доступных команд и их краткое описание, что полезно для получения информации о базовых командах.
- cls — очищает экран командной строки. Если в окне CMD много текста, этой командой можно убрать весь вывод и начать работу «с чистого листа».
- exit — завершает текущую сессию командной строки и закрывает окно CMD.
- echo — выводит сообщения в консоль или включает/выключает отображение команд в пакетных файлах – echo Hello, World! выведет Hello, World! на экран.
- ver — отображает версию операционной системы Windows.
- title — изменяет заголовок окна командной строки. Например, title Моя Командная Строка изменит заголовок на «Моя Командная Строка».
- pause — временно приостанавливает выполнение скрипта, но при нажатии любой клавиши можно продолжить работу.
- date — позволяет узнать или изменить текущую дату в системе.
- time — отображает или изменяет текущее время в системе.
- tasklist — выводит список всех запущенных процессов с их PID (идентификатором процесса).
- powercfg — управляет настройками энергопотребления и профилями питания.
- fc — сравнивает два файла и отображает их различия.
Сетевые команды CMD
В разделе собраны основные сетевые команды CMD, которые помогут управлять подключениями, диагностировать сетевые проблемы и выполнять разнообразные операции с сетью. Они незаменимы для системных администраторов и пользователей, нуждающихся в решении сетевых задач.
- ping — проверяет связь с удаленным узлом, отправляя ему пакеты данных. Например, ping google.com проверит доступность сервера Google.
- ipconfig — отображает конфигурацию сетевых интерфейсов системы (IP-адреса, маску подсети и шлюзы).
- netstat — выводит информацию о сетевых соединениях и открытых портах
- netstat -an — показывает все активные соединения.
- tracert — отслеживает маршрут пакета до целевого узла – tracert yandex.ru покажет все узлы, через которые проходит запрос.
- nslookup — используется для проверки информации о DNS-серверах.
- nslookup example.com — отображает IP-адрес сайта example.com.
- arp — выводит или изменяет записи ARP (Address Resolution Protocol) –: arp -a покажет текущие записи ARP.
- route — управляет таблицей маршрутизации сети – route print выведет все существующие маршруты в системе.
- net use — подключает сетевые диски. Например, net use Z: \\server\folder подключит сетевой ресурс как диск Z:.
- netsh — позволяет настраивать различные параметры сети через командную строку.
- netsh wlan show profiles — отображает сохраненные профили Wi-Fi.
Команды для управления процессами
Команды ниже позволяют эффективно управлять процессами и службами на вашем ПК: помогают запускать службы, планировать задачи, управлять активными процессами, а также выключать или перезагружать систему. С их помощью можно автоматизировать выполнение задач, получать информацию о состоянии системы и контролировать её работоспособность.
- sc — управляет службами Windows. Пример: sc start servicename запустит службу с именем servicename.
- schtasks — управляет планировщиком задач. Так, schtasks /create /tn «Моя Задача» /tr notepad.exe /sc once /st 12:00 создаст задачу для запуска.
- start — запускает программу или команду в новом окне. Например, start notepad откроет блокнот.
- wmic — взаимодействует с системой через Windows Management Instrumentation – wmic process list brief покажет список процессов.
- shutdown — выключает, перезагружает или завершает работу системы. Так, shutdown /s /f /t 0 немедленно выключит компьютер.
- systeminfo — выводит информацию о системе, включая версию Windows, параметры оборудования и установленные обновления.
Команды для управления файловой системой
Команды для управления файловой системой в CMD позволяют работать с файлами и папками: просматривать содержимое директорий, перемещаться между папками, создавать и удалять файлы и каталоги, копировать данные с использованием различных опций.
- dir — отображает список файлов и каталогов в указанной директории. Пример: dir C:\Windows выведет содержимое папки Windows.
- cd — меняет текущий каталог. Так, cd C:\Users перейдет в папку пользователей.
- md NewFolder — создает новую папку.
- rd — удаляет пустую папку. Пример: rd NewFolder удалит папку NewFolder.
- copy — копирует файлы из одного места в другое.
- move — перемещает файлы или папки.
- del — удаляет файлы. Например, del file.txt удалит файл file.txt.
- xcopy — копирует файлы и директории, включая их структуру. Так, xcopy C:\Source D:\Destination /s /e скопирует все файлы и папки из Source в Destination.
- robocopy — более продвинутая версия xcopy, используется для надежного копирования данных. Например, robocopy C:\Source D:\Destination /mir синхронизирует две папки.
Команды для управления пользователями
Команды для управления пользователями предоставляют средства для администрирования учетных записей, настройки групповых прав и управления политиками безопасности. А также позволяют администраторам эффективно управлять пользователями в системе, добавлять новых пользователей, изменять их права и настраивать параметры учетных записей.
- net user — управляет учетными записями пользователей.
- net user UserName /add — добавляет нового пользователя с именем UserName.
- net localgroup — управляет локальными группами пользователей.
- net localgroup Administrators UserName /add — добавляет пользователя в группу администраторов.
- whoami — выводит имя текущего пользователя и информацию о его правах.
- runas — позволяет запускать программы от имени другого пользователя. Так, runas /user:administrator cmd запустит CMD с правами администратора.
- net accounts — управляет параметрами учетных записей, например, минимальной длиной пароля и периодом его действия.
- gpupdate — обновляет групповые политики на локальном компьютере, что полезно для администраторов, управляемых сетей.
- taskview — открывает таймлайн Windows, показывая историю активности пользователя, полезно для управления и поиска ранее использованных файлов и приложений.
- msg — отправляет сообщение пользователям, подключенным к системе. Пример: msg «Система будет перезагружена через 5 минут» отправит сообщение всем пользователям.
Команды для управления безопасностью
Команды для управления безопасностью предназначены для обеспечения защиты данных и управления доступом к файлам и системным ресурсам, что позволяет шифровать файлы, проверять целостность системных файлов и управлять правами доступа.
- cipher — управляет шифрованием файлов на дисках NTFS.
- cipher/e — зашифровывает файлы в указанной директории.
- sfc — проверяет целостность системных файлов и автоматически восстанавливает их при обнаружении повреждений.
- sfc /verifyonly — проверяет системные файлы на наличие повреждений, но не исправляет их автоматически.
- sfc /scannow — выполняет полную проверку системы.
- cacls — изменяет права доступа к файлам. Пример: cacls file.txt /g UserName:F даст пользователю полный доступ к файлу.
- icacls — расширяет возможности команды cacls и предоставляет дополнительные параметры для управления правами доступа.
- takeown — позволяет взять владение файлом или директорией. Так, takeown /f file.txt предоставит доступ к файлам.
- attrib — изменяет атрибуты файлов и папок. Например, attrib +r file.txt сделает файл доступным только для чтения.
Команды для диагностики и устранения неполадок
Команды из раздела помогают находить и устранять неполадки в системе, восстанавливать загрузочные параметры и проверять целостность данных на диске, а также они позволяют решать проблемы, связанные с запуском операционной системы или со сбоями на уровне файловой системы.
- chkdsk — проверяет диск на наличие ошибок и исправляет их. Так, chkdsk C: /f выполнит проверку диска C.
- bootrec — восстанавливает загрузочный сектор.
- bcdedit — управляет параметрами загрузки системы.
- bcdedit /set {current} safeboot minimal — включает безопасный режим.
Команды для скриптинга и автоматизации
Команды, приведенные ниже, предназначены для создания сложных сценариев выполнения команд, что позволяет автоматизировать повседневные задачи и более эффективно управлять процессами.
- for — создает цикл для выполнения команд. Например, for %i in (1 2 3) do echo %i выведет числа 1, 2, 3.
- if — выполняет условное выполнение команд.
- goto — перенаправляет выполнение скрипта к определенной метке.
- call — вызывает другую команду или скрипт.
Команды для управления сетевыми подключениями
Команды для управления сетевыми подключениями предоставляют возможности для настройки, диагностики и оптимизации сетевых параметров и соединений, позволяя управлять IP-адресами, подключаться и отключаться от сетей.
- ipconfig /release — освобождает текущий IP-адрес, назначенный DHCP сервером, что позволяет при необходимости сбросить сетевое подключение.
- ipconfig /renew — обновляет IP-адрес, полученный от DHCP сервера. Часто используется после команды ipconfig /release для восстановления подключения.
- ipconfig /flushdns — очищает кэш DNS, если изменился DNS-сервер или необходимо устранить проблемы с доступом к сайтам.
- ipconfig /displaydns — выводит содержимое кэша DNS, часто используется для диагностики проблем с DNS.
- netsh interface ip set address — используется для назначения статического IP-адреса сетевому интерфейсу. Пример: netsh interface ip set address Ethernet static 192.168.1.100 255.255.255.0 192.168.1.1.
- netsh wlan show drivers — выводит информацию о драйверах беспроводной сети, что полезно при настройке Wi-Fi подключения.
- netsh wlan show interfaces — отображает текущие активные беспроводные подключения и их параметры, например, мощность сигнала.
- netsh wlan connect — подключает к указанной Wi-Fi сети. Для этого нужно ввести: netsh wlan connect name=MyWiFi.
- netsh wlan disconnect — отключает текущее беспроводное подключение.
- netsh advfirewall set allprofiles state — управляет состоянием брандмауэра Windows – netsh advfirewall set allprofiles state off отключает брандмауэр для всех профилей.
- netsh int ip reset — сбрасывает настройки IP стека (TCP/IP) к значениям по умолчанию, помогая при сетевых неполадках.
- route add — добавляет маршрут в таблицу маршрутизации. Например, route add 192.168.2.0 mask 255.255.255.0 192.168.1.1 добавит маршрут для подсети 192.168.2.0 через шлюз 192.168.1.1.
- route delete — удаляет указанный маршрут из таблицы маршрутизации.
- netsh interface show interface — выводит список всех сетевых интерфейсов в системе, включая их состояние и тип.
- net view — отображает список компьютеров в локальной сети – net view \\server покажет общие ресурсы на указанном сервере.
- net use /delete — удаляет существующее подключение к сетевому ресурсу. Так, net use Z: /delete отключает сетевой диск Z:.
- ftp — открывает FTP-клиент для передачи файлов между локальной и удаленной системами. Например, по команде ftp ftp.example.com ПК подключится к FTP-серверу.
- telnet — используется для подключения к удаленным системам через Telnet-протокол. Так, telnet example.com 23 подключит ПК к серверу на порту 23.
- getmac — выводит MAC-адреса всех сетевых интерфейсов компьютера.
Команды для управления печатью
В этом разделе команды для управления печатью позволяют эффективно управлять процессом печати (включая очередью на печать), настройками принтеров и заданиями на печать.
- print — отправляет файл на печать. Например, print C:\Documents\file.txt отправит текстовый файл на принтер по умолчанию.
- rundll32 printui.dll,PrintUIEntry — открывает диалоговое окно для установки или управления принтерами – rundll32 printui.dll,PrintUIEntry /in /n\\server\printer установит сетевой принтер.
- net print — отображает список заданий на печать – net print \\server\printer покажет очередь печати на указанном принтере.
- net stop spooler — останавливает службу диспетчера очереди печати (spooler), особенно когда требуется устранить зависшие задания печати.
- net start spooler — запускает службу диспетчера очереди печати после её остановки.
- wmic printer list brief — выводит список установленных принтеров с краткой информацией о каждом из них.
- wmic printer where default=true get name — выводит имя принтера, установленного по умолчанию.
- wmic printer where name=’PrinterName’ delete — удаляет указанный принтер из системы.
- wmic printerconfig — отображает информацию о конфигурации принтера, включая его настройки и параметры печати.
- cscript prnjobs.vbs — используется для управления заданиями печати через скрипт prnjobs.vbs, который можно использовать для удаления, приостановки или возобновления заданий.
Дополнительные команды в Windows
В дополнение к основным инструментам для управления системой, командная строка Windows предоставляет ряд дополнительных команд, которые расширяют возможности администрирования и диагностики.
- wevtutil — управляет журналами событий Windows. Например, wevtutil qe System выведет события из системного журнала.
- tzutil — управляет настройками часовых поясов. tzutil /s Pacific Standard Time установит часовой пояс на Тихоокеанское стандартное время.
- taskkill — завершает процесс по его PID или имени. Так, taskkill /F /PID 1234 завершит процесс с PID 1234.
- powercfg /hibernate off — отключает режим гибернации.
- powercfg /energy — создает отчет об использовании энергии системой.
The Windows Command Prompt (CMD) is a powerful tool that allows users to interact with their operating system through text-based commands. Whether you’re a beginner exploring CMD for the first time, an expert troubleshooting advanced issues, or just looking for utility-focused tasks, this guide has you covered.
In this guide, we will provide you with some of the most useful commands for the following:
- CMD Commands for Beginners
- CMD Commands for Experts
- CMD Commands for Utility
- CMD Commands for Troubleshooting
- CMD Commands for Students
- CMD Commands for Programmers
CMD Commands for Beginners
These commands are essential for users who are new to CMD and provide basic functionalities to help them navigate and perform simple tasks.
1. View Directory ‘dir
‘
- Function: Displays the contents of the current directory.
- How to use: Type
dir
and press Enter. Usedir /s
to include subdirectories. - Use case: Quickly view files and folders in your current location.
Syntax: dir
2. Change Directories ‘cd’
- Function: Lets you navigate between folders.
- How to use: Type
cd [folder_name]
to move into a directory. Usecd ..
to go up one level. - Use case: Navigate to specific directories to manage files or execute commands
Syntax: cd [folder name]
3. Create a New Directory ‘mkdir’ or ‘md’
- Function: Allows you to create a new directory
- How to use: Type mkdir [file_name]– Here the new directory name is GFG
- Use case: When you need a new directory for any separate work, you may create a new directory
Syntax: mkdir [GFG]
4. Rename a File ‘ren’
- Function: Helps in renaming any file or directory.
- How to use: Type
ren
or
rename [old_name] [new_name]
and press Enter. - Use case: Discover new method of renaming file or any directory.
Syntax: ren xyz.txt newxyz.txt
5. Delete a File ‘del’
- Function: Lets you to remove one or more files
- How to use: Type del [file_name]– This will erase the provided file name
- Use case: This function allows you to erase any file if you’re unable to fetch
Syntax: del[file_name]
6. Close ‘exit’
- Function: Closes the Command Prompt window.
- How to use: Type
exit
and press Enter. - Use case: Ends your session with CMD.
Syntax: exit
7. Clear Screen ‘cls’
- Function: Clears all text from the CMD window.
- How to use: Type
cls
and press Enter. - Use case: Removes clutter after multiple commands
Syntax: cls
8. View Available Command ‘help’
- Function: Lists all available commands and their descriptions.
- How to use: Type
help
and press Enter. - Use case: Discover new commands and learn their functions.
Syntax: help
9. Display or Set the System time ‘time’
- Function: Lets you set the system time or display the current time.
- How to use: Type
t
ime [new_time] and press Enter. - Use case: Allows the user to set their system’s time without additional navigation
Syntax: time [new_time]
10. Copy Files ‘copy’
- Function: Lists all available commands and their descriptions.
- How to use: Type
c
opy [source1] [destination2] and press Enter. - Use case: Discover new commands and learn their functions.
Syntax: copy file.txt Backup\
Command | Description | Syntax | Example |
---|---|---|---|
dir |
View the contents of a directory | dir |
dir C:\Users\Documents |
cd |
Change the current working directory | cd [directory_name] |
cd Downloads |
mkdir |
Create a new directory | mkdir [directory_name] |
mkdir NewProject |
ren |
Rename a file | ren [old_name] [new_name] |
ren draft.txt final.txt |
del |
Delete a file | del [file_name] |
del unwanted.txt |
exit |
Close the Command Prompt | exit |
exit |
cls |
Clear the Command Prompt screen | cls |
cls |
help |
View available CMD commands and their descriptions | help |
help |
time |
Display or set the system time | time |
time 14:30:00 |
copy |
Copy files from one location to another | copy [destination] |
copy report.docx D:\Backup\ |
CMD Commands for Experts
These commands are more advanced and suitable for users comfortable with troubleshooting and system management tasks.
1. System File Checker ‘sfc’
- Function: Scans and repairs corrupted system files.
- How to use: Type
sfc /scannow
in CMD (run as administrator). - Use case: Fix system errors related to missing or corrupted files.
Syntax: sfc /scannow
2. Disk Error ‘chkdsk’
- Function: Scans the hard drive for bad sectors and file system errors.
- How to use: Type
chkdsk [drive letter]
: /f
(e.g.,chkdsk C: /f
) in CMD. - Use case: Identify and fix disk issues.
Syntax: chkdsk C: /f
3. View Running Processor ‘tasklist’
- Function: Displays all running processes and their details.
- How to use: Type
tasklist
to list processes. Usetasklist /fi "imagename eq [process name]"
to filter. - Use case: Identify resource-heavy or unresponsive processes.
Syntax: tasklist /fi "imagename eq [process name]
4. Restart ‘shutdown’
- Function: Allows you to shut down or restart the computer via CMD.
- How to use:
- Shutdown:
shutdown /s /f /t [seconds]
. - Restart:
shutdown /r /f /t [seconds]
.
- Shutdown:
- Use case: Automate shutdown or restart tasks
Syntax:
Shutdown: shutdown /s /f /t [seconds].
Restart: shutdown /r /f /t [seconds].
5. Network Statistics ‘netstat’
- Function: Displays active connections and listening ports.
- How to use: Type
netstat
to view all active connections. - Use case: Diagnose network-related issues or monitor network activity.
Syntax: netstat
6. Kill a Running Process ‘taskkill’
- Function: Lets you terminate a process using its process ID (PID)
- How to use: Type
t
askkill /[PID] /F to terminate - Use case: Can be helpful for terminating any dedicated PID.
Example (PID: 1124)
Syntax: taskkill /PID 11234 /F
7. View Saved Passwords ‘netsh wlan show profiles’
- Function: Retrieve the password of a saved Wi-Fi network.
- How to use: Type netsh wlan show profile name=”WiFi-Name” key=clear
- Use case: Discover new commands and learn their functions.
Example: netsh wlan show profile name="MyHomeWiFi" key=clear
Command | Description | Syntax | Example |
---|---|---|---|
sfc |
System File Checker – Scans and repairs system files | sfc /scannow |
sfc /scannow |
chkdsk |
Check Disk – Scans and fixes disk errors | chkdsk [drive]: /f /r |
chkdsk C: /f /r |
tasklist |
View running processes | tasklist |
tasklist |
shutdown |
Shutdown or restart the system | shutdown /r /t [seconds] |
shutdown /r /t 10 (Restart in 10 seconds) |
netstat |
View network statistics and active connections | netstat -a |
netstat -an (Show all connections numerically) |
taskkill |
Kill a running process using its process ID (PID) | taskkill /PID [PID] /F |
taskkill /PID 4567 /F (Kill process with ID 4567) |
netsh wlan show profiles |
View saved Wi-Fi network names | netsh wlan show profiles |
netsh wlan show profiles |
CMD Commands for Utility
These commands are focused on specific tasks and utilities to enhance productivity and system performance.
1. Network Configuration ‘ipconfig’
- Function: Displays IP address, subnet mask, and gateway information.
- How to use:
- Basic: Type
ipconfig
. - Detailed: Type
ipconfig /all
.
- Basic: Type
- Use case: Troubleshoot internet connectivity issues.
Syntax: ipconfig
2. Network Connectivity ‘ping’
- Function: Sends packets to test communication with another device or website.
- How to use: Type
ping
[destination]
- Use case: Check if a device or website is reachable.
Syntax: ping geeksforgeeks.org
3. System Information ‘systeminfo’
- Function: Displays detailed information about your computer.
- How to use: Type
systeminfo
. - Use case: Quickly access system specifications for troubleshooting or reporting.
Syntax: systeminfo
4. Trace Route ‘tracert’
- Function: Shows the path packets take to reach a specific destination.
- How to use: Type
tracert
[destination]
- Use case: Identify network bottlenecks or connectivity issues.
Syntax: tracert geeksforgeeks.org
5. Manage Drives ‘diskpart’
- Function: Opens a command-line utility for managing disk partitions.
- How to use: Type
diskpart
to enter the disk management interface. - Use case: Create, delete, or modify partitions on your drives.
Syntax: diskpart
6. Delete a Directory ‘rmdir’
- Function: Removes directory from the origin
- How to use: Type rmdir [directory_name] and press Enter.
- Use case: Discover new commands and learn their functions.
Example: GFG – Directory name
Syntax: rmdir GFG
7. View ‘rmdir’
- Function: Removes directory from the origin
- How to use: Type rmdir [directory_name] and press Enter.
- Use case: Discover new commands and learn their functions.
Example: GFG - Directory name
8. Manage User Account ‘net user’
- Function: To list all the user accounts
- How to use: Type net user and press Enter.
- Use case: Discover new commands and learn their functions.
Syntax: net user username password /add
9. View Startup Programs ‘wmic startup get caption,command’
- Function: To check what programs launch on startup.
- How to use: Type wmic startup get caption,command, and press Enter.
- Use case: Discover new commands and learn their functions.
Syntax: wmic startup get caption,command
Command | Description | Syntax | Example |
---|---|---|---|
ipconfig |
View network configuration, including IP address, subnet mask, and gateway | ipconfig |
ipconfig /all (Displays detailed network info) |
ping |
Test network connectivity by sending packets to a host | ping [host or IP] |
ping google.com (Check connection to Google) |
systeminfo |
Display detailed system information, including OS version, installed memory, and processor | systeminfo |
systeminfo |
tracert |
Trace the route packets take to a network destination | tracert [hostname or IP] |
tracert google.com (View network path to Google) |
diskpart |
Manage disk partitions, including creating, formatting, and deleting partitions | diskpart |
diskpart → list disk → select disk 1 → create partition primary |
rmdir |
Delete a directory (folder) | rmdir [directory_name] |
rmdir /s /q OldFolder (Delete a folder and its contents without confirmation) |
dir |
View contents of a directory | dir |
dir C:\Users\Documents (List files in a specific directory) |
net user |
Manage user accounts, including adding, modifying, or deleting users | net user |
net user John password123 /add (Create a new user account) |
wmic startup get caption,command |
View startup programs and their commands | wmic startup get caption,command |
wmic startup get caption,command |
CMD Commands for Troubleshooting
1. File Comparison ‘fc’
- Function: Compares two files and highlights differences.
- How to use: Type
fc [file1] [file2]
to compare files. - Use case: Detect changes or errors in files
Syntax: fc 1 2
2. Advanced Network Diagnostics ‘pathping’
- Function: Combines
ping
andtracert
functionalities to provide detailed network path diagnostics. - How to use: Type
pathping
[destination]
- Use case: Troubleshoot complex network issues.
Syntax: pathping geeksforgeeks.org
3. Registry Editor ‘regedit’
- Function: Launches the Windows Registry Editor.
- How to use: Type
regedit
to open the registry. - Use case: Modify registry keys for advanced configuration or troubleshooting.
Syntax: regedit
4. View MAC ‘getmac’
- Function: Displays the MAC address of your network adapter.
- How to use: Type
getmac
to view the MAC address. - Use case: Identify your device’s hardware address for network configurations
Syntax: getmac
5. Power Configuration ‘powercfg’
- Function: Displays and manages power settings.
- How to use: Type
powercfg
/[option]
- Use case: Optimize power usage and troubleshoot battery issues.
Syntax: powercfg /energy
for a detailed power usage report
6. Enable Boot Manager ‘bcdedit’
- Function: Used to modify boot configuration settings
- How to use: Type
bcdedit
/ set current
- Use case: Discover new commands and learn their functions.
Syntax: bcdedit /set {current} bootmenupolicy standard
7. Format a Drive ‘format’
- Function: To erase any specific drive.
- How to use: Type format [drive]: /FS:NTFS and press Enter.
- Use case: Discover new commands and learn their functions.
Syntax: format D: /FS:NTFS
Command | Description | Syntax | Example |
---|---|---|---|
fc |
Compare two files and highlight differences | fc [file1] [file2] |
fc file1.txt file2.txt (Compare two text files) |
pathping |
Perform advanced network diagnostics with packet loss details | pathping [destination] |
pathping google.com (Analyze network route to Google) |
regedit |
Open the Windows Registry Editor (GUI) | regedit |
regedit (Opens the registry editor – use with caution!) |
getmac |
Display the MAC (Media Access Control) address of your network adapters | getmac |
getmac /v /fo list (View MAC addresses in detailed format) |
powercfg |
Manage and analyze power configurations | powercfg /[option] |
powercfg /batteryreport (Generate a battery usage report) |
bcdedit |
Enable, disable, or modify Windows Boot Configuration | bcdedit /set {current} [option] |
bcdedit /set {current} bootmenupolicy standard (Enable boot menu in Windows 10/11) |
format |
Format a drive (erase all data) | format [drive]: /FS:[filesystem] |
format D: /FS:NTFS (Format drive D: with NTFS file system) |
CMD Commands for Students
Students can use these commands to manage files, perform simple calculations, and even help with tasks like coding and studying.
1. Calculator ‘calc’
- Function: Opens the Windows Calculator application.
- How to use: Type
calc
and press Enter. - Use case: Quickly open the calculator for
Syntax: calc
CMD Commands for Programmers
Programmers often use CMD to automate tasks, compile code, and test network functionality. These commands can be especially useful for developers working in command-line environments.
1. Compile Java Code ‘javac’
- Function: Compiles Java source files into bytecode.
- How to use: Type
javac [file name].java
to compile Java code. - Use case: Compile and test Java programs directly from the command line.
Syntax: javac
2. Version Control ‘git’
- Function: Interacts with Git repositories from the command line.
- How to use: Type
git [command]
- Use case: Manage version control, clone repositories, or push commits from the command line.
Syntax: git clone [repository URL]
3. Execute Python Script ‘python’
- Function: Runs Python scripts in the command prompt.
- How to use: Type
python [script.py]
to execute a Python program. - Use case: Test and run Python code directly in the command line.
Syntax: python [script.py]
4. Run Node.js Scripts ‘node’
- Function: Executes Node.js scripts.
- How to use: Type
node [script.js]
to run a JavaScript file using Node.js. - Use case: Run backend scripts and test JavaScript programs in the command line.
Syntax: node [script.js]
5. Node Package Manager ‘npm’
- Function: Installs and manages JavaScript packages.
- How to use: Type
npm install [package]
to install a package. - Use case: Manage dependencies and libraries in Node.js applications.
Syntax: npm install [package]
Command | Description | Syntax | Example |
---|---|---|---|
javac |
Compile Java source code into bytecode (.class files) | javac [filename].java |
javac HelloWorld.java (Compile a Java file) |
git |
Version control system for tracking changes in files | git [command] |
git clone https://github.com/user/repo.git (Clone a repository) |
python |
Execute a Python script or enter interactive mode | python [script.py] |
python script.py (Run a Python script) |
node |
Execute JavaScript code using Node.js | node [script.js] |
node app.js (Run a Node.js script) |
npm |
Manage Node.js packages and dependencies | npm [command] |
npm install express (Install the Express.js package) |
Bonus: CMD Tricks and Tips
To make CMD usage even more efficient, here are some bonus tips:
1. Save CMD Output to a File
Use the >
operator to save the output of a command to a text file.
2. Open CMD in a Specific Directory
Instead of navigating manually, you can directly open CMD in a folder by typing cmd
in the File Explorer’s address bar.
3. Use &&
for Multiple Commands
You can run multiple commands sequentially:
ipconfig && ping google.com
Conclusion
Mastering the most useful CMD commands in Windows can empower you to perform tasks more efficiently, troubleshoot problems, and gain deeper control over your system. By familiarizing yourself with these essential CMD commands, you’ll be better equipped to handle a variety of situations, from simple file management to advanced system configurations. Whether you’re a beginner or an experienced user, these commands are invaluable tools to have at your disposal.
CLI (Command Line Interface) — это способ взаимодействия с компьютером через текстовые команды. Вместо того, чтобы кликать по кнопкам, мы вводим команды через терминал (консоль), и система тут же выполняет наши инструкции.
- Отличие от графического интерфейса (GUI)
- В графическом интерфейсе (GUI) мы видим удобные окошки и кнопки, нажимаем мышкой или тачпадом.
- В CLI мы набираем конкретные команды, чаще всего на английском языке, и сразу получаем текстовый результат или вывод.
- CLI считается более гибким и мощным, поскольку позволяет точно управлять системой — одной командой можно сделать то, что в GUI требовало бы целую серию кликов.
- Почему программисту важно уметь работать с консолью
- Скорость. Командой «на лету» можно скопировать десятки файлов, переименовать их, запустить скрипты — всё это занимает секунды.
- Точность и гибкость. У вас полный контроль над системой. Особенно это важно, когда работаете с сервером или автоматизируете рутинные задачи.
- Универсальность. Терминалы бывают везде: на сервере, в облачном окружении, на локальном компьютере. Умение работать в них облегчает жизнь в самых разных проектах.
Представим, что у вас есть куча фотографий с отдыха и их нужно переименовать. Через графический интерфейс придётся вручную переименовывать каждый файл, а через CLI достаточно написать одну команду, и всё будет сделано автоматически!
Главные понятия
Терминал
Работа с командной строкой начинается с терминала.
Открыть терминал
- Linux/Mac: Обычно ищем приложение “Terminal” (или «Терминал») в списке программ. Часто можно запустить его по сочетанию клавиш (например, в Ubuntu — Ctrl+Alt+T).
- Windows:
- CMD (Command Prompt): ищем в поиске Windows «Командная строка» или «cmd».
- PowerShell: ищем «PowerShell» в поиске Windows. Это более современная оболочка, которая поддерживает команды из CMD, но имеет и дополнительные возможности.
Директория (папка) и файл
- Файл — это набор данных, например, текстовый документ, картинка, музыкальный трек.
- Директория (или папка) — это контейнер, в котором лежат файлы и другие папки.
Пример: Есть папка Documents, внутри неё может быть папка Projects, а в ней файлы script.py, notes.txt и т.д.
Путь к файлу/директории
- Абсолютный путь — указывает расположение файла или папки, начиная от корневой директории.
- В Linux/Mac это выглядит, например, как
/home/user/Projects
. - В Windows обычно начинается с
C:\Users\Username\Projects
.
- В Linux/Mac это выглядит, например, как
- Относительный путь — указывает путь относительно текущей директории.
- Например, если мы уже находимся в
/home/user
, то попасть в Projects можно командойcd Projects
. - Или
cd ./Projects
(точка.
указывает на текущую директорию).
- Например, если мы уже находимся в
(Мини-пример)
Вы находитесь в папке/home/user
. Абсолютный путь к файлуscript.py
в папкеProjects
будет/home/user/Projects/script.py
. Но если вы уже «внутри»/home/user
, то можете набратьcd Projects
(относительный путь), а затемpython script.py
.
Безопасность и осторожность
Работа с терминалом даёт огромные возможности, но с этим приходит и ответственность:
- Команды, которые могут навредить системе
- Например, команда удаления файлов (в Linux это
rm
, а в Windows —del
илиRemove-Item
) не спросит «А вы точно уверены?», если вы явно не включите такой запрос. А если вы используете параметры вроде-r
в Linux (rm -r folder
), то можете случайно «снести» целые папки вместе с содержимым! - Важно всегда понимать, где вы находитесь и что удаляете. Ошибка в одной букве пути может привести к катастрофе, если затронуть системные файлы.
- Например, команда удаления файлов (в Linux это
- Как проверить свой текущий путь
- В Linux/Mac достаточно ввести команду
pwd
(print working directory). - В Windows можно ввести
echo %cd%
(в CMD) илиpwd
(в PowerShell). - Эта команда покажет, в какой директории вы сейчас находитесь.
- Привычка перед опасными командами (удаление, перемещение) проверять текущий путь экономит много нервов.
- В Linux/Mac достаточно ввести команду
(Мини-пример)
Вы хотите удалить временные файлы из папки/home/user/temp
. Убедитесь, что вы действительно в папке/home/user/temp
, введяpwd
. Если там всё верно, то используйтеrm *
(в Linux) для удаления файлов. Если окажется, что вы внезапно в/home/user/documents
, сработает уже другой сценарий — а это не то, что вы хотели!
Небольшое резюме
- CLI — это про гибкость и эффективность.
- Навык навигации по папкам и правильное понимание путей — фундамент для работы в консоли.
- Внимательность: проверяем где мы находимся, что удаляем, и как прописываем команды.
На этом заканчиваем вводную часть. В следующем блоке мы подробнее разберём базовые команды, которые применяются в Linux, Windows и Mac для работы с файлами, папками и прочими элементами системы.
Если остались вопросы, не стесняйтесь задавать! Всякий раз, когда чувствуете, что что-то непонятно, лучше сразу разъяснить и попрактиковаться — так в голове останется меньше «белых пятен», а уверенность в своих силах будет расти.
Как тренироваться в разных операционных системах
Иногда бывает так, что вы хотите учиться работать в Linux, но ваш компьютер — на Windows. Или, наоборот, вы пользуетесь Linux и хотите изучить особенности Windows-команд. К счастью, есть несколько способов «потренироваться» без необходимости менять операционную систему.
Запуск Linux в Windows
- WSL (Windows Subsystem for Linux)
- Начиная с Windows 10, доступна технология WSL. Она позволяет установить дистрибутив Linux (Ubuntu, Debian и другие) прямо внутри Windows и запускать все основные команды в терминале.
- Установка: откройте Microsoft Store, найдите «Ubuntu» (или другой дистрибутив) и установите.
- После установки в меню «Пуск» появится ярлык (например, «Ubuntu»). Запустив его, вы получите полноценный терминал Linux, не покидая Windows.
- Виртуальная машина
- Можно установить популярные программы виртуализации (VirtualBox, VMware Player).
- Скачайте ISO-образ Linux (например, Ubuntu), создайте виртуальную машину и установите систему.
- В итоге у вас будет «второй компьютер в окошке», где можно свободно экспериментировать с командами, не нарушая работу основной системы Windows.
- Live USB
- Если хотите «потрогать» Linux без установки на жёсткий диск, можно создать загрузочную USB-флешку с Linux и загрузиться с неё. При выборе режима «Live» система запустится сразу с флешки.
- Так вы сможете практиковать базовые команды, но при перезагрузке изменения чаще всего не сохраняются (если не настраивать специальный режим постоянного хранения данных).
Запуск Windows в Linux
- Виртуальная машина
- Аналогично, вы можете поставить VirtualBox или VMware на Linux и создать виртуальную машину с Windows (для этого потребуется лицензионный образ Windows).
- Запустив виртуальную машину, вы получите доступ к стандартным Windows-командам через CMD или PowerShell.
- Dual Boot (двойная загрузка)
- Более редкий вариант: установить Windows параллельно с Linux на физический диск. При включении компьютера будет меню выбора ОС. Но это требует знаний о разбивке диска и может быть рискованно, если вы новичок.
Облачные сервисы
Есть и вариант «всё в облаке»:
- Для Linux подойдут бесплатные серверы/машины в облаке (например, различные пробные варианты у хостинг-провайдеров) или в сервисах вроде AWS, Google Cloud, Azure.
- Вы подключаетесь к удалённому серверу через SSH и получаете полноценный терминал Linux, в котором отрабатываете команды.
- Для Windows тоже можно арендовать удалённый сервер (Windows Server), но обычно это платные услуги и чуть сложнее в настройке.
Резюме по тренировке в разных системах
- WSL — самый простой способ при работе в Windows попробовать Linux-команды без суеты с виртуальными машинами.
- VirtualBox/VMware — универсальный метод, работает и для Windows, и для Linux в обе стороны, но требует чуть больше ресурсов (процессор, оперативная память).
- Live USB — отличный «пробный вариант» для знакомства с Linux, не затрагивая жёсткий диск.
- Облачные сервисы — удобно, если нужно учиться работе с серверами или не хочется тратить ресурсы локального ПК.
Таким образом, нет никаких технических препятствий, чтобы практиковаться и в Linux, и в Windows. Выбирайте тот способ, который вам удобнее, и смело осваивайте команды, описанные в уроке!
Общие базовые команды
Навигация по папкам
Когда мы работаем в терминале, нужно уметь быстро и точно переходить в нужную директорию, а также просматривать содержимое папок.
Проверка текущей директории
Linux/Mac
# Показать текущую директорию
pwd
Комментарий:
pwd
расшифровывается как print working directory. Она выводит путь к папке, в которой мы сейчас находимся.
Пример вывода (допустим, мы в домашней папке пользователя anna
):
/home/anna
Windows (CMD/PowerShell)
# В CMD
echo %cd%
# В PowerShell
pwd
Комментарий:
- В классической командной строке (CMD) для вывода текущей папки используется переменная окружения
%cd%
вместе с командойecho
. - В PowerShell можно использовать ту же команду
pwd
, что и в Linux/Mac.
Просмотр содержимого директории
Linux/Mac
# Показать список файлов и папок в текущей директории
ls
Комментарий:
- По умолчанию команда
ls
выводит имена всех файлов и подпапок. - Часто используют флаги, например
ls -l
, чтобы получить подробную информацию (дата изменения, размер файла и т.д.).
Пример:
ls
Documents Downloads Music Pictures Videos
Windows (CMD/PowerShell)
# Показать список файлов и папок в текущей директории
dir
Комментарий:
- В Windows вместо
ls
традиционно используетсяdir
. - В PowerShell она также работает и даёт аналогичную информацию.
Переход между директориями
Linux/Mac
# Перейти в папку /home/anna/Documents
cd /home/anna/Documents
# Если мы уже находимся в /home/anna,
# то можно сделать относительный переход
cd Documents
Комментарий:
cd
(change directory) — сменить директорию.- Абсолютный путь начинается с
/
, относительный — от текущей директории.
Windows (CMD/PowerShell)
# Перейти в папку C:\Users\John\Documents
cd C:\Users\John\Documents
# Если мы уже в C:\Users\John,
# то можно использовать относительный путь
cd Documents
Комментарий:
- В Windows пути обычно указываются через обратный слеш
\
, но PowerShell и CMD также воспринимают прямой слеш в некоторых случаях.
Практическое упражнение по навигации
- Откройте терминал/командную строку.
- Перейдите в папку загрузок (Downloads) любым из способов:
- Полный путь (например,
cd /home/anna/Downloads
на Linux/Mac илиcd C:\Users\Anna\Downloads
на Windows).- Относительный путь (если вы уже в домашней папке).
- Выведите на экран список файлов в ней с помощью
ls
(Linux/Mac) илиdir
(Windows).(Дополнительно) Если у вас нет папки Downloads (бывает на некоторых системах), проделайте те же действия с любой другой директорией.
Создание и удаление папок, файлов
Следующий важный шаг — научиться создавать новые папки и файлы, а также их удалять. Тут тоже есть тонкости для разных систем.
Создание папок
Linux/Mac
# Создать папку (директорию) 'test_folder'
mkdir test_folder
Комментарий:
mkdir
расшифровывается как make directory.- Если в папке уже есть
test_folder
, команда вернёт ошибку. Можно использовать опцию-p
, чтобы избежать ошибок, если родительские папки отсутствуют.
Пример:
mkdir -p my_projects/python_scripts
# Создаст цепочку папок: my_projects, а внутри нее python_scripts
Windows (CMD/PowerShell)
# Создать папку (директорию) 'test_folder'
mkdir test_folder
Комментарий:
- В Windows слово
mkdir
(илиmd
) работает так же, как в Linux/Mac. - В PowerShell есть разные способы создания папок, но
mkdir
— самый простой и привычный.
Создание файлов
Linux/Mac
# Создать (или обновить время модификации) пустой файл 'file.txt'
touch file.txt
Комментарий:
touch
создаёт пустой файл, если такого ещё нет. Если файл есть, просто обновляет время последнего изменения (в его содержимом ничего не меняется).
Пример (с пояснениями):
touch notes.txt # создаёт пустой файл notes.txt в текущей директории
Windows (CMD)
# Создать пустой файл file.txt (CMD)
type nul > file.txt
Комментарий:
type nul
выводит «ничего»,>
перенаправляет этот «вывод» вfile.txt
, создавая таким образом пустой файл.
Windows (PowerShell)
# Создать пустой файл file.txt (PowerShell)
New-Item file.txt
Комментарий:
- В PowerShell есть удобная команда
New-Item
, которая создаёт файлы и папки. По умолчанию создаёт файл, если не указать иных параметров.
Удаление файлов
Linux/Mac
# Удалить файл file.txt
rm file.txt
Комментарий:
rm
(remove) — удаляет файлы. В корзину они не попадают, поэтому будьте осторожны.- Если команда выполнилась успешно — файл исчезает безвозвратно.
Пример:
rm report.docx
# Если файл называется report.docx, он будет удалён
Windows (CMD/PowerShell)
# Удалить файл file.txt
del file.txt
Комментарий:
del
— классический вариант удаления файла в CMD.- В PowerShell тоже будет работать команда
del
, хотя официально там естьRemove-Item file.txt
.
Удаление папок
Linux/Mac
# Удалить папку (директорию) вместе со всем содержимым
rm -r folder_name
Комментарий:
- Флаг
-r
(recursive) указывает удалять рекурсивно всё содержимое папки. - Флаг
-f
(force) может принудительно удалять без лишних вопросов, но лучше вначале тренироваться без него, чтобы не снести что-нибудь важное случайно.
Windows (CMD)
# Удалить папку folder_name со всем содержимым
rmdir folder_name /s
Комментарий:
/s
означает рекурсивное удаление всех подпапок и файлов.- Windows перед удалением всей папки обычно спросит подтверждение (Y/N).
Windows (PowerShell)
# Удалить папку folder_name со всем содержимым
Remove-Item folder_name -Recurse
Комментарий:
- Параметр
-Recurse
указывает на удаление всего, что находится внутри папки.
Практическое упражнение по созданию и удалению
- Создать новую папку
- Назовите её, например,
my_folder
.- Убедитесь, что вы в нужной директории (выполните
pwd
или аналог).- Зайти в неё
- С помощью
cd my_folder
.- Создать пустой файл
touch my_file.txt
(Linux/Mac) илиNew-Item my_file.txt
(PowerShell) илиtype nul > my_file.txt
(CMD).- Удалить этот файл
rm my_file.txt
(Linux/Mac) илиdel my_file.txt
(Windows).- Выйти на директорию выше
- В Linux/Mac/Windows используется
cd ..
(два раза точка означает “уровень выше”).
(Дополнительно) Попробуйте повторить всё ещё раз, но теперь создайте папку и удалите её целиком. Убедитесь, что делаете это в «учебных» директориях, чтобы не снести важные данные.
Копирование и перемещение файлов
В этом разделе разберём, как скопировать (создать дубликат) или переместить (в том числе переименовать) файлы и папки.
Копирование файлов и папок
Linux/Mac
# Скопировать файл file.txt в backup.txt (создастся копия)
cp file.txt backup.txt
Комментарий:
- Если в директории уже есть backup.txt, он будет перезаписан без предупреждения.
# Копировать папку folder1 в folder2 (рекурсивно)
cp -r folder1 folder2
Комментарий:
- Флаг
-r
даёт команду копировать все файлы внутри folder1.
Windows (CMD/PowerShell)
# Скопировать файл file.txt в backup.txt (CMD/PowerShell)
copy file.txt backup.txt
Комментарий:
- Аналогично перезапишет файл, если backup.txt уже существует.
# Рекурсивно копировать папку folder1 в folder2 (CMD)
xcopy folder1 folder2 /E
Комментарий:
- Параметр
/E
позволяет копировать и подпапки (включая пустые). - В PowerShell
xcopy
тоже доступна, хотя там есть и более современные команды.
Перемещение (и переименование) файлов
Linux/Mac
# Переименовать (или переместить) файл file.txt в new_name.txt
mv file.txt new_name.txt
Комментарий:
- Команда
mv
(move) может просто переименовывать файл (если целевая директория совпадает с исходной), либо перемещать (если указываете другую директорию).
# Переместить file.txt в папку Documents (остался старый файл или нет?)
mv file.txt Documents/
Комментарий:
- После выполнения команды, file.txt исчезнет из текущей папки и появится в Documents.
Windows (CMD/PowerShell)
# Переименовать (или переместить) файл file.txt в new_name.txt
move file.txt new_name.txt
Комментарий:
move
работает аналогичноmv
в Linux/Mac.
# Переместить file.txt в директорию Documents
move file.txt Documents
Комментарий:
- Если вы в директории, где лежит file.txt, и есть подпапка Documents, файл переместится в неё.
Практическое упражнение по копированию и перемещению
- Создать файл
notes.txt
- Используйте любую команду на выбор (
touch
,New-Item
,type nul >
, и т.д.).- Скопировать его в ту же директорию под именем
notes_copy.txt
- Linux/Mac:
cp notes.txt notes_copy.txt
- Windows:
copy notes.txt notes_copy.txt
- Создать подпапку
temp
mkdir temp
(любая ОС).- Переместить в неё копию файла
- Linux/Mac:
mv notes_copy.txt temp/
- Windows:
move notes_copy.txt temp
(Дополнительно) Проверьте, что файл действительно переместился. Для этого после перемещения выполните
ls
(илиdir
) в папкеtemp
и убедитесь, что там естьnotes_copy.txt
.
Выводы и советы
- Не бойтесь экспериментировать, но делайте это в безопасных директориях, где нет важных файлов.
- Автодополнение (Tab) помогает избежать ошибок, когда вы вводите длинные пути или сложные названия.
- Всегда проверяйте текущую директорию (команда
pwd
или её эквивалент) перед опасными действиями, чтобы не повредить важные файлы. - Старайтесь систематизировать команды в личном конспекте: выписывать что делает каждая команда, какие есть полезные флаги (
-r
,-f
,/E
,/s
,-Recurse
и т.д.).
На этом блок с базовыми командами окончен. Когда научитесь уверенно делать все эти операции (переходить, создавать, удалять, копировать, перемещать), вы станете гораздо более «подкованными» пользователями — ведь эти навыки уже дают возможность эффективно управлять файло-структурой на любом компьютере или сервере!
Ниже представлена подробная инструкция по дополнительным утилитам и командам, которые существенно упрощают повседневную работу в терминале. Я разделил их на несколько основных блоков, чтобы материал было проще воспринимать и закреплять на практике.
Дополнительные полезные команды/утилиты
Вывод содержимого файлов
Порой нам нужно быстро заглянуть в текстовый файл, чтобы увидеть его содержимое или проверить, что там написано. Для этого есть специальные команды.
Команда cat
(Linux/Mac/PowerShell)
Синтаксис:
cat file.txt
Комментарий:
cat
(сокращение от concatenate) читает содержимое файла и выводит его в стандартный вывод (обычно — экран).- Если файл небольшой, вы увидите весь текст сразу. Если файл большой, прокрутка пойдёт очень быстро.
Пример кода:
cat readme.md
# Выведет весь текст из файла readme.md в терминал.
(В PowerShell на Windows, начиная с определённых версий, cat
тоже работает как псевдоним для Get-Content
. Если не работает, см. ниже о команде type
.)
Команда type
(Windows CMD)
В классической командной строке Windows (CMD) команда cat
не поддерживается, зато есть аналог:
type file.txt
Комментарий:
type
выводит содержимое файла прямо в окно CMD.- Если файл большой, информация «пролистается» быстро. Можно использовать
type file.txt | more
, чтобы построчно пролистывать содержимое.
Тренировочное упражнение
- Создайте небольшой текстовый файл (например,
notes.txt
) с помощью любого текстового редактора или консольной команды (echo "Hello CLI" > notes.txt
в Linux/PowerShell илиecho Hello CLI > notes.txt
в CMD).- Попробуйте вывести его содержимое:
- Linux/Mac:
cat notes.txt
- PowerShell:
cat notes.txt
(илиGet-Content notes.txt
)- CMD:
type notes.txt
- (Дополнительно) Измените файл (добавьте несколько строк текста) и снова выведите содержимое, чтобы убедиться, что изменения отображаются сразу.
Создание архивов (Linux/Mac)
В Unix-подобных системах (Linux, Mac) архивы часто создают при помощи утилиты tar
. Она умеет не только запаковывать папку в один файл, но и сразу сжимать её (обычно в формат gzip).
Команда tar
Синтаксис:
tar -czf archive.tar.gz folder_name
Комментарий:
-c
означает «создать архив» (create).-z
означает «сжимать с помощью gzip».-f
указывает, что результат будет записан в файл (указываем имяarchive.tar.gz
).
Таким образом, команда берёт папку folder_name
(и всё её содержимое) и упаковывает в сжатый архив archive.tar.gz
.
Пример кода:
tar -czf backup.tar.gz my_project
# Создаст файл backup.tar.gz, который будет содержать всю папку my_project.
Распаковка архива tar.gz
Если нужно разархивировать обратно:
tar -xzf backup.tar.gz
Комментарий:
-x
(extract) — извлечь.-z
(gzip) и-f
(файл), как выше.- По умолчанию распакует файлы в текущую директорию или (если архив содержит абсолютные пути) в соответствующие места.
(Можно задать ключ -C /desired/path
, чтобы указать, куда распаковывать.)
Архивирование в Windows
В Windows есть несколько способов:
- PowerShell:
Compress-Archive -Path .\folder_name\* -DestinationPath .\archive.zip
Комментарий:
- Параметр
-Path
указывает, что архивировать, -DestinationPath
— куда сохранять.- Обратите внимание, что создаётся архив в формате .zip.
- Параметр
- Сторонние программы: WinRAR, 7-Zip и т.д.
- Чаще всего в Windows используют программы с графическим интерфейсом, но при желании можно найти и консольные утилиты (например, 7z.exe).
Тренировочное упражнение
- Создайте папку
test_archive
, поместите внутрь любой файл (например,notes.txt
).- Linux/Mac:
- Архивируйте папку командой
tar -czf test_archive.tar.gz test_archive
.- Затем удалите папку
test_archive
и разархивируйтеtest_archive.tar.gz
, чтобы убедиться, что всё успешно восстановилось.- Windows (PowerShell):
- Выполните
Compress-Archive -Path .\test_archive\* -DestinationPath .\test_archive.zip
.- Проверьте, что появился файл
test_archive.zip
.- Для распаковки используйте
Expand-Archive -Path .\test_archive.zip -DestinationPath .\extracted_folder
, либо обычный графический интерфейс.
Справка по командам
Когда начинаешь изучать новые команды, часто хочется быстро узнать, какие параметры у команды есть, что означает тот или иной флаг и т.д. Для этого в разных системах есть встроенные средства помощи.
man
и --help
(Linux/Mac)
man ls
Комментарий:
- Запустит подробный мануал (manual) по команде
ls
. Откроется текстовая страница с описанием, которую можно пролистывать стрелками или клавишей Space. - Выйти из неё можно, нажав
q
.
ls --help
Комментарий:
- Короткая справка по команде
ls
с описанием основных флагов. - Аналогичным образом можно попробовать
grep --help
,cp --help
и т.д.
help
, /?
, Get-Help
(Windows)
CMD:
help
Комментарий:
- Показывает список доступных команд. Если надо узнать больше о конкретной команде, пишем:
command /?
Например:
dir /?
Комментарий:
- Выведет краткую справку о команде
dir
и её параметрах.
PowerShell:
Get-Help ls
Комментарий:
- Отобразит документацию по команде
ls
(в PowerShell это алиас, ссылающийся наGet-ChildItem
). - Для более подробного вывода можно добавить параметр
-Full
.
Тренировочное упражнение
- В Linux/Mac попробуйте команду
ls --help
, ознакомьтесь с параметрами. Затем откройте «мануал» —man ls
.- В Windows CMD наберите
help
и посмотрите, какие есть стандартные команды. Выберите одну (например,dir
) и введитеdir /?
, чтобы увидеть все возможные параметры.- В PowerShell сделайте
Get-Help Move-Item
, чтобы узнать, как перемещать файлы из консоли PowerShell.(Дополнительно) Поэкспериментируйте с
man tar
илиtar --help
в Linux/Mac, и сGet-Help Compress-Archive
в PowerShell, чтобы глубже понять, какие параметры поддерживаются при архивировании.
В этом разделе вы познакомились с несколькими дополнительными командами:
- Просмотр содержимого файла:
cat
(Linux/Mac/PowerShell) иtype
(Windows CMD). - Архивирование:
tar
в Linux/Mac,Compress-Archive
в Windows PowerShell. - Справка:
man
и--help
в Linux/Mac,help
//?
/Get-Help
в Windows.
Все они могут заметно упростить вашу жизнь в консоли, давая возможность быстро пролистывать файлы, делать резервные копии, переносить архивы на другие машины и не «плавать» в опциях команд.
Совет: Даже опытные специалисты регулярно обращаются к встроенной справке, ведь помнить все команды и ключи наизусть невозможно. Чем раньше вы привыкнете к мануалам, тем легче вам будет работать в любой среде.
Оставайтесь любознательными, экспериментируйте и не бойтесь опечатываться — главное, делайте это в безопасном окружении, и всегда проверяйте, в какой директории находитесь, перед тем, как запустить критические команды!
Ниже приводится подробный урок, раскрывающий особенности разных операционных систем. Несмотря на то, что большинство базовых команд и концепций похожи, есть нюансы в путях к файлам и в типах оболочек (shell). В конце каждого раздела вы найдёте тренировочное упражнение, чтобы сразу закрепить знания.
Особенности для разных систем
Различия в путях к файлам/папкам
Путь — это «адрес» к определённому файлу или папке внутри файловой системы. В зависимости от операционной системы, путь может немного отличаться синтаксисом.
Linux/Mac — символ «/»
В Linux и macOS для разделения директорий используется прямой слеш /
. Корневая директория (root) обозначается просто /
. Абсолютные пути всегда начинаются с /
.
Пример абсолютного пути:
# Абсолютный путь к папке Documents в домашней директории пользователя "alex"
/home/alex/Documents
- Здесь
/
— корневая директория. - Затем идёт папка
home
, внутри неё — папкаalex
, а внутриalex
— папкаDocuments
.
Пример относительного пути:
# Если мы уже находимся в /home/alex, то добраться до папки Documents можно так:
cd Documents
# или
cd ./Documents
- Точка (
.
) указывает на текущую директорию. - Две точки (
..
) указывают на директорию уровнем выше.
Windows — обратный слеш \
и буквы дисков
В Windows обычно используется обратный слеш \
, а также система букс дисков (C:, D: и т.д.).
Пример абсолютного пути:
C:\Users\Alex\Documents
C:
— системный диск или просто буква диска.Users\Alex\Documents
— цепочка папок.
Пример относительного пути:
# Если мы уже в C:\Users\Alex, можно использовать:
cd Documents
Примечание: В PowerShell зачастую можно использовать и прямые слеши /
, но традиционно для Windows принят обратный слеш \
.
Тренировочное упражнение
- Если вы работаете в Linux/Mac, попробуйте прописать несколько абсолютных путей, указывая на разные папки (например,
/home/<ваше_имя>/Documents
,/home/<ваше_имя>/Downloads
). Используйте командуls
илиcd
для проверки, что путь указан верно.- Если вы в Windows, потренируйтесь с абсолютными путями к
C:\Users\<Ваше_имя>\Documents
и относительными путями (например,cd ..
, чтобы подняться на один уровень выше).- (Дополнительно) Создайте тестовую папку внутри своей домашней директории (имя, например,
demo_folder
), перейдите туда с помощью относительного пути и выведите содержимое командойls
(в Linux/PowerShell) илиdir
(в CMD).
Разные оболочки (shell)
Shell — это программа, которая принимает команды, введённые пользователем, и передаёт их операционной системе для выполнения. По сути, это наш «командный интерпретатор».
Bash, Zsh (Linux/Mac)
В большинстве дистрибутивов Linux по умолчанию стоит Bash (Bourne Again Shell). На macOS в более новых версиях по умолчанию может быть включён Zsh, но суть остаётся схожей.
- Bash: классический shell, встречается во многих системах, имеет большое комьюнити, много готовых скриптов.
- Zsh: похож на Bash, но предлагает ряд дополнительных функций (например, более продвинутую автодополнение). Многие пользователи macOS даже не замечают, что «под капотом» у них Zsh, потому что команды часто совпадают.
Пример использования Bash:
#!/usr/bin/env bash
# Простенький скрипт, который выводит приветствие
echo "Hello from Bash!"
- Первая строка (
#!/usr/bin/env bash
) указывает системе, что скрипт должен исполняться через Bash.
CMD и PowerShell (Windows)
В Windows исторически использовалась CMD (Command Prompt), а затем появилась PowerShell, более современная и мощная оболочка:
- CMD: классическая «чёрная консоль» Windows, поддерживает базовые команды вроде
dir
,cd
,copy
. - PowerShell: создана на базе .NET Framework, имеет объектную модель, что делает её очень гибкой. Также поддерживает многие команды и синтаксис, схожие с Unix.
- Если запустить PowerShell и ввести, например,
ls
, она сработает, так какls
является алиасом дляGet-ChildItem
.
Пример использования PowerShell:
# Простой скрипт на PowerShell, выводит сообщение
Write-Host "Hello from PowerShell!"
Write-Host
выводит сообщение на экран.- Если сохранить этот код в файле
hello.ps1
, то запустить можно так:.\hello.ps1
(с учётом, что вы в нужной директории).
Тренировочное упражнение
- Linux/Mac:
- Откройте терминал. Выполните команду
echo $SHELL
— она покажет, какой shell у вас используется по умолчанию (например,/bin/bash
или/bin/zsh
).- Создайте простой скрипт
test.sh
(внутри напишитеecho "Test Bash script"
), сделайте его исполняемым (chmod +x test.sh
) и запустите (./test.sh
).- Windows:
- Откройте CMD (Command Prompt), выведите список файлов в своей домашней директории командой
dir
.- Откройте PowerShell, выполните в ней ту же операцию, но командой
ls
илиGet-ChildItem
. Сравните вывод.- (Дополнительно) Создайте простой PowerShell-скрипт
hello.ps1
, который выводит фразу «Hello PowerShell». Запустите его в PowerShell.- (Универсально) Если хотите «поближе» познакомиться с другой оболочкой, выполните инструкции из предыдущих уроков (например, воспользуйтесь WSL на Windows, чтобы попробовать Bash, или поставьте PowerShell на Linux через пакетный менеджер).
- Пути в Linux/Mac используют прямой слеш
/
, а в Windows чаще всего — обратный слеш\
и буквы дисков. - Shell — это «среда», через которую мы вводим команды. В Linux/Mac обычно Bash или Zsh, в Windows — CMD или PowerShell.
- Несмотря на то, что базовые действия (создание, удаление, копирование) похожи, синтаксис и набор команд может немного отличаться.
Важнее всего понимать общие концепции: что такое директория, какой путь считается абсолютным, как работает перенаправление команд и т.д. Привыкнув к одной среде, осваивать другую станет гораздо проще.
Не бойтесь практиковаться — попробуйте использовать разные shell и операционные системы, чтобы увидеть, как всё устроено «под капотом»!
Ниже представлен урок с дополнительными советами и рекомендациями, которые помогут вам быстрее освоиться в командной строке и избежать распространённых ошибок. В каждом разделе есть упражнения, позволяющие закрепить теорию на практике.
Дополнительные советы и хорошая практика
Регулярно пользоваться справкой
В каждой операционной системе есть встроенная документация по командам, и это значительно облегчает жизнь, когда вы не помните какой-то флаг или синтаксис.
Linux
man ls
Комментарий:
- Показывает «man-страницу» для команды
ls
, где описаны основные параметры, примеры использования. - Чтобы пролистать, используйте клавиши
Стрелка вниз/вверх
илиSpace
. Закрыть — клавишаq
.
ls --help
Комментарий:
- Выводит краткую информацию по использованию команды и параметрам.
Windows
help
Комментарий:
- Показывает в классическом CMD список команд.
dir /?
Комментарий:
- В CMD: даст краткое описание команды
dir
. - Аналогично
copy /?
,move /?
и т.д.
Get-Help Get-ChildItem
Комментарий:
- В PowerShell: показывает справку по команде (в данном случае это команда
Get-ChildItem
, которая совпадает с aliasls
).
Тренировочное упражнение
- Linux/Mac: откройте терминал и введите
ls --help
. Пролистайте выдачу, найдите флаги, которые вам показались интересными (например,-l
,-a
,-h
).- Windows (CMD): введите
dir /?
и посмотрите, какие параметры поддерживает командаdir
. Попробуйте применить какой-нибудь из них (например,dir /p
, чтобы выдача шла постранично).- Windows (PowerShell): выполните
Get-Help Move-Item
. Посмотрите примеры снизу страницы, какие форматы записи команды существуют.
Внимательно следить за путями
Указание неправильного пути — одна из самых распространённых ошибок при работе с терминалом. Это может привести к тому, что вы удалите или измените не те файлы.
Команда pwd
(Linux/Mac/PowerShell) и echo %cd%
(CMD)
pwd
Комментарий:
- Выводит полный путь к текущей директории, где вы сейчас «находитесь».
echo %cd%
Комментарий:
- В CMD для вывода текущего пути.
- В PowerShell вместо этого можно писать
pwd
.
Пример ситуации
# Допустим, вы хотите удалить все файлы в папке temp
cd /home/user/temp
rm *
Комментарий:
- Прежде чем запустить
rm *
, стоит проверить, что вы действительно находитесь в/home/user/temp
(выполнивpwd
). - Если вы случайно находились в
/home/user/Documents
, то удалите совсем другие файлы!
Тренировочное упражнение
- Создайте новую папку (например,
test_paths
), перейдите в неё командойcd test_paths
.- Выполните
pwd
(Linux/Mac/PowerShell) илиecho %cd%
(CMD), чтобы убедиться, что вы «внутри»test_paths
.- Создайте в этой папке несколько тестовых файлов (например,
file1.txt
,file2.txt
).- Выполните удаление (например,
rm file1.txt
илиdel file1.txt
), убедившись, что стоите вtest_paths
. Для проверки перед удалением снова сделайтеpwd
илиecho %cd%
.
Используйте автодополнение (Tab)
В большинстве оболочек есть возможность автодополнения имён файлов и директорий по нажатию клавиши Tab. Это:
- Экономит время.
- Предотвращает опечатки, так как вам не нужно полностью набирать весь путь.
Пример автодополнения
cd Doc<нажимаем Tab>
Комментарий:
- Если в текущей папке есть
Documents
, то при нажатии Tab оболочка автоматически дополнит доDocuments
. - Если есть несколько вариантов, которые начинаются на
Doc
, shell допишет общую часть и может предложить список вариаций.
cd .\Doc<Tab>
Комментарий:
- Аналогично работает в PowerShell.
- Очень удобно при длинных названиях папок (например,
MyVeryLongDirectoryName
).
Тренировочное упражнение
- Перейдите в домашнюю директорию (Linux/Mac:
cd ~
, Windows:cd %USERPROFILE%
или простоcd
, если он настроен).- Начните вводить
cd Doc
и нажмите Tab. Проверьте, дополнилось ли доDocuments
(или какой-то другой папки наDoc
).- Если есть несколько папок на
Doc
, попробуйте нажимать Tab несколько раз, чтобы перебрать варианты.
Ведите список полезных команд
Когда вы начинаете работать с CLI, полезно записывать где-нибудь (в текстовом файле, бумажном блокноте или заметках на телефоне) те команды и флаги, которые часто применяете.
Пример «списка» в текстовом файле
# Предположим, у нас есть файл commands_cheatsheet.txt
cat commands_cheatsheet.txt
Внутри файла может быть, например:
1) ls -l -> показывает список файлов в длинном формате
2) rm -r -> рекурсивное удаление папки
3) mv file1 file2 -> переименовать или переместить файл1 в файл2
4) cd .. -> подняться на директорию выше
...
Зачем это нужно?
- Поиск информации в личном «шпаргалочном» файле иногда быстрее, чем искать в интернете, особенно если вы знаете, что точно записывали нужную команду.
- Со временем вы выучите 80% необходимых команд наизусть, но всегда останутся редкие случаи, когда запись под рукой сэкономит много времени.
Тренировочное упражнение
- Создайте файл
my_commands.txt
в домашней директории.- Запишите туда несколько команд (по одной команде на строчку) с кратким описанием (например,
ls -la — показывает все файлы, включая скрытые, в длинном формате
).- Откройте этот файл командой
cat my_commands.txt
илиtype my_commands.txt
(в CMD) и убедитесь, что всё корректно записано.- (Дополнительно) По желанию, распечатайте этот файл или сохраните его в удобном для вас виде (Google Docs, Evernote и т.п.).
- Справка (man, —help, help, /?, Get-Help) — это первое место, куда надо смотреть при возникновении вопросов о синтаксисе команды.
- Путь к файлу/папке — будьте осторожны и всегда проверяйте, где находитесь, чтобы случайно не изменить или удалить неправильные данные.
- Автодополнение (Tab) позволяет экономить время и защищает от опечаток.
- Личный список команд — ваш путеводитель в мире CLI, особенно в первые недели/месяцы изучения.
Когда овладеете этими «хитростями», процесс работы в командной строке станет легче и приятнее. Опытные пользователи CLI тоже постоянно обращаются к справке, используют автодополнение и ведут шпаргалки — это часть здорового подхода к работе с любым инструментом!
Ниже я добавил дополнительный раздел, посвящённый работе с текстовыми редакторами в среде Linux. Эта тема часто вызывает трудности у новичков, поэтому мы подробно разберём самые популярные консольные редакторы и завершим каждую часть практическим заданием.
Редактор nano: простой и дружелюбный
nano считается самым простым в освоении консольным редактором. Его плюсы:
- Понятный интерфейс, подсказки по ключевым комбинациям внизу экрана.
- Подсветка синтаксиса для многих языков.
- Малое количество режимов (в отличие от vim), поэтому легче адаптироваться новичкам.
Открытие и редактирование файла
nano myfile.txt
Комментарий:
- Если файла
myfile.txt
нет, nano создаст его при сохранении. - Внутри редактора вы набираете и редактируете текст, как в обычном блокноте.
Нижняя часть окна отображает комбинации клавиш. Например:
^X
означаетCtrl + X
(выход).^O
означаетCtrl + O
(сохранение под тем же именем).^W
означаетCtrl + W
(поиск текста в файле).
Сохранение и выход
После ввода нужного текста:
- Нажмите
Ctrl + O
(буква O, а не ноль). Появится строкаFile Name to Write: myfile.txt
. - Нажмите
Enter
, чтобы подтвердить сохранение. - Нажмите
Ctrl + X
, чтобы выйти из редактора.
Тренировочное упражнение (nano)
- Создайте в терминале новый файл через
nano hello.txt
.- Напишите несколько строк, например:
Привет, это мой первый файл в nano!
Я учусь редактировать текст прямо из терминала.
- Сохраните файл (Ctrl + O → Enter) и выйдите (Ctrl + X).
- Убедитесь, что файл создан, выполнив команду
cat hello.txt
(илиless hello.txt
, если у вас установлен less).
Редактор vim (vi): более «продвинутый» способ
vim (или его предшественник vi) — это очень мощный, но вначале немного «непривычный» редактор, так как использует разные режимы работы.
Основные режимы vim
- Normal mode (обычный режим): здесь вы перемещаетесь по файлу, удаляете и копируете строки и т.д.
- Insert mode (режим вставки): печатаете текст.
- Command mode (командный режим): вводите команды (например, сохранение или выход).
Открытие файла и переход в режим вставки
vim myscript.py
Комментарий:
- Если файла нет, vim создаст его при сохранении.
Внутри vim сразу же включён Normal mode. Чтобы начать ввод текста, нажмите i
(insert). Теперь вы в режиме вставки, и все ваши нажатия клавиш пойдут в текст.
Пример:
# Предположим, вы набираете код внутри vim после нажатия i
print("Hello from vim!")
Сохранение и выход
Чтобы сохранить и выйти, нужно вернуться в Normal mode:
- Нажмите
Esc
, чтобы выйти из режима вставки. - Введите двоеточие
:
(вы переключитесь в командный режим). - Наберите
wq
(write & quit) и нажмите Enter.
Результат: vim сохранит файл и выйдет.
Если вы случайно хотите выйти без сохранения, используйте :q!
.
Тренировочное упражнение (vim)
- Откройте любой файл (или создайте новый) через
vim new_file.txt
.- Нажмите
i
, напишите пару строк текста (например, «Ура, я в vim!»).- Нажмите
Esc
, затем введите:wq
, чтобы сохранить изменения и выйти.- Проверьте результат (например,
cat new_file.txt
).(Дополнительно) Попробуйте выйти без сохранения (
:q!
) — подойдёт, если вы вдруг ошиблись и не хотите сохранить текущий файл.
Кратко об Emacs (для самых любознательных)
Emacs — ещё один мощный редактор, известный своей расширяемостью (может почти всё, вплоть до встроенного почтового клиента). Но изучать его сразу не обязательно — у него весьма высокая планка входа.
Запуск Emacs в консоли
emacs mynotes.txt
Комментарий:
- Если Emacs установлен, откроется режим редактирования прямо в терминале.
- По умолчанию, Emacs работает в графическом режиме, но при желании можно запустить именно консольный вариант флагом
-nw
(no window).
Основные команды в Emacs (без углубления)
Ctrl + x, Ctrl + s
(обычно пишутC-x C-s
) — сохранить.Ctrl + x, Ctrl + c
(C-x C-c
) — выход.Ctrl + g
(C-g
) — отмена текущей команды.
Тренировочное упражнение (Emacs)
- Убедитесь, что Emacs установлен (если нет — возможно, нужно установить через пакетный менеджер, например,
sudo apt-get install emacs
).- Запустите
emacs -nw mynotes.txt
.- Напишите пару строчек, затем сохраните (
C-x C-s
).- Закройте Emacs (
C-x C-c
).- Просмотрите файл
mynotes.txt
в консоли любым удобным способом (cat
,nano
,vim
и т.д.) для проверки.
Какой редактор выбрать?
- nano: прекрасно подходит начинающим, так как интерфейс прост и нет «сложных» режимов.
- vim: очень мощный инструмент, популярный среди продвинутых пользователей. Однако требует привыкания к модальной системе (Normal / Insert / Command).
- emacs: полноценная среда для «всего». Подойдёт, если вы готовы к длительному погружению и любите расширять редактор под любые задачи.
Рекомендации по выбору
- Если вы только начинаете, лучше учиться на nano: он интуитивнее.
- Освоение vim имеет смысл, если вы часто работаете на серверах, где бывает установлен только
vi
илиvim
. - Emacs — на любителя. Некоторые «фанаты» Emacs используют его как универсальную среду разработки, но это отдельная, более глубокая история.
Тренировочное упражнение (сравнительное)
- Возьмите любой простой файл (например,
test.txt
) и последовательно откройте его вnano
,vim
и, при желании,emacs
.- В каждом редакторе сделайте что-нибудь простое: добавьте или удалите пару строк, сохраните и выйдите.
- Сравните, насколько удобно или непривычно пользоваться каждым из редакторов. Определитесь, какой из них вам кажется самым дружелюбным.
Работа с текстовыми файлами из консоли — важная часть освоения Linux. В реальных проектах (на серверах, в облачных средах) зачастую нет графического окружения, так что знать хотя бы один консольный редактор (обычно nano или vim) становится обязательным навыком.
- nano даёт минимальный порог входа: удобно и быстро можно написать/отредактировать конфигурацию, заметку или скрипт.
- vim — сложнее, но зато необычайно гибкий; в нём есть мощная система плагинов и много клавиатурных сокращений для ускорения работы.
- emacs — отдельная вселенная, которая может стать основной рабочей средой для тех, кому нравится расширять возможности редактора.
Попробуйте каждый из них, выполните упражнения и выберите, что подходит лично вам. Но даже если предпочтение отдано nano, советую хотя бы в минимальном объёме освоить vim, так как на многих серверах он предустановлен по умолчанию (и может оказаться вашим единственным вариантом для быстрого редактирования).
Главное — не бояться экспериментировать и учиться новому, ведь навыок работы с консольными редакторами открывает дополнительные возможности для автоматизации и удобного управления системой!
Ниже приводится заключительный урок, в котором мы подводим итоги о важности командной строки (CLI) и рассматриваем, где ещё навыки работы с терминалом могут пригодиться в будущем. Каждая часть завершается коротким тренировочным упражнением, чтобы вы могли закрепить полученные знания в более широком контексте.
Заключение
Эффективность работы разработчика
Работа в консоли даёт много преимуществ:
- Скорость. Часто в CLI можно выполнить действие одной-двумя командами вместо множества кликов в графическом интерфейсе.
- Автоматизация. Написав скрипт, вы сможете многократно запускать его, экономя время на рутинных задачах.
- Точность и контроль. Вы явно указываете, что нужно сделать, и получаете конкретный результат.
Пример сценария
Представьте, что у вас есть сотня фотографий в папке, и вам нужно переименовать их последовательно в img_001.jpg
, img_002.jpg
, и т.д. В графическом интерфейсе это займёт уйму времени, а в терминале всё делается одной командой (например, с использованием цикла Bash или утилиты rename
):
for i in *.jpg; do
# Считаем номер по порядку и формируем новое имя
n=$(printf "%03d" $(echo $((10#${n:-0}+1))))
mv "$i" "img_$n.jpg"
done
Комментарий:
- Этот скрипт перебирает все файлы с расширением
.jpg
и переименовывает их, добавляя префиксimg_
и номер, форматированный до трёх знаков (001, 002 и т.д.). - Может выглядеть сложновато, но если вы привыкнете к подобным конструкциям, сможете экономить массу времени в реальных проектах.
Тренировочное упражнение (эффективность)
- Создайте папку
images_test
, поместите туда несколько файлов (назовите их как угодно, напримерphoto1.jpg
,vacation2.jpg
,random.jpg
).- Напишите мини-скрипт (или командный цикл), который переименует эти файлы в формате
img_001.jpg, img_002.jpg
и т.д.- Используйте любую удобную для вас оболочку (Bash, PowerShell). Если вы в Windows, можно установить Git Bash или пользоваться WSL.
(Подсказка: в PowerShell тоже можно использовать цикл
ForEach-Object
илиfor
, чтобы перебрать файлы и переименовать их.)
Где ещё полезен CLI?
CLI нужен не только для локальной разработки или навигации по папкам. Список областей, где это крайне полезно, очень широк:
- Настройка серверов:
- Большинство удалённых серверов работают на Linux (Ubuntu, CentOS). Чтобы что-то там настроить, вы будете подключаться по SSH и работать «только через консоль».
- Без знания командной строки придётся сложно.
- Автоматизация задач скриптами:
- Bash-скрипты (Linux/Mac) или PowerShell-скрипты (Windows) позволяют выполнять рутинные операции автоматически (например, копировать резервные копии, генерировать отчёты, мониторить логи).
- Использование Git:
- Git (система контроля версий) можно использовать с графическим интерфейсом, но большинство команд (git clone, git commit, git push) часто удобнее и быстрее делать из консоли.
- Продвинутые возможности Git (rebase, cherry-pick, merge с разными флагами) часто проще освоить именно через CLI, читая документацию.
- DevOps / CI/CD:
- Современные процессы выстраиваются так, что при каждом обновлении кода автоматически запускаются тесты, сборки, деплой. Всё это настраивается в консолях или в виде яml/json-скриптов (например, в GitLab CI, GitHub Actions).
- Умение быстро исправить конфиг в терминале — ключ к оперативному решению проблем.
Пример работы с сервером
# Допустим, вы подключаетесь к удалённому серверу по SSH:
ssh myuser@123.45.67.89
# После ввода пароля или использования ключей,
# вы оказываетесь внутри консоли удалённого сервера.
# Теперь можно смотреть логи, обновлять пакеты, перезапускать сервисы и т.д.
sudo systemctl restart nginx
Комментарий:
- Подключившись к серверу, у вас нет графических «окошек», зато есть вся мощь CLI.
- Если нужно, например, посмотреть, что происходит в журнале веб-сервера:
cat /var/log/nginx/error.log
илиtail -f /var/log/nginx/error.log
, чтобы видеть обновления журнала в реальном времени.
Пример автоматизации (Bash)
#!/bin/bash
# backup.sh
# Небольшой скрипт, который делает архив папки и складывает в папку backup
SOURCE_DIR="/home/user/my_project"
DEST_DIR="/home/user/backup"
DATE=$(date +%Y-%m-%d_%H-%M-%S)
tar -czf "$DEST_DIR/my_project_$DATE.tar.gz" "$SOURCE_DIR"
echo "Backup completed at $DATE"
Комментарий:
- Запустив этот скрипт командой
./backup.sh
, вы упакуете текущую версию проекта в архив с меткой времени. - Можно поставить этот скрипт на cron (планировщик задач в Linux) и сделать бэкапы автоматическими, например, раз в день.
Тренировочное упражнение (где CLI полезен)
- Серверная практика (опционально):
- Если у вас есть доступ к какому-либо удалённому серверу (или вы установили локальную виртуальную машину), подключитесь к ней по SSH и выполните несколько базовых команд (создайте папку, скопируйте файлы, запустите обновление пакетов).
- Git:
- Создайте локальный репозиторий, добавьте файл, сделайте коммит и запушьте на GitHub — всё это через командную строку (
git init
,git add
,git commit -m
,git remote add origin
,git push
).- Простая автоматизация:
- Напишите маленький скрипт (Bash или PowerShell), который выводит «Hello, world!» и текущее время, затем сохраняйте это в текстовый файл. Запустите скрипт. Проверьте результат.
- CLI открывает огромные возможности: от быстрой навигации по файловой системе и пакетного переименования до настроек серверов и автоматизации процессов.
- Серверная разработка, DevOps, облачные технологии, контроль версий (Git) — всё это на 99% основано на работе через командную строку.
- Эффективность программиста или админа напрямую связана с умением разрулить задачу командой (или несколькими командами) в терминале.
Овладение командной строкой — это не просто «ещё один навык», а «пропуск в мир» системного администрирования, автоматизации и более глубокого понимания, как всё работает «под капотом».
Поздравляем вас с тем, что вы уже освоили большой объём базовых и не очень базовых команд! Продолжайте экспериментировать, читать встроенные мануалы (man, help), писать собственные скрипты и подключаться к новым технологиям — и тогда CLI станет вашим мощным союзником в разработке и администрировании.
Ниже предлагается проектное задание, которое поможет вам отработать все ключевые навыки, полученные в ходе урока по работе с командной строкой (CLI). Задание задумано так, чтобы охватить максимум из пройденных тем: навигацию по директориям, создание и удаление файлов/папок, копирование и перемещение, архивирование, работу со справочными командами, а также базовую автоматизацию и редактирование файлов в терминале. Постарайтесь выполнять его пошагово, проверяя себя после каждого этапа.
Проектное задание: «Создание структуры проекта и автоматизация рутин»
Краткое описание:
Мы создадим «учебный проект» для управления различными файлами, научимся быстро редактировать их, сделаем архивацию, а также познакомимся с простым скриптом для резервного копирования.
Шаг 1: Создание основной директории и базовых подпапок
- Создайте в своей домашней папке (или в любом удобном месте) новую директорию с названием
cli_project
.- В Linux/Mac:
mkdir cli_project
- В Windows (CMD/PowerShell):
mkdir cli_project
- В Linux/Mac:
- Перейдите в неё:
cd cli_project
- Внутри создайте три подпапки:
docs
,scripts
,archive
.- Например (Linux/Mac):
mkdir docs scripts archive
- Или (Windows, CMD/PowerShell):
mkdir docs mkdir scripts mkdir archive
- Например (Linux/Mac):
Результат: у вас должна получиться структура:
cli_project/
├─ docs/
├─ scripts/
└─ archive/
Проверка: выполните ls
(Linux/Mac, PowerShell) или dir
(CMD) в папке cli_project
, убедитесь, что появились три директории.
Шаг 2: Создание и редактирование текстовых файлов
- В папке
docs
создайте два текстовых файла:commands.txt
иnotes.txt
.- В Linux/Mac:
cd docs touch commands.txt notes.txt
- В Windows (CMD):
cd docs type nul > commands.txt type nul > notes.txt
- (PowerShell):
New-Item commands.txt New-Item notes.txt
- В Linux/Mac:
- Откройте
commands.txt
в любом консольном редакторе, который удобен вам (nano, vim, emacs или PowerShell ISE/Visual Studio Code, если хотите — но лучше потренироваться именно в консольном редакторе).- Добавьте туда список нескольких команд, которые вы выучили (например,
ls -l
,cd ..
,rm -r
и т. д.) с краткими пояснениями, для чего они нужны.
- Добавьте туда список нескольких команд, которые вы выучили (например,
- Откройте
notes.txt
в том же или другом редакторе, напишите заметку, чему вы научились в CLI. - Посмотрите содержимое новых файлов в терминале:
- Linux/Mac/PowerShell:
cat commands.txt
,cat notes.txt
- CMD:
type commands.txt
,type notes.txt
- Linux/Mac/PowerShell:
Проверка: убедитесь, что строки, которые вы добавили, действительно сохранились.
Шаг 3: Копирование и перемещение файлов
- Скопируйте файл
commands.txt
из папкиdocs
в папкуarchive
с новым именемcommands_backup.txt
.- Пример (Linux/Mac):
cp commands.txt ../archive/commands_backup.txt
- Windows (CMD/PowerShell):
copy commands.txt ..\archive\commands_backup.txt
- Пример (Linux/Mac):
- Переместите файл
notes.txt
из папкиdocs
в папкуscripts
(пусть имя останется прежним).- Linux/Mac:
mv notes.txt ../scripts/
- Windows (CMD/PowerShell):
move notes.txt ..\scripts\
- Linux/Mac:
- Зайдите в папку
archive
и проверьте, что там теперь лежитcommands_backup.txt
. Зайдите вscripts
и проверьтеnotes.txt
.
Шаг 4: Удаление ненужных файлов
- Вернитесь в папку
docs
(если вы не там):cd ../docs
- Создайте лишний тестовый файл, например
temp.txt
, и удалите его.- В Linux/Mac:
touch temp.txt rm temp.txt
- В Windows (CMD):
type nul > temp.txt del temp.txt
- В Linux/Mac:
- Будьте аккуратны и всегда проверяйте командой
pwd
(илиecho %cd%
в CMD) где вы находитесь, прежде чем удалять файлы.
Шаг 5: Архивация
- Перейдите в корневую папку проекта
cli_project
. - Создайте архив из папки
scripts
:- Linux/Mac (tar):
tar -czf scripts_archive.tar.gz scripts
Теперь у вас должен появиться файл
scripts_archive.tar.gz
. - Windows (PowerShell):
Compress-Archive -Path .\scripts\* -DestinationPath .\scripts_archive.zip
- Linux/Mac (tar):
- Удалите папку
scripts
(как будто «освободили» место).- Linux/Mac:
rm -r scripts
- Windows (CMD):
rmdir scripts /s
- Windows (PowerShell):
Remove-Item scripts -Recurse
- Linux/Mac:
- Извлеките файлы из архива (проверьте, что всё вернулось):
- Linux/Mac:
tar -xzf scripts_archive.tar.gz
- Windows (PowerShell):
Expand-Archive -Path .\scripts_archive.zip -DestinationPath .\scripts_restored
- При распаковке в Windows может создаться папка
scripts_restored
. Вы можете переименовать её обратно вscripts
при желании.
- Linux/Mac:
Шаг 6: Автоматизация (небольшой скрипт)
- Создайте в папке
scripts
скрипт (назовём егоbackup.sh
для Linux/Mac илиbackup.ps1
для PowerShell) для резервного копирования папкиdocs
вarchive
. Пример для Bash:
#!/usr/bin/env bash
# backup.sh - создает архив папки docs с таймстампом
DATE=$(date +%Y-%m-%d_%H-%M-%S)
tar -czf "../archive/docs_backup_$DATE.tar.gz" ../docs
echo "Backup completed: docs_backup_$DATE.tar.gz"
Комментарий:
- Переменная
$DATE
берёт текущую дату/время, чтобы каждый архив имел уникальное имя. - Команда
tar
создаёт gz-архив из содержимого папкиdocs
и кладёт его вarchive
.
- Сделайте скрипт исполняемым и запустите (Linux/Mac):
cd scripts
chmod +x backup.sh
./backup.sh
- В PowerShell будет похожая идея:
# backup.ps1
# Создаёт zip-архив папки docs с таймстампом
$DATE = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
Compress-Archive -Path ../docs/* -DestinationPath ("../archive/docs_backup_$DATE.zip")
Write-Host "Backup completed: docs_backup_$DATE.zip"
Запуск:
.\backup.ps1
- Проверьте в папке
archive
, что создался архив с датой/временем.
Шаг 7: Используйте справку (обязательно!)
Во время выполнения задания:
- Обращайтесь к
man <команда>
или--help
в Linux/Mac, - К
help
,command /?
илиGet-Help
в Windows, - При возникновении затруднений с синтаксисом флагов, ключей и т. п.
(Это не столько шаг, сколько напоминание: регулярно проверяйте документацию.)
Шаг 8: Подведение итогов
- Просмотрите дерево вашего проекта
cli_project
:tree cli_project # Linux/Mac (если установлена команда tree)
Или с помощью
ls -R cli_project
(рекурсивный просмотр). В Windows можно использоватьdir /s cli_project
. - Убедитесь, что все операции — создание, удаление, копирование, перемещение, архивирование, а также запуск скриптов — сработали так, как вы планировали.
- Оцените, какие действия вы делали чаще всего, какие команды были самыми полезными. Подумайте, есть ли смысл включить их в свой личный «список полезных команд» или даже написать небольшой шорткат/alias.
Результат проекта
- У вас появился опыт создания и структурирования директории под проект.
- Вы освоили базовые команды CLI в реальном контексте: от навигации и редактирования файлов до архивирования и простых скриптов.
- Вы увидели, как важна аккуратность в указании путей и команд (особенно опасных, вроде удаления).
- У вас есть готовый «скелет» для дальнейших экспериментов — при желании можно расширять проект, добавлять новые скрипты автоматизации, изучать более сложные инструменты.
Дополнительные идеи
- Добавьте Git: Инициализируйте локальный репозиторий в
cli_project
(git init
), закоммитьте всё, затем сделайте новые коммиты после каждого изменения. - Установите cron (Linux/Mac) или планировщик задач в Windows, чтобы запускать
backup.sh
(илиbackup.ps1
) автоматически по расписанию. - Подготовьте Dockerfile (если интересно): Создайте контейнер, в котором будет повторяться ваша структура и команды, чтобы всё можно было быстро деплоить на сервер.
Поздравляем с завершением проектного задания! Если вы выполнили все шаги и скрипты работают, значит, вы не только усвоили весь необходимый минимум команд CLI, но и увидели, как они применяются в небольшом, но реальном проектном сценарии. Теперь вы готовы к более продвинутым вещам: настройке серверов, работе с системами контроля версий и профессиональным инструментам автоматизации.
Удачи и успехов в дальнейшем погружении в мир командной строки!
Командная строка (или CMD) в Windows — это мощный инструмент для управления операционной системой. Она позволяет выполнять команды для настройки системы, управления файлами и сетями, а также диагностики и устранения неполадок. В этой статье мы представим вам шпаргалку по основным командам CMD, которые помогут вам эффективно использовать командную строку в Windows 10 и других версиях.
Ознакомиться с тарифами VPS хостинга можно тут
Что такое CMD?
CMD (Command Prompt) — это интерфейс командной строки, который позволяет пользователям вводить текстовые команды для выполнения различных задач. Он предоставляет доступ к множеству функций, которые не всегда доступны через графический интерфейс.
Как открыть CMD
Существует несколько способов открыть командную строку:
- Нажмите
Win + R
, введитеcmd
и нажмитеEnter
. - В поисковой строке Windows введите
cmd
и выберите «Командная строка». - Для открытия с правами администратора щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».
Основные команды CMD
1. Команды управления файлами и каталогами
dir - Выводит список файлов и папок в текущем каталоге.
dir
cd - изменяет текущую директорию. Чтобы перейти в родительскую директорию, используйте cd ...
cd \путь\к\папке
mkdir - создает новую директорию.
mkdir имя_папки
rmdir - Удаляет пустую директорию. Для удаления непустой директории используйте параметр /s.
rmdir имя_папки
del - Удаляет один или несколько файлов.
del имя_файла
copy - Копирует один или несколько файлов в указанное место.
copy источник назначение
move - перемещает один или несколько файлов в указанное место.
move источник назначение
ren - Переименовывает файл или папку.
ren старое_имя новое_имя
2. Команды для управления системой
ipconfig - отображает настройки IP для всех сетевых адаптеров.
ipconfig
ping - проверяет доступность другого устройства в сети.
ping адрес_или_домен
tracert - отслеживает маршрут до удаленного устройства.
tracert адрес_или_домен
tasklist - отображает список всех запущенных процессов.
tasklist
taskkill - завершает процесс по имени или идентификатору.
taskkill /IM имя_процесса /F
shutdown - выключает или перезагружает компьютер.
shutdown /s /t 0 # Выключение
shutdown /r /t 0 # Перезагрузка
3. Команды для работы с дисками
diskpart - Запускает утилиту для управления дисками, разделами и томами.
diskpart
format - Форматирует указанный диск.
format X: /FS:NTFS
chkdsk - Проверяет диск на наличие ошибок.
chkdsk X:
defrag - Дефрагментирует указанный диск.
defrag X:
4. Системные утилиты и диагностика
sfc - Проверяет и восстанавливает системные файлы.
sfc /scannow
getmac - Отображает адреса MAC всех сетевых адаптеров.
getmac
systeminfo - Отображает информацию о системе.
systeminfo
5. Работа с сетями
netstat - отображает активные соединения и порты.
netstat -a
nslookup - позволяет получать информацию о DNS-записях.
nslookup адрес_или_домен
route - отображает и изменяет таблицы маршрутизации.
route print
6. Учетные записи и безопасность
net user - управляет учетными записями пользователей.
net user имя_пользователя /add # Создание нового пользователя
net user имя_пользователя /delete # Удаление пользователя
net localgroup - управляет локальными группами.
net localgroup имя_группы /add # Добавление группы
7. Дополнительные команды
cls - очищает экран командной строки.
cls
echo - выводит текст на экран или управляет отображением команд.
echo Привет, мир!
exit - закрывает командную строку.
exit
help - отображает список доступных команд и краткое описание.
help
Полезные советы по работе с CMD
Использование клавиш быстрого доступа
- Tab: Автозаполнение имен файлов и папок.
- Arrow Up/Down: Переключение между ранее введенными командами.
- Ctrl + C: Прерывание текущей команды.
Запуск команд от имени администратора
Для выполнения некоторых команд могут потребоваться права администратора. Чтобы запустить CMD от имени администратора:
- Найдите «cmd» в меню «Пуск».
- Щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».
Сохранение вывода команд
Вы можете перенаправить вывод команды в файл:
dir > список_файлов.txt
Создание батников
Вы можете создать .bat-файл для автоматизации выполнения команд:
- Откройте Блокнот.
- Введите команды, которые хотите выполнить.
- Сохраните файл с расширением .bat.
Пример создания .bat-файла
@echo off
echo Список файлов в директории:
dir
pause
Заключение
Командная строка в Windows — это мощный инструмент, который позволяет выполнять множество операций без необходимости использования графического интерфейса. Знание основных команд CMD поможет вам более эффективно управлять вашей системой и решать задачи быстрее.
Используйте эту шпаргалку по командам CMD как справочник и изучайте новые команды, чтобы расширять свои навыки работы с Windows. Практика и эксперименты с командами помогут вам стать более уверенным пользователем командной строки.