Windows cmd базовые команды

В этой статье мы покажем вам 40 операций, которые можно использовать в командной строке Windows. Они помогут вам стать более уверенным пользователем.

Операции в командной строке Windows

powershell start cmd -v runAs – запускает командную строку от имени администратора. Ввод этой команды откроет новое окно командной строки с правами администратора.

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

chdir или cd – меняет текущий рабочий каталог на указанный каталог.

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

set – показывает переменные среды вашего компьютера.

prompt – меняет текст, отображаемый перед вводом команд. По умолчанию командная строка показывает путь к диску C. Вы можете изменить этот текст с помощью команды prompt с синтаксисом: prompt имя_подсказки $G.
Примечание: если не добавить $G к команде, символ «>» не появится перед текстом.

clip – копирует элементы в буфер обмена. Например, dir | clip копирует содержимое текущего каталога в буфер обмена. Можно ввести clip /? и нажать ENTER для получения инструкций.

assoc – отображает программы и связанные с ними расширения файлов.

title – меняет заголовок окна командной строки с помощью команды: title имя_заголовка

fc – сравнивает два файла. Эта команда полезна для быстрого выявления различий между двумя файлами. Пример: fc «путь_к_файлу1» «путь_к_файлу2».

cipher – очищает диск и шифрует данные. Удаленные файлы остаются доступными. 

netstat -an – показывает открытые порты, их IP-адреса и состояния.

ping – вычисляет IP-адреса сайта и время передачи данных.

color – меняет цвет текста командной строки.

Ввод команды color 2 покажет доступные цвета.

for /f «skip=9 tokens=1,2 delims=:» %i in (‘netsh wlan show profiles’) do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear – показывает все пароли Wi-Fi.

ipconfig – выдает информацию об IP-адресах и сетевых подключениях. Команда имеет расширения, например: ipconfig /release, ipconfig /renew, ipconfig /flushdns для устранения проблем с интернет-соединением.

sfc – проверяет системные файлы. Команда сканирует и исправляет поврежденные файлы. Используйте расширение /scannow для запуска проверки.

powercfg – меняет настройки питания. Команда имеет несколько расширений. Вы можете ввести powercfg help, чтобы показать эти расширения.

Например, powercfg /energy создает отчет о состоянии батареи в виде HTML-файла, который можно найти по пути: C:\Windows\system32\energy-report.html.

dir – показывает содержимого каталога.

del – удаляет файлы.

attrib +h +s +r имя_папки – скрывает папки. Для отображения папки используйте команду: attrib -h -s -r имя_папки.

start адрес_сайта – открывает сайт из командной строки,

tree – показывает структуру текущего каталога или указанного диска.

ver – отображает версиию ОС.

tasklist – показывает открытые программы.

taskkill – завершает выполнение задачи. Для завершения задачи выполните команду: taskkill /IM «task.exe» /F. Пример: taskkill /IM «chrome.exe» /F.

date – показывает и меняет дату.

time – показывает и меняет время.

vol – выдает серийный номер и информацию о метке текущего накопителя.

dism – запускает средство управления службой образов развертывания.

CTRL + C – прерывает выполнение команды.

-help – выдает справку по командам.

echo – показывает пользовательские сообщения или сообщения из сценария, файла. 

Пример создания файла: echo содержимое_файла > имя_файла.расширение.

mkdir – создает папку.

rmdir – удаляет папку. Помните, папка должна быть пустой для успешного удаления.

more – показывает дополнительную информацию или содержимое файла.

move – перемещает файл или папку в указанный каталог.

ren – переименовывает файл. Пример: ren имя_файла.расширение новое_имя.расширение.

cls – очищает командную строку.

exit – закрывает командную строку.

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

В итоге

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

Командная строка Windows (CMD) — мощный инструмент, который предоставляет доступ к широкому набору команд для выполнения различных задач, от работы с файлами до настройки сети и автоматизации процессов.  В статье рассмотрим 100 популярных команд CMD, которые пригодятся как новичкам, так и опытным пользователям. Для удобства они разделены по категориям. 

Шпаргалка по CMD командам в Windows | 100 популярных команд

Разделы

  • Общие команды 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 — создает отчет об использовании энергии системой.

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

Ознакомиться с тарифами VPS хостинга можно тут

Что такое CMD?

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

Как открыть CMD

Существует несколько способов открыть командную строку:

  1. Нажмите Win + R, введите cmd и нажмите Enter.
  2. В поисковой строке Windows введите cmd и выберите «Командная строка».
  3. Для открытия с правами администратора щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».

Основные команды 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 от имени администратора:

  1. Найдите «cmd» в меню «Пуск».
  2. Щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».

Сохранение вывода команд

Вы можете перенаправить вывод команды в файл:

dir > список_файлов.txt

Создание батников

Вы можете создать .bat-файл для автоматизации выполнения команд:

  1. Откройте Блокнот.
  2. Введите команды, которые хотите выполнить.
  3. Сохраните файл с расширением .bat.

Пример создания .bat-файла

@echo off
echo Список файлов в директории:
dir
pause

Заключение

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

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

CLI (Command Line Interface) — это способ взаимодействия с компьютером через текстовые команды. Вместо того, чтобы кликать по кнопкам, мы вводим команды через терминал (консоль), и система тут же выполняет наши инструкции.

  1. Отличие от графического интерфейса (GUI)
    • В графическом интерфейсе (GUI) мы видим удобные окошки и кнопки, нажимаем мышкой или тачпадом.
    • В CLI мы набираем конкретные команды, чаще всего на английском языке, и сразу получаем текстовый результат или вывод.
    • CLI считается более гибким и мощным, поскольку позволяет точно управлять системой — одной командой можно сделать то, что в GUI требовало бы целую серию кликов.
  2. Почему программисту важно уметь работать с консолью
    • Скорость. Командой «на лету» можно скопировать десятки файлов, переименовать их, запустить скрипты — всё это занимает секунды.
    • Точность и гибкость. У вас полный контроль над системой. Особенно это важно, когда работаете с сервером или автоматизируете рутинные задачи.
    • Универсальность. Терминалы бывают везде: на сервере, в облачном окружении, на локальном компьютере. Умение работать в них облегчает жизнь в самых разных проектах.

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


Главные понятия

Терминал

Работа с командной строкой начинается с терминала.

Открыть терминал

  1. Linux/Mac: Обычно ищем приложение “Terminal” (или «Терминал») в списке программ. Часто можно запустить его по сочетанию клавиш (например, в Ubuntu — Ctrl+Alt+T).
  2. 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.
  • Относительный путь — указывает путь относительно текущей директории.
    • Например, если мы уже находимся в /home/user, то попасть в Projects можно командой cd Projects.
    • Или cd ./Projects (точка . указывает на текущую директорию).

(Мини-пример)
Вы находитесь в папке /home/user. Абсолютный путь к файлу script.py в папке Projects будет /home/user/Projects/script.py. Но если вы уже «внутри» /home/user, то можете набрать cd Projects (относительный путь), а затем python script.py.


Безопасность и осторожность

Работа с терминалом даёт огромные возможности, но с этим приходит и ответственность:

  1. Команды, которые могут навредить системе
    • Например, команда удаления файлов (в Linux это rm, а в Windows — del или Remove-Item) не спросит «А вы точно уверены?», если вы явно не включите такой запрос. А если вы используете параметры вроде -r в Linux (rm -r folder), то можете случайно «снести» целые папки вместе с содержимым!
    • Важно всегда понимать, где вы находитесь и что удаляете. Ошибка в одной букве пути может привести к катастрофе, если затронуть системные файлы.
  2. Как проверить свой текущий путь
    • В Linux/Mac достаточно ввести команду pwd (print working directory).
    • В Windows можно ввести echo %cd% (в CMD) или pwd (в PowerShell).
    • Эта команда покажет, в какой директории вы сейчас находитесь.
    • Привычка перед опасными командами (удаление, перемещение) проверять текущий путь экономит много нервов.

(Мини-пример)
Вы хотите удалить временные файлы из папки /home/user/temp. Убедитесь, что вы действительно в папке /home/user/temp, введя pwd. Если там всё верно, то используйте rm * (в Linux) для удаления файлов. Если окажется, что вы внезапно в /home/user/documents, сработает уже другой сценарий — а это не то, что вы хотели!


Небольшое резюме

  • CLI — это про гибкость и эффективность.
  • Навык навигации по папкам и правильное понимание путей — фундамент для работы в консоли.
  • Внимательность: проверяем где мы находимся, что удаляем, и как прописываем команды.

На этом заканчиваем вводную часть. В следующем блоке мы подробнее разберём базовые команды, которые применяются в Linux, Windows и Mac для работы с файлами, папками и прочими элементами системы.

Если остались вопросы, не стесняйтесь задавать! Всякий раз, когда чувствуете, что что-то непонятно, лучше сразу разъяснить и попрактиковаться — так в голове останется меньше «белых пятен», а уверенность в своих силах будет расти.

Как тренироваться в разных операционных системах

Иногда бывает так, что вы хотите учиться работать в Linux, но ваш компьютер — на Windows. Или, наоборот, вы пользуетесь Linux и хотите изучить особенности Windows-команд. К счастью, есть несколько способов «потренироваться» без необходимости менять операционную систему.

Запуск Linux в Windows

  1. WSL (Windows Subsystem for Linux)
    • Начиная с Windows 10, доступна технология WSL. Она позволяет установить дистрибутив Linux (Ubuntu, Debian и другие) прямо внутри Windows и запускать все основные команды в терминале.
    • Установка: откройте Microsoft Store, найдите «Ubuntu» (или другой дистрибутив) и установите.
    • После установки в меню «Пуск» появится ярлык (например, «Ubuntu»). Запустив его, вы получите полноценный терминал Linux, не покидая Windows.
  2. Виртуальная машина
    • Можно установить популярные программы виртуализации (VirtualBox, VMware Player).
    • Скачайте ISO-образ Linux (например, Ubuntu), создайте виртуальную машину и установите систему.
    • В итоге у вас будет «второй компьютер в окошке», где можно свободно экспериментировать с командами, не нарушая работу основной системы Windows.
  3. Live USB
    • Если хотите «потрогать» Linux без установки на жёсткий диск, можно создать загрузочную USB-флешку с Linux и загрузиться с неё. При выборе режима «Live» система запустится сразу с флешки.
    • Так вы сможете практиковать базовые команды, но при перезагрузке изменения чаще всего не сохраняются (если не настраивать специальный режим постоянного хранения данных).

Запуск Windows в Linux

  1. Виртуальная машина
    • Аналогично, вы можете поставить VirtualBox или VMware на Linux и создать виртуальную машину с Windows (для этого потребуется лицензионный образ Windows).
    • Запустив виртуальную машину, вы получите доступ к стандартным Windows-командам через CMD или PowerShell.
  2. 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 также воспринимают прямой слеш в некоторых случаях.

Практическое упражнение по навигации

  1. Откройте терминал/командную строку.
  2. Перейдите в папку загрузок (Downloads) любым из способов:
  3. Полный путь (например, cd /home/anna/Downloads на Linux/Mac или cd C:\Users\Anna\Downloads на Windows).
  4. Относительный путь (если вы уже в домашней папке).
  5. Выведите на экран список файлов в ней с помощью 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 указывает на удаление всего, что находится внутри папки.

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

  1. Создать новую папку
    1. Назовите её, например, my_folder.
    2. Убедитесь, что вы в нужной директории (выполните pwd или аналог).
  2. Зайти в неё
    1. С помощью cd my_folder.
  3. Создать пустой файл
    1. touch my_file.txt (Linux/Mac) или New-Item my_file.txt (PowerShell) или type nul > my_file.txt (CMD).
  4. Удалить этот файл
    1. rm my_file.txt (Linux/Mac) или del my_file.txt (Windows).
  5. Выйти на директорию выше
    1. В 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, файл переместится в неё.

Практическое упражнение по копированию и перемещению

  1. Создать файл notes.txt
    1. Используйте любую команду на выбор (touch, New-Item, type nul >, и т.д.).
  2. Скопировать его в ту же директорию под именем notes_copy.txt
    1. Linux/Mac: cp notes.txt notes_copy.txt
    2. Windows: copy notes.txt notes_copy.txt
  3. Создать подпапку temp
    1. mkdir temp (любая ОС).
  4. Переместить в неё копию файла
    1. Linux/Mac: mv notes_copy.txt temp/
    2. 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, чтобы построчно пролистывать содержимое.

Тренировочное упражнение

  1. Создайте небольшой текстовый файл (например, notes.txt) с помощью любого текстового редактора или консольной команды (echo "Hello CLI" > notes.txt в Linux/PowerShell или echo Hello CLI > notes.txt в CMD).
  2. Попробуйте вывести его содержимое:
    1. Linux/Mac: cat notes.txt
    2. PowerShell: cat notes.txt (или Get-Content notes.txt)
    3. CMD: type notes.txt
  3. (Дополнительно) Измените файл (добавьте несколько строк текста) и снова выведите содержимое, чтобы убедиться, что изменения отображаются сразу.

Создание архивов (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 есть несколько способов:

  1. PowerShell:
    Compress-Archive -Path .\folder_name\* -DestinationPath .\archive.zip
    

    Комментарий:

    • Параметр -Path указывает, что архивировать,
    • -DestinationPath — куда сохранять.
    • Обратите внимание, что создаётся архив в формате .zip.
  2. Сторонние программы: WinRAR, 7-Zip и т.д.
    • Чаще всего в Windows используют программы с графическим интерфейсом, но при желании можно найти и консольные утилиты (например, 7z.exe).

Тренировочное упражнение

  1. Создайте папку test_archive, поместите внутрь любой файл (например, notes.txt).
  2. Linux/Mac:
    1. Архивируйте папку командой tar -czf test_archive.tar.gz test_archive.
    2. Затем удалите папку test_archive и разархивируйте test_archive.tar.gz, чтобы убедиться, что всё успешно восстановилось.
  3. Windows (PowerShell):
    1. Выполните Compress-Archive -Path .\test_archive\* -DestinationPath .\test_archive.zip.
    2. Проверьте, что появился файл test_archive.zip.
    3. Для распаковки используйте 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.

Тренировочное упражнение

  1. В Linux/Mac попробуйте команду ls --help, ознакомьтесь с параметрами. Затем откройте «мануал» — man ls.
  2. В Windows CMD наберите help и посмотрите, какие есть стандартные команды. Выберите одну (например, dir) и введите dir /?, чтобы увидеть все возможные параметры.
  3. В PowerShell сделайте Get-Help Move-Item, чтобы узнать, как перемещать файлы из консоли PowerShell.

(Дополнительно) Поэкспериментируйте с man tar или tar --help в Linux/Mac, и с Get-Help Compress-Archive в PowerShell, чтобы глубже понять, какие параметры поддерживаются при архивировании.


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

  1. Просмотр содержимого файла: cat (Linux/Mac/PowerShell) и type (Windows CMD).
  2. Архивирование: tar в Linux/Mac, Compress-Archive в Windows PowerShell.
  3. Справка: 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 принят обратный слеш \.

Тренировочное упражнение

  1. Если вы работаете в Linux/Mac, попробуйте прописать несколько абсолютных путей, указывая на разные папки (например, /home/<ваше_имя>/Documents, /home/<ваше_имя>/Downloads). Используйте команду ls или cd для проверки, что путь указан верно.
  2. Если вы в Windows, потренируйтесь с абсолютными путями к C:\Users\<Ваше_имя>\Documents и относительными путями (например, cd .., чтобы подняться на один уровень выше).
  3. (Дополнительно) Создайте тестовую папку внутри своей домашней директории (имя, например, 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 (с учётом, что вы в нужной директории).

Тренировочное упражнение

  1. Linux/Mac:
    1. Откройте терминал. Выполните команду echo $SHELL — она покажет, какой shell у вас используется по умолчанию (например, /bin/bash или /bin/zsh).
    2. Создайте простой скрипт test.sh (внутри напишите echo "Test Bash script"), сделайте его исполняемым (chmod +x test.sh) и запустите (./test.sh).
  2. Windows:
    1. Откройте CMD (Command Prompt), выведите список файлов в своей домашней директории командой dir.
    2. Откройте PowerShell, выполните в ней ту же операцию, но командой ls или Get-ChildItem. Сравните вывод.
  3. (Дополнительно) Создайте простой PowerShell-скрипт hello.ps1, который выводит фразу «Hello PowerShell». Запустите его в PowerShell.
  4. (Универсально) Если хотите «поближе» познакомиться с другой оболочкой, выполните инструкции из предыдущих уроков (например, воспользуйтесь 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, которая совпадает с alias ls).

Тренировочное упражнение

  1. Linux/Mac: откройте терминал и введите ls --help. Пролистайте выдачу, найдите флаги, которые вам показались интересными (например, -l, -a, -h).
  2. Windows (CMD): введите dir /? и посмотрите, какие параметры поддерживает команда dir. Попробуйте применить какой-нибудь из них (например, dir /p, чтобы выдача шла постранично).
  3. 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, то удалите совсем другие файлы!

Тренировочное упражнение

  1. Создайте новую папку (например, test_paths), перейдите в неё командой cd test_paths.
  2. Выполните pwd (Linux/Mac/PowerShell) или echo %cd% (CMD), чтобы убедиться, что вы «внутри» test_paths.
  3. Создайте в этой папке несколько тестовых файлов (например, file1.txt, file2.txt).
  4. Выполните удаление (например, 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).

Тренировочное упражнение

  1. Перейдите в домашнюю директорию (Linux/Mac: cd ~, Windows: cd %USERPROFILE% или просто cd, если он настроен).
  2. Начните вводить cd Doc и нажмите Tab. Проверьте, дополнилось ли до Documents (или какой-то другой папки на Doc).
  3. Если есть несколько папок на 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% необходимых команд наизусть, но всегда останутся редкие случаи, когда запись под рукой сэкономит много времени.

Тренировочное упражнение

  1. Создайте файл my_commands.txt в домашней директории.
  2. Запишите туда несколько команд (по одной команде на строчку) с кратким описанием (например, ls -la — показывает все файлы, включая скрытые, в длинном формате).
  3. Откройте этот файл командой cat my_commands.txt или type my_commands.txt (в CMD) и убедитесь, что всё корректно записано.
  4. (Дополнительно) По желанию, распечатайте этот файл или сохраните его в удобном для вас виде (Google Docs, Evernote и т.п.).

  1. Справка (man, —help, help, /?, Get-Help) — это первое место, куда надо смотреть при возникновении вопросов о синтаксисе команды.
  2. Путь к файлу/папке — будьте осторожны и всегда проверяйте, где находитесь, чтобы случайно не изменить или удалить неправильные данные.
  3. Автодополнение (Tab) позволяет экономить время и защищает от опечаток.
  4. Личный список команд — ваш путеводитель в мире CLI, особенно в первые недели/месяцы изучения.

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

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


Редактор nano: простой и дружелюбный

nano считается самым простым в освоении консольным редактором. Его плюсы:

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

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

nano myfile.txt

Комментарий:

  • Если файла myfile.txt нет, nano создаст его при сохранении.
  • Внутри редактора вы набираете и редактируете текст, как в обычном блокноте.

Нижняя часть окна отображает комбинации клавиш. Например:

  • ^X означает Ctrl + X (выход).
  • ^O означает Ctrl + O (сохранение под тем же именем).
  • ^W означает Ctrl + W (поиск текста в файле).

Сохранение и выход

После ввода нужного текста:

  1. Нажмите Ctrl + O (буква O, а не ноль). Появится строка File Name to Write: myfile.txt.
  2. Нажмите Enter, чтобы подтвердить сохранение.
  3. Нажмите Ctrl + X, чтобы выйти из редактора.

Тренировочное упражнение (nano)

  1. Создайте в терминале новый файл через nano hello.txt.
  2. Напишите несколько строк, например:
    1. Привет, это мой первый файл в nano!
      Я учусь редактировать текст прямо из терминала.
  3. Сохраните файл (Ctrl + O → Enter) и выйдите (Ctrl + X).
  4. Убедитесь, что файл создан, выполнив команду cat hello.txt (или less hello.txt, если у вас установлен less).

Редактор vim (vi): более «продвинутый» способ

vim (или его предшественник vi) — это очень мощный, но вначале немного «непривычный» редактор, так как использует разные режимы работы.

Основные режимы vim

  1. Normal mode (обычный режим): здесь вы перемещаетесь по файлу, удаляете и копируете строки и т.д.
  2. Insert mode (режим вставки): печатаете текст.
  3. Command mode (командный режим): вводите команды (например, сохранение или выход).

Открытие файла и переход в режим вставки

vim myscript.py

Комментарий:

  • Если файла нет, vim создаст его при сохранении.

Внутри vim сразу же включён Normal mode. Чтобы начать ввод текста, нажмите i (insert). Теперь вы в режиме вставки, и все ваши нажатия клавиш пойдут в текст.

Пример:

# Предположим, вы набираете код внутри vim после нажатия i
print("Hello from vim!")

Сохранение и выход

Чтобы сохранить и выйти, нужно вернуться в Normal mode:

  1. Нажмите Esc, чтобы выйти из режима вставки.
  2. Введите двоеточие : (вы переключитесь в командный режим).
  3. Наберите wq (write & quit) и нажмите Enter.

Результат: vim сохранит файл и выйдет.

Если вы случайно хотите выйти без сохранения, используйте :q!.

Тренировочное упражнение (vim)

  1. Откройте любой файл (или создайте новый) через vim new_file.txt.
  2. Нажмите i, напишите пару строк текста (например, «Ура, я в vim!»).
  3. Нажмите Esc, затем введите :wq, чтобы сохранить изменения и выйти.
  4. Проверьте результат (например, 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)

  1. Убедитесь, что Emacs установлен (если нет — возможно, нужно установить через пакетный менеджер, например, sudo apt-get install emacs).
  2. Запустите emacs -nw mynotes.txt.
  3. Напишите пару строчек, затем сохраните (C-x C-s).
  4. Закройте Emacs (C-x C-c).
  5. Просмотрите файл mynotes.txt в консоли любым удобным способом (cat, nano, vim и т.д.) для проверки.

Какой редактор выбрать?

  • nano: прекрасно подходит начинающим, так как интерфейс прост и нет «сложных» режимов.
  • vim: очень мощный инструмент, популярный среди продвинутых пользователей. Однако требует привыкания к модальной системе (Normal / Insert / Command).
  • emacs: полноценная среда для «всего». Подойдёт, если вы готовы к длительному погружению и любите расширять редактор под любые задачи.

Рекомендации по выбору

  • Если вы только начинаете, лучше учиться на nano: он интуитивнее.
  • Освоение vim имеет смысл, если вы часто работаете на серверах, где бывает установлен только vi или vim.
  • Emacs — на любителя. Некоторые «фанаты» Emacs используют его как универсальную среду разработки, но это отдельная, более глубокая история.

Тренировочное упражнение (сравнительное)

  1. Возьмите любой простой файл (например, test.txt) и последовательно откройте его в nano, vim и, при желании, emacs.
  2. В каждом редакторе сделайте что-нибудь простое: добавьте или удалите пару строк, сохраните и выйдите.
  3. Сравните, насколько удобно или непривычно пользоваться каждым из редакторов. Определитесь, какой из них вам кажется самым дружелюбным.

Работа с текстовыми файлами из консоли — важная часть освоения Linux. В реальных проектах (на серверах, в облачных средах) зачастую нет графического окружения, так что знать хотя бы один консольный редактор (обычно nano или vim) становится обязательным навыком.

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

Попробуйте каждый из них, выполните упражнения и выберите, что подходит лично вам. Но даже если предпочтение отдано nano, советую хотя бы в минимальном объёме освоить vim, так как на многих серверах он предустановлен по умолчанию (и может оказаться вашим единственным вариантом для быстрого редактирования).

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

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


Заключение

Эффективность работы разработчика

Работа в консоли даёт много преимуществ:

  1. Скорость. Часто в CLI можно выполнить действие одной-двумя командами вместо множества кликов в графическом интерфейсе.
  2. Автоматизация. Написав скрипт, вы сможете многократно запускать его, экономя время на рутинных задачах.
  3. Точность и контроль. Вы явно указываете, что нужно сделать, и получаете конкретный результат.

Пример сценария

Представьте, что у вас есть сотня фотографий в папке, и вам нужно переименовать их последовательно в 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 и т.д.).
  • Может выглядеть сложновато, но если вы привыкнете к подобным конструкциям, сможете экономить массу времени в реальных проектах.

Тренировочное упражнение (эффективность)

  1. Создайте папку images_test, поместите туда несколько файлов (назовите их как угодно, например photo1.jpg, vacation2.jpg, random.jpg).
  2. Напишите мини-скрипт (или командный цикл), который переименует эти файлы в формате img_001.jpg, img_002.jpg и т.д.
  3. Используйте любую удобную для вас оболочку (Bash, PowerShell). Если вы в Windows, можно установить Git Bash или пользоваться WSL.

(Подсказка: в PowerShell тоже можно использовать цикл ForEach-Object или for, чтобы перебрать файлы и переименовать их.)


Где ещё полезен CLI?

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

  1. Настройка серверов:
    • Большинство удалённых серверов работают на Linux (Ubuntu, CentOS). Чтобы что-то там настроить, вы будете подключаться по SSH и работать «только через консоль».
    • Без знания командной строки придётся сложно.
  2. Автоматизация задач скриптами:
    • Bash-скрипты (Linux/Mac) или PowerShell-скрипты (Windows) позволяют выполнять рутинные операции автоматически (например, копировать резервные копии, генерировать отчёты, мониторить логи).
  3. Использование Git:
    • Git (система контроля версий) можно использовать с графическим интерфейсом, но большинство команд (git clone, git commit, git push) часто удобнее и быстрее делать из консоли.
    • Продвинутые возможности Git (rebase, cherry-pick, merge с разными флагами) часто проще освоить именно через CLI, читая документацию.
  4. 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 полезен)

  1. Серверная практика (опционально):
    1. Если у вас есть доступ к какому-либо удалённому серверу (или вы установили локальную виртуальную машину), подключитесь к ней по SSH и выполните несколько базовых команд (создайте папку, скопируйте файлы, запустите обновление пакетов).
  2. Git:
    1. Создайте локальный репозиторий, добавьте файл, сделайте коммит и запушьте на GitHub — всё это через командную строку (git init, git add, git commit -m, git remote add origin, git push).
  3. Простая автоматизация:
    1. Напишите маленький скрипт (Bash или PowerShell), который выводит «Hello, world!» и текущее время, затем сохраняйте это в текстовый файл. Запустите скрипт. Проверьте результат.

  • CLI открывает огромные возможности: от быстрой навигации по файловой системе и пакетного переименования до настроек серверов и автоматизации процессов.
  • Серверная разработка, DevOps, облачные технологии, контроль версий (Git) — всё это на 99% основано на работе через командную строку.
  • Эффективность программиста или админа напрямую связана с умением разрулить задачу командой (или несколькими командами) в терминале.

Овладение командной строкой — это не просто «ещё один навык», а «пропуск в мир» системного администрирования, автоматизации и более глубокого понимания, как всё работает «под капотом».

Поздравляем вас с тем, что вы уже освоили большой объём базовых и не очень базовых команд! Продолжайте экспериментировать, читать встроенные мануалы (man, help), писать собственные скрипты и подключаться к новым технологиям — и тогда CLI станет вашим мощным союзником в разработке и администрировании.

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


Проектное задание: «Создание структуры проекта и автоматизация рутин»

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


Шаг 1: Создание основной директории и базовых подпапок

  1. Создайте в своей домашней папке (или в любом удобном месте) новую директорию с названием cli_project.
    • В Linux/Mac: mkdir cli_project
    • В Windows (CMD/PowerShell): mkdir cli_project
  2. Перейдите в неё:
    • cd cli_project
  3. Внутри создайте три подпапки: docs, scripts, archive.
    • Например (Linux/Mac):
      mkdir docs scripts archive
      
    • Или (Windows, CMD/PowerShell):
      mkdir docs
      mkdir scripts
      mkdir archive
      

Результат: у вас должна получиться структура:

cli_project/
 ├─ docs/
 ├─ scripts/
 └─ archive/

Проверка: выполните ls (Linux/Mac, PowerShell) или dir (CMD) в папке cli_project, убедитесь, что появились три директории.


Шаг 2: Создание и редактирование текстовых файлов

  1. В папке 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
      
  2. Откройте commands.txt в любом консольном редакторе, который удобен вам (nano, vim, emacs или PowerShell ISE/Visual Studio Code, если хотите — но лучше потренироваться именно в консольном редакторе).
    • Добавьте туда список нескольких команд, которые вы выучили (например, ls -l, cd .., rm -r и т. д.) с краткими пояснениями, для чего они нужны.
  3. Откройте notes.txt в том же или другом редакторе, напишите заметку, чему вы научились в CLI.
  4. Посмотрите содержимое новых файлов в терминале:
    • Linux/Mac/PowerShell: cat commands.txt, cat notes.txt
    • CMD: type commands.txt, type notes.txt

Проверка: убедитесь, что строки, которые вы добавили, действительно сохранились.


Шаг 3: Копирование и перемещение файлов

  1. Скопируйте файл 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
      
  2. Переместите файл notes.txt из папки docs в папку scripts (пусть имя останется прежним).
    • Linux/Mac:
      mv notes.txt ../scripts/
      
    • Windows (CMD/PowerShell):
      move notes.txt ..\scripts\
      
  3. Зайдите в папку archive и проверьте, что там теперь лежит commands_backup.txt. Зайдите в scripts и проверьте notes.txt.

Шаг 4: Удаление ненужных файлов

  1. Вернитесь в папку docs (если вы не там):
    cd ../docs
    
  2. Создайте лишний тестовый файл, например temp.txt, и удалите его.
    • В Linux/Mac:
      touch temp.txt
      rm temp.txt
      
    • В Windows (CMD):
      type nul > temp.txt
      del temp.txt
      
  3. Будьте аккуратны и всегда проверяйте командой pwd (или echo %cd% в CMD) где вы находитесь, прежде чем удалять файлы.

Шаг 5: Архивация

  1. Перейдите в корневую папку проекта cli_project.
  2. Создайте архив из папки 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
      
  3. Удалите папку scripts (как будто «освободили» место).
    • Linux/Mac: rm -r scripts
    • Windows (CMD): rmdir scripts /s
    • Windows (PowerShell): Remove-Item scripts -Recurse
  4. Извлеките файлы из архива (проверьте, что всё вернулось):
    • Linux/Mac:
      tar -xzf scripts_archive.tar.gz
      
    • Windows (PowerShell):
      Expand-Archive -Path .\scripts_archive.zip -DestinationPath .\scripts_restored
      
    • При распаковке в Windows может создаться папка scripts_restored. Вы можете переименовать её обратно в scripts при желании.

Шаг 6: Автоматизация (небольшой скрипт)

  1. Создайте в папке 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.
  1. Сделайте скрипт исполняемым и запустите (Linux/Mac):
cd scripts
chmod +x backup.sh
./backup.sh
  1. В 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
  1. Проверьте в папке archive, что создался архив с датой/временем.

Шаг 7: Используйте справку (обязательно!)

Во время выполнения задания:

  • Обращайтесь к man <команда> или --help в Linux/Mac,
  • К help, command /? или Get-Help в Windows,
  • При возникновении затруднений с синтаксисом флагов, ключей и т. п.

(Это не столько шаг, сколько напоминание: регулярно проверяйте документацию.)


Шаг 8: Подведение итогов

  1. Просмотрите дерево вашего проекта cli_project:
    tree cli_project   # Linux/Mac (если установлена команда tree)
    

    Или с помощью ls -R cli_project (рекурсивный просмотр). В Windows можно использовать dir /s cli_project.

  2. Убедитесь, что все операции — создание, удаление, копирование, перемещение, архивирование, а также запуск скриптов — сработали так, как вы планировали.
  3. Оцените, какие действия вы делали чаще всего, какие команды были самыми полезными. Подумайте, есть ли смысл включить их в свой личный «список полезных команд» или даже написать небольшой шорткат/alias.

Результат проекта

  • У вас появился опыт создания и структурирования директории под проект.
  • Вы освоили базовые команды CLI в реальном контексте: от навигации и редактирования файлов до архивирования и простых скриптов.
  • Вы увидели, как важна аккуратность в указании путей и команд (особенно опасных, вроде удаления).
  • У вас есть готовый «скелет» для дальнейших экспериментов — при желании можно расширять проект, добавлять новые скрипты автоматизации, изучать более сложные инструменты.

Дополнительные идеи

  1. Добавьте Git: Инициализируйте локальный репозиторий в cli_project (git init), закоммитьте всё, затем сделайте новые коммиты после каждого изменения.
  2. Установите cron (Linux/Mac) или планировщик задач в Windows, чтобы запускать backup.sh (или backup.ps1) автоматически по расписанию.
  3. Подготовьте Dockerfile (если интересно): Создайте контейнер, в котором будет повторяться ваша структура и команды, чтобы всё можно было быстро деплоить на сервер.

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

Удачи и успехов в дальнейшем погружении в мир командной строки!

Программистам часто приходится работать в консоли — например, чтобы запустить тестирование проекта, закоммитить новый код на 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

«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

ТелеграмПодкастБесплатные учебники

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как уменьшить диспетчер задач на windows 10
  • Как очистить память на компьютере windows 10 на диске
  • Как увеличить размер окон в windows 10
  • Настройка обновлений windows 10 домашняя
  • Лучшие просмотрщики фотографий для windows 10