Изучение командной строки windows

В этой статье мы покажем вам 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 перезагрузит компьютер.

В итоге

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

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

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

Настройка рабочего окружения

Самые популярные командные оболочки — Bash, Zsh и Fish.

Bash

На новых серверах с Unix-подобной системой установлен ненастроенный Bash: файлы и папки отображаются без цветовой схемы, командная строка не выводит текущее местонахождение в системе. Добавить эти функции можно в конфигурационном файле .bashrc.

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

Например:

			# Поиск всех файлов больше 500MB в текущей директории и поддиректориях
alias findlarge='find . -type f -size +500M -exec ls -lh {} \;'

# Вместо длинной команды find . -type f -size +500M -exec ls -lh {} \;
findlarge
		

Написанные для Bash скрипты будут работать практически везде. В отличие от оболочек вроде Zsh и Fish, Bash не требует сложной настройки — его функционала достаточно для большинства задач системного администрирования.

Zsh

Устанавливается из репозитория дистрибутива:

Zsh не отличается особой функциональностью по умолчанию, однако есть скрипт Oh My Zsh, расширяющий возможности командной оболочки. Это набор конфигурационных файлов и плагинов, созданных сообществом. Такие же готовые настройки есть для Bash и Fish.

Oh My Zsh добавляет новые функции:

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

По аналогии с Bash, командную оболочку Zsh можно вручную настраивать в конфигурационном файле .zshrc.

Fish

Устанавливается из репозитория дистрибутива:

После установки Fish выведет ссылку на localhost, которая отправит на страницу настройки командной оболочки.

Лучшие практики для работы с командной строкой 1

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

Сравнение Zsh, Fish и Bash

  1. Если начать вводить команду ls -a, то Bash при нажатии «Tab» ничего не сделает. Zsh и Fish на то же действие ответят интерактивной подсказкой: выведут все флаги для команды с кратким описанием и возможностью применения ключа.
  2. Zsh и Fish отличаются улучшенной навигацией по директориям. При вводе директории в Bash отображается лишь перечень возможных вариантов перемещения. Аналогичная команда в Zsh и Fish вызывает интерактивный список, в котором сразу можно выбрать директорию для перехода.
  3. Если ввести неправильную команду, Bash и Zsh выдадут ошибку только после попытки выполнения. Оболочка Fish предупредит о некорректном вводе до выполнения, окрасив строку в красный цвет.
  4. В Fish для математических вычислений есть команда math. В дефолтном Bash или Zsh те же операции выполнять сложнее.
  5. Fish поддерживает vim. Можно набрать команду и переключиться в визуальный режим. При этом в командной оболочке работает навигация из vim, сочетания клавиш для удаления, копирования и вставки строк. 
  6. Синтаксис Fish и Bash отличается. Поэтому Fish обычно используют для интерактивной работы (из-за удобного автодополнения, подсветки синтаксиса и т. д.), но пишут скрипты на Bash для лучшей совместимости.

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

Эффективная навигация по файловой системе

Для перемещения по файловой системе в Bash есть 4 основные команды: pwd, cd, ls, find.

Текущая директория

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

С помощью флагов можно получить путь логический (-L, по умолчанию) или реальный (-P):

			# Создание структуры с символическими ссылками
mkdir -p /tmp/real/path
ln -s /tmp/real/path /tmp/virtual/path

# Проверка реального расположения
cd /tmp/virtual/path
pwd -L    # Покажет виртуальный путь
pwd -P    # Покажет реальный путь без символических ссылок
		

В большинстве случаев достаточно pwd без опций.

Быстрое перемещение между директориями

cd — команда для перемещения в системе:

			cd Pictures      # перейти в папку Pictures
cd ..             # вернуться на уровень выше
cd -             # вернуться в предыдущую папку
		

Из любого места можно быстро вернуться в домашний каталог /home/пользователь/ или сразу перейти в подкаталог (например, /home/пользователь/Documents):

			cd                     # без параметров
cd ~/Documents         # тильда заменяет /home/пользователь/
cd $HOME/Documents   # $HOME заменяет /home/пользователь/
		

Bash поддерживает функцию автодополнения: можно написать первые буквы из названия папки и автоматически дописать путь нажатием «Tab».

Если папок с одинаковым началом несколько, нужно дважды нажать «Tab» — командная строка выведет все варианты написания. Bash будет ожидать, что пользователь продолжит ввод, пока не останется один возможный вариант.

			$ cd D
Desktop/ Documents/ Downloads/

# Bash вывел все возможные варианты каталогов, начинающихся на D
# Чтобы уточнить, какой именно каталог нужен, добавляем следующую букву:

$ cd De
# Автоматически дополняется до:
$ cd Desktop/
		

Автодополнение в командной строке Bash адаптируется под контекст команды. Например, для cd дополняются названия каталогов, для cat — названия файлов, для ssh — имена хостов, а для chown — имена пользователей.

Просмотр содержимого директорий

ls — команда для просмотра списка файлов и каталогов. Без параметров она показывает файлы и папки в текущей директории:

			ls              # список файлов в текущей директории
ls /etc         # содержимое папки etc
		

У команды ls множество опций. Основные из них:

			ls -la          # подробный список всех файлов, включая скрытые
ls -lh          # размеры в KB, MB, GB вместо байтов
ls -lt          # сортировка по времени изменения
ls -lS          # сортировка по размеру
		

Поиск файлов

Find находит файлы по критериям: названию, дате изменения, размеру и др.

Команда состоит из трех частей:

			find каталог критерий действие
		
			# Поиск по имени
find /home -name "filename.txt"    # Учитывает регистр
find /home -iname "filename.txt"   # Игнорирует регистр

# Поиск по типу файла
find /home -type d    # Поиск директорий
find /home -type f    # Поиск файлов

# Поиск по размеру
find /home -size +1G    # Файлы больше 1 ГБ
find /home -size -1M    # Файлы меньше 1 МБ
		

Find поддерживает опции -delete, -ls и др. С помощью -exec можно выполнять преобразования самописными функциями. Полный разбор возможностей Find — тема для отдельной статьи.

Работа с историями команд в Bash

С нуля вводить предыдущую команду, чтобы изменить один флаг, — непродуктивно. Командная строка Bash запоминает историю ввода. Листать команды можно стрелками вверх и вниз, и посмотреть все предыдущие команды одним списком:

Рекомендуется установить следующие параметры хранения последних команд в ~/.bashrc:

			HISTSIZE=5000        # Количество команд в памяти
HISTFILESIZE=10000   # Количество команд в файле истории
		

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

Чтобы такого не происходило, нужно добавлять команды в конец файла истории. Для этого в ~/.bashrc нужно добавить следующее:

Стандартное использование клавиш-стрелок для навигации по истории команд не всегда доступно. В таких случаях можно использовать альтернативные сочетания:

  • Ctrl + p — переход к предыдущей команде;
  • Ctrl + n — переход к следующей команде;
  • Alt + < — переход к первой команде в истории;
  • Alt + > — переход к последней команде в истории.

Чтобы не листать все предыдущие команды, можно ввести только ее фрагмент и выполнить поиск по совпадениям сочетанием Ctrl+R.

Управление процессами и ресурсами

Умение отслеживать запущенные процессы и при необходимости завершать зависшие программы помогает поддерживать стабильность системы. Для этого можно использовать один из трех инструментов: top, htop или ps.

top — как диспетчер задач в Windows. После ввода команды в терминале отображается список всех запущенных процессов и обновляется в реальном времени.

Лучшие практики для работы с командной строкой 2

Вывод команды top

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

htop нет в дефолтном Bash. Установка выполняется командой:

Еще список процессов можно отобразить командой ps. Она выводит список запущенных программ в моменте и не обновляет данные, как top и htop.

Фоновые процессы

Иногда нужно запустить программу в фоне или перевести ее туда. Сделать это можно, добавив символ «&» в конец командной строки.

Для перевода работающей программы в фон нужно нажать Ctrl+Z, чтобы приостановить. Затем необходимо ввести bg для запуска процесса в фоновом режиме и fg, чтобы вернуть из фона.

Список всех фоновых задач можно увидеть, если ввести команду jobs.

Если программа зависла или ее нужно остановить, поможет команда kill. Для завершения необходимо знать PID процесса (отображается в таблице top, htop и ps):

			kill PIDkill -9 PID # если программа зависла
		

Работа с текстовыми данными

Рассмотрим основные инструменты и приемы для работы с текстовыми данными в командной строке.

Базовые команды для работы с текстом: cat, grep, awk, sed

cat

Команда cat используется для просмотра содержимого файлов и объединения.

Просмотр содержимого:

Объединение нескольких файлов:

			cat file1.txt file2.txt > combined.txt
		

grep

Команда grep ищет текст по шаблону:

Найти строки «error» в файле:

Показать номера строк с совпадениями:

			grep -n "pattern" file.txt
		

awk

Команда awk запускает инструмент для обработки текста по столбцам:

Вывод первого столбца из файла:

			awk '{print $1}' file.txt
		

Сумма чисел в первом столбце:

			awk '{sum += $1} END {print sum}' numbers.txt
		

sed

Команда sed используется для замены текста:

Замена первого вхождения «old» на «new»:

			sed 's/old/new/' file.txt
		

Удаление пустых строк:

Конвейеры

Передавать вывод одной команды на вход другой можно при помощи конвейеров.

Поиск строк с «error» и подсчет их количества:

			grep "error" log.txt | wc -l
		

Вывод первых 15 строк с «error»:

			grep "error" log.txt | head -n 15
		

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

Перенаправление ввода и вывода

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

Операторы перенаправления

«>» — перенаправляет стандартный вывод команды в файл, создавая его, если он не существует, или перезаписывая, если файл уже существует.

«>>» — перенаправляет стандартный вывод команды в конец файла, не перезаписывая его.

«<» — перенаправляет содержимое файла на стандартный ввод команды.

«2>» — перенаправляет стандартный поток ошибок в файл.

			grep "pattern" file.txt 2> errors.log
		

«&>» — перенаправляет стандартный вывод и стандартный поток ошибок в один файл.

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

Автоматизация и скрипты

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

Bash-скрипты — файлы с последовательностью команд, которые выполняются одна за другой. Они имеют расширение .sh и начинаются с #!/bin/bash.

Пример простого bash-скрипта для резервного копирования:

			#!/bin/bash

# Откуда скопировать
source_dir="/home/user/important_data"

# Куда сохранить
backup_dir="/mnt/backup"

# Создать имя архива с текущей датой
backup_date=$(date +%Y-%m-%d)
archive_name="backup-$backup_date.tar.gz"

# Создать архив и сохранить его в директорию для резервных копий
tar -czf "$backup_dir/$archive_name" "$source_dir"

echo "Резервная копия создана: $backup_dir/$archive_name"
		

В Bash-скриптах также применимы циклы (for, while) и условия (if, case) для управления потоком выполнения.

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

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

Планировщики задач

Планировщик Cron откладывает автоматический запуск скрипта с заданным интервалом. У каждого пользователя есть свой файл crontab, в котором можно указать команды и время их выполнения. Формат записи в crontab: минуты, часы, день месяца, месяц, день недели, команда.

Например, «0 1 * * * backup.sh» будет запускать скрипт backup.sh каждый день в 1:00.

At — упрощенный аналог Cron. Утилита используется для однократного выполнения задач в указанное время.

Безопасность в командной строке

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

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

Команда дает владельцу файла права на чтение и запись (6), а остальным пользователям — только на чтение (4).

chown используется для смены владельца файла или директории. Например:

			chown vadim:admin document.txt
		

Команда назначает пользователя «vadim» владельцем файла «document.txt», а группу «admin» — группой-владельцем.

Еще один аспект безопасности в командной строке — использование sudo. Команда дает временные права суперпользователя (root) и разрешает программе вносить изменения в систему. Следует использовать sudo с осторожностью:

  • проверять команды перед выполнением с sudo;
  • использовать sudo только когда это действительно необходимо.

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

Инструменты для повышения продуктивности

Напоследок перечислим лучшие инструменты, которые упрощают работу с командной строкой.

Менеджеры пакетов

Упрощают установку, обновление и удаление программ в Linux.

Три популярных менеджера пакетов:

  • apt — используется в Debian, Ubuntu и других дистрибутивах на базе Debian;
  • yum — используется в Red Hat, CentOS и Fedora;
  • brew — популярный менеджер пакетов для macOS.

Многооконные менеджеры

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

Два популярных инструмента: tmux и screen.

Лучшие практики для работы с командной строкой 3

Два отдельных терминала в одном окне tmux

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

Расширенные текстовые редакторы

Текстовые редакторы упрощают работу с кодом:

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

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

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

  • возможно, вам стоит попробовать новую командную оболочку: Fish или Zsh;
  • или освоить продвинутую навигацию по файловой системе;
  • или начать использовать многооконные менеджеры;
  • или автоматизировать рутинные операции с помощью скриптов.

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

А если хотите овладеть командной строкой как настоящий профи — Собрали полезные инструменты и команды тут

Command Line Commands – CLI Tutorial

The Windows command line is one of the most powerful utilities on a Windows PC. With it, you can interact with the OS directly and do a lot of things not available in the graphical user interface (GUI).

In this article, I’ll show you 40 commands you can use on the Windows command line that can boost your confidence as a Windows user.

N.B.: You have to be careful while using the commands I’ll show you. This is because some commands can have a lasting negative or positive effect on your Windows PC until you reset it.

In addition, some of these commands require you to open the command prompt as an admin.

ss5-1

powershell start cmd -v runAs – Run the Command Prompt as an Administrator

Entering this command opens another command prompt window as an administrator:

ss1-1

driverquery – Lists All Installed Drivers

It is important to have access to all drivers because they often cause problems.

That’s what this command does – it shows you even the drivers you won’t find in the device manager.

ss2-1

chdir or cd – Changes the Current Working Directory to the Specified Directory

ss3-1

systeminfo – Shows Your PC’s Details

If you want to see more detailed information about your system you won’t see in the GUI, this is the command for you.

ss4-1

set – Shows your PC’s Environment Variables

ss5-2

prompt – Changes the Default Text Shown before Entering Commands

By default, the command prompt shows the C drive path to your user account.

You can use the prompt command to change that default text with the syntax prompt prompt_name $G:

ss6-1

N.B: If you don’t append $G to the command, you won’t get the greater than symbol in front of the text.

clip – Copies an Item to the Clipboard

For example, dir | clip copies all the content of the present working directory to the clipboard.

ss7

You can type clip /? and hit ENTER to see how to use it.

assoc – Lists Programs and the Extensions They are Associated With

ss8

title – Changes the Command Prompt Window Title Using the Format title window-title-name

ss9

fc – Compares Two Similar Files

If you are a programmer or writer and you want to quickly see what differs between two files, you can enter this command and then the full path to the two files. For example fc “file-1-path” “file-2-path”.

ss10

cipher – Wipes Free Space and Encrypts Data

On a PC, deleted files remain accessible to you and other users. So, technically, they are not deleted under the hood.

You can use the cipher command to wipe the drive clean and encrypt such files.

ss11

netstat -an – Shows Open Ports, their IP Addresses and States

ss12

ping – Shows a Website IP Address, Lets you Know How Long it Takes to Transmit Data and a Get Response

ss13

color – Changes the Text Color of the Command Prompt

Enter color attr to see the colors you can change to:

ss14

Entering color 2 changes the color of the terminal to green:

ss15

for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear – Shows All Wi-Fi Passwords

ss16

ipconfig – Shows Information about PC IP Addresses and Connections

ss17

This command also has extensions such as ipconfig /release, ipconfig /renew, and ipconfig /flushdns which you can use to troubleshoot issues with internet connections.

sfc – System File Checker

This command scans your computer for corrupt files and repairs them. The extension of the command you can use to run a scan is /scannow.

ss18

powercfg – Controls Configurable Power Settings

You can use this command with its several extensions to show information about the power state of your PC.

You can enter powercfg help to show those extensions.

ss19

For example, you can use powercfg /energy to generate a battery health report.

ss20

The powercfg /energy command will generate an HTML file containing the report. You can find the HTML file in C:\Windows\system32\energy-report.html.

dir – Lists Items in a Directory

ss21

del – Deletes a File

ss22

attrib +h +s +r folder_name – Hides a Folder

You can hide a folder right from the command line by typing in attrib +h +s +r folder_name and then pressing ENTER.

To show the folder again, execute the command – attrib -h -s -r folder_name.

ss23

start website-address – Logs on to a Website from the Command Line

ss24

ss25

tree – Shows the Tree of the Current Directory or Specified Drive

ss26

ver – Shows the Version of the OS

ss27

tasklist – Shows Open Programs

You can do the same thing you do with the task manager with this command:

ss28

The next command shows you how to close an open task.

taskkill – Terminates a Running Task

To kill a task, run taskkill /IM "task.exe" /F. For example, taskkill /IM "chrome.exe" /F:

ss29

date – Shows and Changes the Current Date

ss30

time – Shows and Changes the Current Time

ss31

vol – Shows the Serial Number and Label Info of the Current Drive

ss32

dism – Runs the Deployment Image Service Management Tool

ss33

CTRL + C – Stops the Execution of a Command

-help – Provides a Guide to other Commands

For example, powercfg -help shows how to use the powercfg command

ss34

echo – Shows Custom Messages or Messages from a Script or File

ss35

You can also use the echo command to create a file with this syntax echo file-content > filename.extension.

ss36

mkdir – Creates a Folder

ss37

rmdir – Deletes a Folder

ss38

N.B.: The folder must be empty for this command to work.

more – Shows More Information or the Content of a File

ss39

move – Moves a File or Folder to a Specified Folder

ss40

ren – Renames a File with the Syntax ren filename.extension new-name.extension

ss41-1

cls – Clears the Command Line

In case you enter several commands and the command line gets clogged up, you can use cls to clear all entries and their outputs.

cls

exit – Closes the Command Line

shutdown – Shuts down, Restarts, Hibernates, Sleeps the Computer

You can shut down, restart, hibernate, and sleep your PC from the command line.

Enter shutdown in the command line so you can see the extensions you can use to perform the actions. For example, shutdown /r will restart your computer.

ss42

Conclusion

This article showed you several “unknown-to-many” commands you can use to get access to hidden functionalities on your Windows PC.

Again, you should be careful while working with these commands because they can have a lasting effect on your OS.

If you find the commands helpful, share the article with your friends and family.

In case you know another useful command I did not list, tell me about it on Twitter. I will add it and mention you as the source.



Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

В данной статье будут рассмотрены основы командной строки Windows, а именно:

  • Понятие командной строки;
  • Справочник по командам командной оболочки;
  • Последовательность событий при выполнение команды;
  • Создание сценариев командной строки;
  • Управление отображением текста и команд;
  • Команды для изучение системной информации;
  • Команды для использования реестра;
  • Управление системными службами;
  • Перезагрузка и выключение систем из командной строки;
  • Управление приложениями и  процессами из командной строки.

Содержание

  1. Понятие командной строки
  2. Краткий справочник по командам командной оболочки (Cmd.exe)
  3. Последовательность событий при выполнение команды
  4. Создание сценариев командной строки
  5. Управление отображением текста и команд
  6. Изучение системной информации
  7. Команды для использования реестра
  8. Управление системными службами
  9. Перезагрузка и выключение систем из командной строки
  10. Управление приложениями, процессами и производительностью

Понятие командной строки

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

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

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

Среду командной оболочки Windows запускают разными способами, в частности указывая параметры при запуске Cmd.exe или используя собственный стартовый файл, хранящийся в каталоге %SystemRoot%\System32.

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

Работая с командной строкой Windows, Вы должны понимать, откуда берутся используемые Вами команды. «Родные» команды (встроенные в операционную систему) бывают двух видов:

  • Внутренние – существуют внутри командной оболочки, у них нет отдельных исполняемых файлов;
  • Внешние — реализованы в отдельных исполняемых файлах, которые обычно хранятся в каталоге %SystemRoot% \System32.

Краткий справочник по командам командной оболочки (Cmd.exe)

  • assoc — выводит или изменяет сопоставления (associations) типов файлов;
  • break — задает точки останова при отладке
  • call — вызывает из сценария процедуру или другой сценарий;
  • cd (chdir) — показывает имя текущего каталога или выполняет смену текущего каталога;
  • cls — очищает окно командной строки и буфер экрана;
  • color — задает цвета текста и фона окна командной оболочки;
  • сору — копирует файлы или выполняет конкатенацию файлов;
  • date — показывает или устанавливает текущую дату;
  • del (erase) — удаляет заданный файл, группу файлов или каталог;
  • dir — показывает список подкаталогов и файлов в текущем или заданном каталоге;
  • echo — выводит текст в окно командной строки или задает, надо ли отображать команды на экране (on|off);
  • endlocal — отмечает конец локализации (локальной области видимости) переменных;
  • exit — выход из оболочки командной строки;
  • for — выполняет заданную команду для каждого файла в наборе;
  • ftype выводит или изменяет текущие типы файлов в сопоставлениях расширений файлов с программами;
  • goto — указывает, что интерпретатор команд должен перейти на строку с заданной меткой в пакетном сценарии;
  • if — выполняет команды по условию;
  • md (mkdir) — создает подкаталог в текущем или заданном каталоге;
  • move — перемещает файл или группу файлов из текущего или заданного исходного каталога в указанный каталог. Также может переименовывать каталог;
  • path — показывает или задает путь к командам, используемый операционной системой при поиске исполняемых файлов и сценариев;
  • pause — останавливает выполнение пакетного файла и ожидает ввода с клавиатуры;
  • popd — делает текущим каталог, имя которого было сохранено командой PUSHD;
  • prompt — указывает, какой текст должен показываться в строке приглашения;
  • pushd — сохраняет имя текущего каталога и при необходимости делает текущим заданный каталог;
  • rd (rmdir) — удаляет каталог или каталог вместе с его подкаталогами;
  • rem — помечает комментарии в пакетном сценарии или Config.nt;
  • ren (rename) — Переименовывает файл или группу файлов;
  • set — показывает текущие переменные окружения или задает временные переменные для текущей командной оболочки;
  • setlocal — отмечает начало локализации (локальной области видимости) переменных в пакетных сценариях;
  • shift — сдвигает позицию замещаемых параметров в пакетных сценариях;
  • start — запускает заданную программу или команду в отдельном окне;
  • time — показывает или устанавливает системное время;
  • title — задает заголовок окна командной оболочки;
  • type — показывает содержимое текстового файла;
  • verify — включает режим проверки файлов после записи на диск;
  • vol — показывает метку и серийный номер дискового тома.

Синтаксис любой внутренней команды (и большинства внешних) можно получить, введя в командной строке имя команды и /?, например:

   
   copy /?

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

Последовательность событий при выполнение команды

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

При работе с командной оболочкой Вы, вероятно, запускали ее, открывая меню Start (Пуск) и выбирая Programs (Программы) или All Programs (Все программы), затем Accessories (Стандартные) и Command Prompt (Командная строка). Другие способы запуска командной строки — диалоговое окно Run (Запуск программы) или ввод cmd в другом, уже открытом окне командной оболочки. Эти способы позволяют при запуске командной строки указывать аргументы: ключи, управляющие работой командной строки, и параметры, инициирующие выполнение дополнительных команд. Например, можно запустить командную оболочку в «молчаливом» режиме (т. е. отключить эхо-вывод) командой cmd /q или сделать так, чтобы командная оболочка выполнила заданную команду и завершила свою работу, — для этого нужно ввести cmd /с, а затем текст команды в кавычках.

В следующем примере командная оболочка запускается, выполняет команду ipconfig с выводом результатов в файл и завершается:

   
   cmd /c "ipconfig > c:\ipconfig.txt"

Создание сценариев командной строки

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

Поскольку сценарии состоят из стандартных текстовых символов, их можно создавать и редактировать в любом стандартном текстовом редакторе, скажем, в Notepad (блокнот). Вводя команды, убедитесь, что каждая команда или группа команд, которые должны выполняться совместно, разметаются с новой строки. Это обеспечит их корректное выполнение. Закончив создание сценария командной строки, сохраните файл сценария с расширением .bat или .cmd. Оба расширения работают одинаково. Например, если вам надо создать сценарий для вывода имени системы, версии Windows и конфигурации IP, включите в файл SysInfo.bat или SysInfo.cmd следующие три команды:

  
  hostname
  ver
  ipconfig -all

Управление отображением текста и команд

Команда ECHO служит двум целям: для записи текста в вывод (например, в окно командной оболочки или текстовый файл) и для включения/выключения эхо-отображения команд. Обычно при выполнении команд сценария сами команды и вывод этих команд отображаются в консольном окне. Это называется эхо-отображением команд (comand echoing).

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

  
  echo The system host name Is: hostname

Чтобы с помощью ECHO управлять эхо-отображением команд, введите echo off или echo on, например:

  
  echo off
  echo The system host name is:
  hostname

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

  
  echo off
  echo The system host name is: > current.txt
  hostname » current.txt

Теперь посмотрим, как подавляется эхо-отображение команд. Запустите командную оболочку, введите echo off, затем другие команды. Вы увидите, что приглашение командной строки больше не выводится. Вместо него появляется только то, что набирается в консольном окне, и вывод выполненных команд. В сценариях команда ECHO OFF отключает эхо-отображение команд и приглашение командной строки. Добавляя в свои сценарии команду ECHO OFF, вы предотвращаете загромождение окна командной оболочки или файла текстом команд, если Вас интересует лишь вывод от этих команд.

Изучение системной информации

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

  • NOW — отображает текущую системную дату и время в 24-часовом формате, например Sal May 9 12:30:45 2003. Доступна только в Windows Server 2003 Resource Kit;
  • WHOAMI — сообщает имя пользователя, зарегистрированного в системе на данный момент, например adatum\admi-nistrator;
  • WHERE — выполняет поиск файлов по шаблону поиска (search pattern) и возвращает список совпавших результатов.

Чтобы использовать NOW или WHOAMI, просто введите команду в окне командной оболочки и нажмите Enter. Наиболее распространенный синтаксис для WHERE выглядит так:

  
  where /r базовый_каталог_имя_файла

Здесь параметр /r указан для рекурсивного поиска, начиная от указанного каталога (базовый_каталог) и включая все его подкаталоги, а имя_файла — полное или частичное имя искомого файла, которое может включать символы подстановки (wildcards): знак ? заменяет один символ, а знак * — группу символов, например data???.txt или data*.*. В следующем примере в каталоге С:\ и всех его подкаталогах выполняется поиск всех текстовых файлов, имена которых начинаются с data.

   
  where /r C:\ data*.txt

Также можно найти файлы всех типов, имена которых начинаются с data:

   
  where /r C:\ data*.*

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

  • DRIVERQUERY — выводит список всех установленных драйверов устройств и их свойства, в том числе имя модуля (module name), отображаемое имя (display name), тип драйвера и дату сборки (driver link date). В режиме отображения всей информации (/V) сообщается статус (status) и состояние (state) драйвера, режим запуска, сведения об использовании памяти и путь в файловой системе. Параметр /V также включает вывод детальной информации обо всех неподписанных драйверах.
  • SYSTEMINFO — выдает подробную информацию о конфигурации системы, в том числе сведения о версии, типе и изготовителе операционной системы, процессоре, версии BIOS, объеме памяти, региональных стандартах, часовом поясе и конфигурации сетевого адаптера.
  • NLSINFO — отображает подробную информацию о региональных стандартах, включая язык по умолчанию (default language), кодовую страницу Windows, форматы отображения времени и чисел, часовой пояс и установленные кодовые страницы. Эта команда доступна лишь в Windows Server 2003 Resource Kit.

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

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

Реестр Windows хранит конфигурационную информацию операционной системы, приложений, пользователей и оборудования. Эти данные содержатся в разделах (keys) и параметрах (values) реестра, которые размещаются в определенном корневом разделе (root key), который контролирует, как и когда используются разделы и параметры.

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

  • REG add — добавляет в реестр новый подраздел или элемент;
  • REG delete — удаляет из реестра подраздел или элемент;
  • REG query — выводит список элементов раздела и имена подразделов (если они есть);
  • REG compare — сравнивает подразделы или элементы реестра;
  • REG сору — копирует элемент реестра по указанному пути раздела на локальной или удаленной системе;
  • REG restore — записывает в реестр ранее сохраненные подразделы, элементы и параметры;
  • REG save — сохраняет копию указанных подразделов, элементов и параметров реестра в файл.

Управление системными службами

Службы обеспечивают ключевые функции рабочих станций и серверов. Для управления системными службами на локальных и удаленных системах используется команда контроллера служб (service controller command) SC, имеющая набор подкоманд, ниже описывается лишь их часть:

  • SC config — настройка учетных записей регистрации и запуска служб;
  • SC query — вывод списка всех служб, настроенных на компьютере;
  • SC qc — отображение конфигурации определенной службы;
  • SC start — запуск служб;
  • SC stop — остановка служб;
  • SC pause — приостановка работы служб;
  • SC continue — возобновление работы служб;
  • SC failure — задание действий, выполняемых при сбое службы;
  • SC qfailure — просмотр действий, выполняемых при сбое службы.

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

  
  sc ИмяСервера Подкоманда

Перезагрузка и выключение систем из командной строки

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

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

Выключение локальной системы:

  
  shutdown /s /t ЗадержкаВыключения /1 /f

Перезагрузка локальной системы:

  
  shutdown /r /t ЗадержкаВыключения /1 /f

Управление приложениями, процессами и производительностью

Всякий раз, когда операционная система или пользователь запускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответствующей программой. Несколько утилит командной строки упростят вам мониторинг программ и управление ими. К этим утилитам относятся:

  • Pmon (Process Resource Manager) — показывает статистические данные по производительности, включая использование памяти и процессора, а также список всех процессов, выполняемых в локальной системе. Позволяет получать детальные «снимки» задействованных ресурсов и выполняемых процессов. Pmon поставляется с Windows Resource Kit;
  • Tasklist (Task List) — перечисляет все выполняемые процессы по имени и идентификатору процесса, сообщает информацию о сеансе пользователя и занимаемой памяти;
  • Taskkill (Task Kill) — останавливает выполнение процесса, заданного по имени или идентификатору. С помощью фильтров можно останавливать процессы в зависимости от их состояния, номера сеанса, процессорного времени, занимаемой памяти, имени пользователя и других параметров.

Вот в принципе все, что я хотел рассказать об основах командной строки 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, но и увидели, как они применяются в небольшом, но реальном проектном сценарии. Теперь вы готовы к более продвинутым вещам: настройке серверов, работе с системами контроля версий и профессиональным инструментам автоматизации.

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

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

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Программа для установки windows 10 с официального сайта
  • Горизонтальная прокрутка windows 7
  • Credssp windows server 2016 отключить
  • Cuda toolkit install windows
  • Windows live messenger sounds