Работаем в консоли быстро и эффективно
В сети можно встретить много советов по эффективной работе в консоли. В большинстве таких статей авторы рассказывают про банальности типа «выучите горячие клавиши» или » sudo !! запустит последнюю команду под sudo». Я же расскажу о том, что делать, когда вы уже выучили горячие клавиши и знаете про sudo !! .
Терминал должен запускаться мгновенно
Сколько времени вам нужно, чтобы запустить терминал? А ещё один? Долгое время мой терминал запускался сочетанием Ctrl+Alt+T и я думал, что это быстро. Но когда я переехал с Openbox на i3, то стал запускать терминал через Win+Enter, это сочетание было в конфиге по умолчанию. И знаете что? Я больше не считаю, что Ctrl+Alt+T — это быстро.
Разумеется, прикол не в выигрыше миллисекунд, а в том, что вы открываете терминал на уровне рефлексов, совершенно не замечая этого.
Если вы часто работаете в терминале, но для его запуска тянетесь к мышке, то попробуйте настроить удобную горячую клавишу. Я уверен, вам понравится.
Zsh вместо Bash
Это холиварная тема, знаю. Zsh стоит поставить хотя бы ради трёх фич: продвинутый автокомплит, коррекция опечаток и множественный pathname completition: когда один Tab превращает /u/s/d в /usr/share/doc . Arch Linux уже давно перешёл на zsh в своём установочном диске. Я надеюсь что однажды zsh станет дефолтным шеллом в Ubuntu. Это будет исторический момент.
Начать использовать zsh вообще не сложно. Установите его через менеджер пакетов и возьмите какой-нибудь готовый конфиг. Я рекомендую конфиг, который используется в Arch Linux:
Осталось только поменять «шелл по-умолчанию» на zsh и перелогиниться.
Всё, продолжайте работать как будто ничего не произошло.
Каким должен быть shell prompt
Shell prompt (приглашение командной строки) — это тот маленький текст, который выводится в терминале перед вашей командой. Его нужно настроить под свой характер работы. Воспринимайте его как приборную панель автомобиля. Поместите туда полезную информацию, пусть он будет помогать ориентироваться. Сделайте его удобным, особенно если видите его каждый день!
Shell prompt должен показывать текущий каталог шелла. Если текущий каталог не выводится в shell prompt, вам придётся держать его в голове и периодически проверять командой pwd . Не надо так. Держите в голове более важные вещи и не тратьте время на команду pwd .
Если вы периодически переключаетесь со своего пользователя на рута, вам нужна индикация текущего пользователя. Зачастую важно не конкретное имя пользователя, а его статус (обычный или рут). Проще всего это сделать цветом: красный shell prompt у рута, зелёный у своего пользователя. Так вы ни за что не спутаете рутовый шелл с обычным.
Если вы подключаетесь к серверам по ssh, то вам нужно как-то отличать свой локальный шелл от серверного. Для этого shell prompt должен содержать имя хоста, а ещё лучше — индикатор ssh-соединения.
Shell prompt умеет показывать код возврата последней команды. Напомню, что нулевой код возврата означает, что команда завершилась успешно, ненулевой — команда завершилась неуспешно. Код возврата последней команды можно узнать командой echo $? , но набирать это всё на клавиатуре слишком долго. Пусть лучше shell prompt сообщит, если команда завершилась неуспешно.
Если вы работаете с git-репозиториями, то будет нелишним выводить в shell prompt статус репозитория: текущую ветку и состояние рабочей директории. Так вы сэкономите время на командах git status и git branch и не ошибётесь веткой при коммите.
Кто-то добавляет в свой shell prompt часы или имя виртуального терминала (tty), или какие-то произвольные закорючки. Это всё лишнее. Лучше оставить побольше места для команд.
Мой shell prompt в разных условиях выглядит так:

На скриншоте видно, что схожую задачу выполняет заголовок окна терминала. Это тоже кусок приборной панели и его тоже можно настроить.
Как это всё реализовать в своём .zshrc ? За левый prompt отвечает переменная PROMPT , за правый — RPROMPT . Определить статус пользователя (обычный или рут) поможет переменная EUID , а наличие ssh-соединения — SSH_CLIENT или SSH2_CLIENT . Получаем такую заготовку:
Я специально не указываю готовый к копипасту код, потому что конкретная реализация — это дело вкуса. Если же вы не хотите заморачиваться и мой скриншот не вызывает у вас отвращения, можете взять конфиг с гитхаба.
- Необходимый минимум — это текущий каталог.
- Рутовый шелл должен быть хорошо заметен.
- Имя пользователя не несёт полезной нагрузки, если вы всегда сидите под одним пользователем.
- Хостнэйм полезен, если вы подключаетесь к серверам по SSH. Не обязателен, если всегда работаете на одной машине.
- Неуспешное завершение последней команды полезно видеть сразу.
- Статус git-репозитория экономит время на командах git status и git branch и является дополнительной защитой от дурака.
Активное использование истории команд
Бо́льшую часть команд в своей жизни вы вводите больше одного раза, а значит было бы удобно выдёргивать их из истории вместо того, чтобы набирать заново. Все современные шеллы умеют запоминать историю команд и предоставляют несколько способов поиска по этой истории.
Возможно вы уже умеете копаться в истории сочетанием Ctrl+R. У него есть два существенных недостатка:
- Чтобы начать поиск, поле ввода должно быть пустым. Т.е. в случае «начал набирать команду — вспомнил про поиск» придётся стереть начатое, нажать Ctrl+R и повторить ввод. Это очень долго.
- Поиск «вперёд» по умолчанию не работает, т.к. Ctrl+S останавливает терминал.
Как работает самый быстрый и удобный поиск:
- вы начинаете набирать команду,
- вы вспоминаете про поиск,
- вы нажимаете хоткей и шелл предлагает команды из истории, которые начинались точно так же.
Например, вы хотите синхронизировать некий локальный каталог с удалённым с помощью rsync . Вы уже делали это пару часов назад и хотите вытащить команду из истории. Набираете rsync , один-два раза нажимате некую комбинацию, и вот заветная команда готова к запуску. Вам не надо предварительно включать режим поиска по истории, shell prompt не меняется на (reverse-i-search)’: , ничего никуда не прыгает. Вы просто перебираете команды из истории. Так же, как и стрелочками ↑↓ вы перебираете ранее введённые команды, только с фильтром по началу комады. Это чертовски удобно и экономит уйму времени.
В оболочках fish и ipython такой поиск уже назначен на стрелочки. Я думаю что многие перешли на fish только ради такого поведения стрелочек.
В bash и zsh по-умолчанию такой поиск не работает, его надо включить руками. Я настроил PgUp для поиска назад и PgDown для поиска вперёд. Далековато до них тянуться, но я уже привык. Возможно в будущем переназначу на что-нибудь поближе, например Ctrl+P и Ctrl+N.
Для bash надо добавить пару строк в /etc/inputrc или
Если вы взяли готовый zshrc , то там поиск скорее всего уже назначен на PgUp и PgDown. Если нет, то добавьте в
Любопытно, что со временем я стал писать команды из расчёта, что позже буду поднимать их из истории. Вот несколько приёмов:
Объединение команд, которые всегда выполняются друг за другом
Абсолютные пути вместо относительных позволяют запускать команду, находясь в любом каталоге:
vim
/.ssh/config вместо vim .ssh/config , systemd-nspawn /home/chroot/stretch вместо systemd-nspawn stretch и т.д.
Подстановка по маске (wildcard) делает команды более универсальными. Обычно использую с chmod и chown .
Горячие клавиши
Перечислю необходимый минимум.
Alt+. — подставляет последний аргумент предыдущей команды. Также можно набрать последовательность !$ .
Ctrl+A, Ctrl+E — переход к началу и концу редактируемой команды соответственно.
Ctrl+U, Ctrl+Y — вырезать всё в буфер обмена, вставить из буфера. Выручает, когда печатаешь сложную команду, а потом понимаешь, что перед ней надо выполнить другую. Хм, куда бы припрятать текущий ввод? Вот сюда и припрятать.
Ctrl+W — стирает одно слово слева от курсора. Если зажать и удерживать, быстро очищает командную строку. По умолчанию текст не удаляется, а помещается в буфер (который для Ctrl+Y).
Ctrl+K — удаляет от курсора и до конца строки. Ctrl+A, Ctrl+K быстро очищает командную строку.
PgUp, PgDown, Ctrl+R — поиск по истории.
Ctrl+L — очистить терминал.
Отзывчивость клавиатуры
Расскажу про маленькую настройку, которая позволяет быстрее скроллить, перемещаться по тексту или стирать. Что мы делаем, когда хотим стереть что-то длинное? Зажимаем Backspace и смотрим как курсор бежит назад, забирая лишние буквы. Что при этом происходит? При нажатии Backspace стирается один символ, затем идёт небольшая задержка, затем срабатывает автоповтор: Backspace убирает символы один за другим, как будто по нему постоянно стучат.
Я рекомендую отрегулировать задержку и частоту работы автоповтора под скорость своих пальцев. Задержка перед срабатыванием автоповтора нужна когда вы хотите удалить только один символ — она даёт вам время отпустить клавишу. Слишком долгая задержка заставляет ждать автоповтора. Не настолько долго, чтобы раздражать, но достаточно, чтобы тормозить перенос мыслей из головы в компьютер. Чем выше частота повтора, тем быстрее стирается текст, и тем сложнее вовремя остановить этот процесс. Суть настройки заключается в поиске золотой середины.
Итак, волшебная команда:
190 — длительность задержки в миллисекундах,
20 — частота в количестве повторений в секунду.
Я рекомендую начать с этих значений и понемногу уменьшать задержку до появления ложных срабатываний, затем чуть-чуть вернуть назад. Если установить очень короткую задержку, то клавиатурой станет невозможно пользоваться. Придётся перезагружать X-сервер или компьютер целиком. Так что будьте аккуратнее.
Чтобы сохранить параметры, добавьте эту команду куда-нибудь в автостарт иксов.
Индикатор завершения процесса
Мне довольно часто приходится запускать долгие процессы: какой-нибудь жирный бэкап, копирование по сети, распаковку/запаковку архивов, сборку пакетов и т.д. Обычно я запускаю такой процесс, переключаюсь на другую задачу и периодически поглядываю не завершился ли мой долгий процесс. Бывает, что я сильно погружаюсь в работу и забываю о нём. Решение — добавить нотификацию завершения процесса, которая выведет меня из транса.
Для этого можно использовать разные средства: notify-send, dzen2, beep, aplay. Все они по-своему хороши, но не работают по ssh. Поэтому я использую terminal beep:
В кодировке ASCII есть символ 0x7, именуемый bell. Он предназначен для того, чтобы пищать PC-спикером. PC-спикер — это несовременно, он не везде есть, а ещё его не слышно в наушниках. Поэтому некоторые терминалы применяют так называемый visual bell. Я использую urxvt, и он делает visual bell включением флага urgency. Это когда окно сообщает вам, что оно требует внимания.
Вы можете прямо сейчас проверить как ваш терминал реагирует на символ bell:
Три секунды даётся, чтобы вы успели переключиться на другое окно, иначе может не сработать.
К сожалению, visual bell через urgency есть не во всех терминалах. Я проверил самые популярные.
| терминал | visual bell через urgency |
|---|---|
| konsole | включается в настройках |
| urxvt | есть |
| xfce4-terminal | включается в настройках |
| xterm | нет |
| cool-retro-term | нет |
| lxterminal | нет |
| gnome-terminal | нет |
Писать echo $’\a’ слишком долго, поэтому я сделал алиас wake .
Алиасы
Команды cp , scp и rm всегда должны работать рекурсивно. Аргумент -r — это просто дурное легаси! У cp ещё можно найти оправдание:
скопирует в foodir только файлы, а с ключом -r подумает, что вы решили скопировать foodir в самого себя. Но как часто вам нужна эта фича?
У rm и scp вообще нет оправданий, они просто зануды! Похожая ситуация с ключом -p у команды mkdir . Так что смело добавляем в
Ух, как же я раньше без этого жил! Можно пойти ещё дальше и добавить -f у rm , но на свой страх и риск. Я пока себя сдерживаю.
Разные вариации ls вы скорее всего уже используете, ведь это самые популярные алиасы.
Ну и цветной grep намного приятнее бесцветного:
Не забывайте, что алиасы не работают в скриптах! Там надо указывать все ключи.
Слепой метод печати
Как бы банально это ни было, но слепой десятипальцевый метод печати позволяет быстрее печатать. Поначалу будет тяжело, но со временем вы разгонетесь до невиданных ранее скоростей.
Осваивать слепой метод печати лучше всего на каникулах или в отпуске, когда вас никто не торопит. В процессе обучения ни в коем случае нельзя спешить. Ваша задача — запомнить где какая буква находится. Причём не столько мозгом, сколько мышцами. Лучше набирать медленно, но без ошибок, чем быстро с ошибками. Помните: мастера добиваются высоких скоростей не за счёт быстрых пальцев, а потому что не делают ошибок.
Не стоит поначалу увлекаться клавогонками. Психологически тяжело оставаться хладнокровным во время соревнований. Учитесь на тренажёрах. Хорошо, когда тренажёр предлагает слова, которые можно мысленно произнести. Я учился на онлайн-тренажёрах vse10 и typingstudy. Известный тренажёр «Соло на клавиатуре» мне показался бестолковым.
Начинать стоит с центрального ряда «фывапролджэ». Только после того, как вы запомните где какая клавиша расположена, стоит двигаться дальше. Только после этого.
Делайте перерывы. Давайте отдых мозгу и пальцам. Чувствуете, что посыпались ошибки — пора делать перерыв.
Сначала я освоил слепой метод печати на русском языке и прифигел от ускорения. Сейчас совершенствую навык в английской раскладке.
Команды командной строки Windows — самые важные и полезные
Выполнение множества задач в операционных системах Windows возможно не только при использовании привычного графического пользовательского интерфейса, но и при помощи интерпретатора командной строки (командной строки, консоли). Через него можно изменять различные системные параметры, управлять файлами и папками, запускать системные компоненты и любые программы, выполнять иные операции. Рассмотрим наиболее важные команды командной строки Windows, которые могут пригодиться любому пользователю.
Как открыть командную строку Windows?
Некоторые из консольных команд можно выполнить лишь из учетной записи администратора. Потому лучше сразу запомнить, как запускать интерпретатор с максимальным количеством прав доступа к системе. В ОС Windows 7/8/10 делается это просто:
- Откройте «Поиск» в/около меню «Пуск».
- Впишите поле поиска «Командная строка».
- В результатах поиска отобразится нужная нам программа. Кликните по ней правой кнопкой мыши, затем выберите из выпадающего меню пункт «Запустить от имени администратора».

Но для выполнения простых команд консоль Windows можно запускать и без прав администратора. Проще всего это сделать следующим образом:
- Нажмите на клавиатуре клавиши «Win» и «R».
- Откроется окно «Выполнить».
- Впишите в него команду cmd и нажмите «ОК».

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

Параметры команд и получение помощи
Прежде чем приступать к изучению команд, следует понимать два важных момента:
- У многих команд существуют изменяемые параметры, уточняющие выполнение командой той или иной функции.
- По любой команде можно получить помощь прямо в окне интерпретатора. Для этого следует сразу после команды вписать «/?«, что также является параметром.
Возьмем, к примеру, одну из наиболее востребованных команд ping. Впишите в консоль следующую строку:
ping /?

Подобным способом можно получить справку по большинству команд (в основном по тем, у которых имеются атрибуты).
Запуск системных компонентов и программ из командной строки
Здесь стоит отметить, что запускать системные компоненты и программы все же проще не напрямую из командной строки, а из ранее упомянутого приложения «Выполнить». Но разницы в синтаксисе (написании) самих команд никакой нет. В обоих случаях после ввода команды достаточно нажать «Enter».
Вот список наиболее востребованных команд для запуска системных приложений и компонентов:
- control — запуск «Панели управления Windows».

- regedit — запуск «Редактора реестра».

- devmgmt.msc — запуск «Диспетчера устройств».

- taskmgr — запуск «Диспетчера задач».

- services.msc — запуск приложения «Службы».

- appwiz.cpl — «Программы и компоненты» («Установка и удаление программ»).

И это далеко не полный список команд запуска системных приложений и компонентов, а лишь самые востребованные у нас — обычных пользователей.
А вот 4 команды для запуска предустановленных (стандартных) в Windows программ:
- calc — запуск «Калькулятора».

- mspaint — запуск графического редактора «Paint».

- notepad — запуск текстового редактора «Блокнот».

- wordpad — запуск текстового редактора «WordPad»

Вообще, из командной строки можно запустить любую другую программу или файл. Рассмотрим, как это сделать, а заодно познакомимся с некоторыми командами по управлению файлами и папками.
Работа с файлами и папками из командной строки
Бывают ситуации, когда невозможно запустить стандартный файловый менеджер «Проводник Windows». Например, из-за действия вирусов-блокировщиков или при системных сбоях. В любом случае все, что можно сделать при помощи «Проводника», можно сделать и при помощи командной строки. Начнем с самого простого — просмотра содержимого папок.
Просмотр содержимого папки. При запуске командной строки перед мигающим курсором можно увидеть адрес расположения папки учетной записи на жестком диске. В нашем случае — это «C:\Users\vzgn»:

Давайте, выведем на экран список все других объектов (файлов и папок), содержащихся в данной папке. Для этого используйте команду dir:

Объекты, напротив которых написано <DIR> — это папки, все остальное — файлы (напротив них указан размер в байтах).
Команду dir можно применять вообще папкам, расположенным в вообще любом месте на жестком диске. Для этого после команды следует указать путь до каталога. К примеру, для просмотра содержимого папки «Windows» на диске «C:» следует ввести команду:
dir c:\windows
Запомните одно простое правило. Если в именах папок/файлов присутствуют пробелы, их следует писать в двойных («имя папки или файла») кавычках.
Открытие файла из командной строки. Для открытия файла достаточно вписать его полное название вместе с расширением в командную строку. Что не вводить имя файла целиком, используйте клавишу «Tab» (с ее помощью можно поочередно перебирать имена всех объектов в текущей папке).

В нашем случае был открыт файл .pgAdmin4.startup.log при помощи «Блокнота». Если бы это был музыкальный файл, запустился бы аудиопроигрыватель, если DOC/DOCX-файл — редактор «MS Word» и т.д. Таким образом, открытие файла в командной строке равнозначно двойному клику по файлу в «Проводнике Windows».
Переход в другую папку. Для перехода в папку используется команда cd, после которой следует прописать путь к открываемой папке либо просто ее имя (если она расположена в нашем текущем местоположении на жестком диске).
Перейдем в папку «Music». Т.к. она находится в текущем каталоге, достаточно ввести в консоль:
cd music

Теперь наше местоположение изменилось на «C:\Users\vzgn\Music».
Давайте, перейдем в какую-нибудь папку, расположенную на другом локальном диске. Это можно сделать несколькими способами, но воспользуемся самым легким для запоминания.
- Для начала перейдем в сам локальный диск (изменим наше местоположение). Для этого достаточно использовать (независимо от текущего местоположения) команду e:. Вместо e можно использовать любую другую букву локального диска (или даже флешки, например):

- Допустим, нам известно, что на диске «E» существует папка «Install«, а в ней — пака «Web«. Перейти в нее можно одной командой:
cd e:\install\web

Запуск/открытие программы/файлы в другой папке или на другом диске. Запустим программу, расположенную где-нибудь глубоко на диске. Для запуска файла или программы можно просто указать полный путь до него. Текущее местоположение в этом случае не имеет значения. Запустим, например, текстовый редактор «Notepad++» одной командой:
C:\»Program Files»\Notepad++\notepad++.exe

Обратите внимание, что имя папки «Program Files» взято в кавычки, т.к. в нем присутствует пробел.
Создание, удаление и переименование файлов и папок. Из командной строки можно выполнить все эти операции над файлами и папками.
- Создание простого текстового файла — copy nul простой_текстовый_файл.txt. Перед названием файла можно указать путь до конечной папки, в которой тот будет создан (если не указать, файл создастся в текущей папке).

- Создание папки — mkdir папка. Папка также создается в текущем местоположении.

- Удаление файла (или нескольких) — del простой_текстовый_файл.txt (если требуется удалить несколько файлов, просто вписываем их имена друг за другом через пробел). Удаляем созданный ранее файл.
- Удаление папки — rmdir папка. Удаляем созданную ранее папку.

- Переименование папки/файла — ren простой_текстовый_файл.txt новое_имя_файла.txt или ren папка новое_имя_папки. Переименуем созданный файл и папку.

Через командную строку можно выполнить и ряд других операций над файлами и папками, включая копирование, перемещение, применение/изменение атрибутов (скрытый, системный, только для чтения и т.д.), слияние и т.д.
Востребованные сетевые команды командной строки
Из командной строки Windows можно взаимодействовать с сетевыми подключениями, изменять их настройки, просматривать различную информацию и многое другое. Рассмотрим наиболее востребованные сетевые команды.
Команда ping
Наверное, это самая популярная команда среди пользователей ОС Windows (как, впрочем, и других операционных систем). Предназначена она для проверки доступности и качества связи между компьютером и целевым IP-адресом. Также команда может применяться для определения IP-адреса сайта по доменному имени сайта и для выполнения других задач.
Определим, есть ли связь с каким-нибудь IP-адресом. Пусть это будет — 173.194.73.139 (IP-адрес поисковой системы Google). Вводим следующую команду:
ping 173.194.73.139

Как видим, обмен пакетами с указанным IP-адресом осуществляется, значит, связь есть. Если бы ее не было, картина была бы следующая (уберем из IP Google последнюю цифру):

«100% потерь» означает, что связь установить не удалось.
А теперь определим IP-адрес сайта по его доменному имени. Возьмем адрес softsalad.ru:
ping softsalad.ru

На изображении выше можно увидеть IP-адрес сайта, определенный по его доменному имени.
Команда tracert
А эта команда применяется для отслеживания сетевого маршрута от компьютера до целевого IP-адреса (можно использовать и доменное имя сайта):
tracert softsalad.ru

Видите, чтобы «достучаться» до сайта компьютеру в данном случае потребовалось обратиться к 12 промежуточным IP-адресам (ваш провайдер, сервер сайта и т.д.).
Команда ipconfig
С помощью этой команды можно получить информацию о настройках IP-протокола компьютера (или, грубо говоря — настройки сетевых карт). Воспользуемся данной командой с атрибутом /all, который позволит вывести более подробную информацию:
ipconfig /all

Команда getmac
Если требуется определить только MAC-адрес сетевой карты, используем эту команду без всяких атрибутов:
getmac

Редко используемые, но очень полезные команды
При помощи командной строки можно выполнять различные интересные функции (большинство приведенных ниже команд работает только с правами администратора):
Превращаем ноутбук в Wi-Fi-роутер (включение раздачи интернета с ноутбука или настольного компьютера с Wi-Fi-адаптером)
Для реализации этой затеи нужно поочередно выполнить три несложные команды:
- netsh wlan set hostednetwork mode=allow
- netsh wlan set hostednetwork mode=allow ssid=MiWiFi key=MiWiFipassword keyUsage=persistent. Вместо MiWiFi и MiWiFipassword можно использовать свои фразы. Первый параметр задает имя беспроводной сети, второй — пароль (должен состоять из 8 символов или более).
- netsh wlan start hostednetwork.

Если после выполнения каждой команды вы видите сообщения, аналогичные тем, что приведены на изображении выше, значит, все прошло успешно. Теперь к ноутбуку можно подключиться, например, с телефона так же, как и к обычному Wi-Fi-роутеру.
Удалениям службу Windows (или любую другую) через командную строку
Если попробовать удалить службу через штатное приложение «Службы», то ничего не получится (в нем попросту не предусмотрено такой функции). Однако это бывает необходимым, особенно после установки различных программ, которые устанавливают службы, но «забывают» их удалять при деинсталляции. Это легко реализуется через командную строку. Однако для начала необходимо узнать имя службы, и это можно сделать через стандартное Windows-приложение:
- Запустите программу «Службы», используя команду msc.
- Найдите в отобразившемся списке службу, которую необходимо удалить, и кликните по ней два раза мышкой:

- Нас интересует текст в блоке «Имя службы».
- Теперь вернитесь в окно командной строки и впишите в него команду:
sc delete имя_службы
- Подставьте вместо фразы «имя_службы» имя удаляемой службы. Если оно содержит пробелы, как в нашем случае, заключите имя службы в кавычки.
\
- Служба удалена.
Выключаем/перезагружаем/отправляем в сон/гибернацию компьютер с задержкой. Если необходимо выключить, перезагрузить или отправить в сон компьютер с задержкой по времени, не обязательно использовать какие-либо сторонние программы — все можно сделать при помощи командной строки. Для этого достаточно использовать команду:
shutdown /s /t 60 /f
В данном случае компьютер будет выключен (параметр «/s«) через 60 секунд (параметр «/t 60«) с принудительным завершением работы всех приложений без предупреждения пользователя (параметр «/f» — обязательный при использовании таймера «/t«).
Вместо выключения компьютера «/s» использовать:
- /l — завершение сеанса (выход из учетной записи пользователя с блокировкой, если для входа требуется пароль).
- /r — перезагрузка компьютера.
- /hybrid/s — «отправка» компьютера в сон (параметр «/s» использовать обязательно).
- /h — режим гибернации (или режим максимального энергосбережения, при котором ключевые компоненты компьютера остаются включенными).
Для выключения компьютера, например, через 2 часа следует указывать в параметре «/t» число 7200 (1 час равен 3600 секундам).

Сразу после выполнения команды на экран будет выведено уведомление:

Выполнение команды всегда можно отменить (если была использована задержка), воспользовавшись:
shutdown /a

Просмотр списка запущенных процессов и завершение работы любого из них. Если по каким-то причинам не удается запустить «Диспетчер задач», но имеется доступ к командной строке, запущенный процесс может быть снят при помощи специальных команд:
- Сначала выведем на экран список всех запущенных процессов при помощи команды tasklist:

- Нас интересует идентификатор «PID» завершаемого процесса. Возьмем для примера PID процесс «NVDisplay.Container.exe» — 1100.
- Для завершения его работы используем команду taskkill /pid 1100 /f (параметр «/f» необходим для принудительного завершения работы процесса).

Чиним интернет при помощи командной строки. Разнообразные неполадки с сетевыми подключениями можно устранить «одним махом» через командную строку путем сброса настроек TCP/IP (не будем вдаваться в подробности, но если вам интересно, об это можно почитать тут — Netsh Winsock — что это и зачем нужно? .
Для выполнения этой задачи нужно поочередно ввести две команды:
netsh int ip reset
netsh winsock reset

Перезагружаем компьютер для применения изменений.
Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.
Основные cmd команды – просто о полезном
Почему в мире творится такой хаос? Да потому что администратор нашей системы забыл о выполнении своих обязанностей. Или просто потерял список cmd команд от нашего мира. Хотя это несколько оригинальный взгляд на существующий порядок вещей, но, тем не менее, он отражает часть нужной нам правды: с помощью командной строки можно легко навести порядок в своем компьютере:

Что такое командная строка
Командная строка представляет собой наиболее простой инструмент для управления операционной системой компьютера. Управление происходит с помощью целого ряда зарезервированных команд и набора символов текстовой клавиатуры без участия мыши ( в операционной системе Windows ).
Часть команд пришла к нам еще из MS-DOS . Командную строку также называют консолью. Она применяется не только для администрирования операционной системы, но и для управления обычными программами. Чаще всего в такой набор команд включаются наиболее редко употребляемые.
Преимуществом применения cmd основных команд является то, что при этом затрачивается минимальное количество ресурсов системы. А это важно при возникновении аварийных ситуаций, когда все мощности компьютера, так или иначе, задействованы.
В cmd реализована возможность выполнения и создания целых пакетных файлов, представляющих собой определенный порядок выполнения целого ряда команд ( сценариев ). Благодаря этому их можно использовать для автоматизации выполнения определенных задач ( управление учетными записями, архивация данных и другое ).
Командной оболочкой Windows для манипуляции и перенаправления команд определенным утилитам и средствам операционной системы является интерпретатор Cmd.exe . Он загружает консоль и перенаправляет команды в понятном для системы формате.
Работа с командной строкой в операционной системе Windows
Вызвать консоль в Windows можно несколькими способами:
-
Через утилиту « Выполнить » — для ее запуска нужно задействовать комбинацию клавиш « Win»+ «R ». Затем ввести в поле команду cmd и нажать « Ok »;

Оба способа подразумевают запуск консоли от имени текущего пользователя. То есть со всеми правами и ограничениями, которые наложены на его роль в операционной системе. Для запуска cmd с правами администратора нужно в меню « Пуск » выделить значок программы и в контекстном меню выбрать соответствующий пункт:

После запуска утилиты можно получить справочную информацию о командах и формате их написания в консоли. Для этого нужно ввести оператор help и нажать на « Enter »:

Основные команды для работы с файлами и директориями
Наиболее часто употребляемыми являются следующие команды:
- RENAME – переименование директорий и файлов. Синтаксис команды:
RENAME | REN [диск/путь] исходное имя файла/каталога | конечное имя_файла
Пример: RENAME C:UsersдомашнийDesktoptost.txt test.txt
- DEL (ERASE) – используется для удаления только файлов, а не каталогов. Ее синтаксис:
DEL | ERASE [метод обработки] [имя_файла]
Пример: Del C:UsersдомашнийDesktoptest.txt/P
Под методом обработки имеется в виду специальный флаг, позволяющий реализовать определенное условие при осуществлении удаления файла. В нашем примере флаг « P » включает вывод диалога разрешения на удаления каждого файла:

- MD – позволяет создать папку по указанному пути. Синтаксис:
MD [диск:] [путь]
Пример:
MD C:UsersдомашнийDesktoptest1test2
В примере будет создана подпапка test2 в папке test1 . Если одна из корневых папок пути не существует, то она тоже будет создана:
- RD ( RMDIR ) – удаление определенной папки или всех директорий по указанному пути. Синтаксис:
RD | RMDIR [ключ_обработки] [диск/путь]
Пример:
rmdir /s C:UsersдомашнийDesktoptest1test2
В примере используется флаг s , который вызовет удаление всей ветви директорий, указанных в пути. Поэтому не стоит без необходимости использовать команду rmdir с этим ключом обработки.
В следующем разделе мы подробно рассмотрим сетевые команды cmd .
Команды для работы с сетью
Командная строка позволяет управлять не только файловой системой ПК, но и его сетевыми возможностями. В состав сетевых команд консоли входит большое количество операторов для мониторинга и тестирования сети. Наиболее актуальными из них являются:
- ping – команда служит для мониторинга возможностей сетевого подключения ПК. Удаленному компьютеру отправляется установленное количество пакетов, а затем отправляется им назад. Учитывается время передачи пакетов и процент потерь. Синтаксис:
ping [-t] [-a] [-n счетчик] [-l размер] [-f] [-i TTL] [-v тип] [-r счетчик] [-s счетчик] [<-j список_узлов | -k список_узлов>] [-w интервал] [имя_конечного_ПК]
Пример реализации команды:
ping example.microsoft.com
ping –w 10000 192.168.239.132
В последнем примере cmd ping команды запрос посылается адресату с указанным IP адресом. Интервал ожидания между пакетами составляет 10 000 (10 сек). По умолчанию этот параметр установлен на 4 000:

- tracert – служит для определения сетевого пути к указанному ресурсу путем посыла специального эхо-сообщения через протокол
- ICMP ( Control Message Protocol ). После запуска команды с параметрами выводится список всех маршрутизаторов, через которые проходит путь следования сообщения. Первый в списке элемент является первым маршрутизатором со стороны запрашиваемого ресурса.
Синтаксис tracer команды cmd :
tracert [-d] [-h максимальное_число_переходов] [-j список_узлов] [-w интервал] [имя_конечного_ресурса]
Пример реализации:
tracert -d -h 10 microsoft.com
В примере прослеживается маршрут к указанному ресурсу. При этом увеличивается скорость совершения операции за счет применения параметра d, который предотвращает попытки команды получить разрешение на чтение IP адресов. Количество переходов ( прыжков ) ограничено 10 с помощью установленного значения параметра h. По умолчанию, количество прыжков равно 30:

shutdown [<-l|-s|-r|-a>] [-f] [-m [\имя_ПК]] [-t xx] [-c «сообщения»] [-d[u][p]:xx:yy]
Пример:
shutdown /s /t 60 /f /l /m \191.162.1.53
Произойдет выключение ( s ) удаленного ПК ( m ) с указанным IP адресом ( 191.162.1.53 ) через 60 секунд ( t ). При этом принудительно будет выполнен выход из всех приложений ( f ) и сеанса текущего пользователя ( l ).
Еще несколько нужных команд
При работе с ПК может пригодиться еще несколько команд из огромного списка операторов cmd . Вот некоторые из них:
- format – выполняет форматирование CD диска в дисководе, имя которого указано в параметрах. Синтаксис команды:
format том [/fs: Файловая_Система] [/v: метка] [/q] [/a: размер] [/c] [/x]
При написании синтаксиса какой-либо команды квадратными скобками выделяются необязательные параметры.
Это подтверждает следующий пример написания команды:
format e : — будет отформатирован носитель в дисководе E;
- s et – служит для работы с переменными среды. Эта cmd команда позволяет создавать, удалять и присваивать значение переменным, которые можно использовать во время работы с командной строкой. Синтаксис:
set [[/a [выражение]] [/p [имя_переменной=]] строка]
Пример:
set include=c:inc
- start – предназначена для запуска указанной программы или команды в отдельном окне:
Пример:
start notepad

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