- Запуск командной строки.
- Настройка командной строки.
- Использование буфера обмена.
- Использование истории команд и горячих клавиш.
- Автодополнение путей файлов
- Перенаправление данных стандартного ввода /вывода консоли.
- Объединение нескольких команд в цепочку
- Командные файлы
- Свернуть окно cmd
- Закрыть cmd
- С клавиатуры
- Текстовой командой
- Батником
- Linux
Запуск командной строки.
Для запуска командной строки можно использовать один из следующих способов:
Пуск — Выполнить (или клавиши Win + R) введите cmd и нажмите клавишу Enter;
Пуск — Все программы — Стандартные — Командная строка»;
Пуск — Поиск — Командная строка.
Для запуска командной строки также можно использовать заранее подготовленный ярлык, ссылающийся на исполняемый файл %SystemRoot%system32cmd.exe (обычно C:Windowssystem32cmd.exe).
Выполнение некоторых команд требует повышенных привилегий, поэтому приложение командной строки необходимо запускать с помощью пункта контекстного меню «Запуск от имени администратора», вызываемого правой кнопкой мыши.
Настройка командной строки.
Окно командной строки по умолчанию — это окно с белыми символами на черном фоне. Настройки шрифта, цвет символов и фон, использование буфера обмена и другие свойства командной строки можно изменить в соответствии с вашими предпочтениями. Настройки можно выполнить, изменив свойства ярлыка, запускающего приложение командной строки, или отредактировав параметры реестра, относящиеся к оболочке.
Страница, посвященная настройкам CMD
Работа в командной строке предполагает ввод данных с клавиатуры, причем иногда довольно больших объемов. Этот объем можно значительно уменьшить, используя некоторые хитрости:
Использование буфера обмена.
Текст, выделенный в окне программы, можно скопировать в буфер обмена, а также вставить из буфера обмена в поле ввода. При настройках командной строки по умолчанию для выделения текста используется пункт «Заметка» в контекстном меню, вызываемом правой кнопкой мыши. При желании в свойствах ярлыка, с помощью которого осуществляется запуск, можно включить режим выбора мышью:
В режиме выделения мышью контекстное меню не используется, а выделение текста осуществляется левой кнопкой мыши. Копирование и вставка осуществляется нажатием правой кнопки мыши. При включенном режиме «Разрешить горячие клавиши с КОНТРОЛЕМ» вы можете использовать стандартные горячие клавиши:
— CTRL+C (CTRL+Вставить) – скопировать выделенный текст.
— CTRL+V (Shift+Insert) – вставить выделенный текст.
Использование истории команд и горячих клавиш.
Чтобы вызвать ранее введенные команды, используйте клавиши со стрелками Стрелка вверх — на одну команду назад и Стрелка вниз — на одну команду вперед. Кроме того, вы можете использовать функциональные клавиши:
F1 — посимвольный вызов последней введенной команды. Каждое нажатие F1 вызывает последовательную замену в поле ввода одного символа из предыдущей команды.
F2 — скопировать в персонажа. После нажатия F2 на экране появляется сообщение о символе, на который следует скопировать предыдущую команду. Например, если предыдущая команда была ping yandex.ru, а в качестве символа была указана точка, то в командной строке будет введено ping yandex, если указан пробел, то — ping.
F3 — вызвать предыдущую команду.
F4 — удалить до символов. Удаляет текст от текущей позиции курсора до указанного символа.
F5 и F8 — вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается, когда отображается первая команда для текущего сеанса.
F7 — показать ранее введенные команды в отдельном окне в виде списка. Чтобы выполнить нужную команду, выберите ее с помощью клавиш со стрелками и нажмите ENTER
F9 — выполнить команду, номер которой запрашивается. Номер команды в списке истории можно получить с помощью F7.
В Windows 10/Windows Server 2016 появились функции, недоступные в предыдущих реализациях командной строки:
— Изменить прозрачность окна консоли при нажатии комбинаций CTRL+Shift+- или CTRL+Shift++.
— Включить/отключить полноэкранный режим при нажатии CTRL+Enter.
— Расширить возможности выделения и редактирования текста:
Shift+Home — выделить текст от текущей позиции курсора до начала строки.
Shift+End — выделение текста от текущей позиции курсора до конца строки.
— Быстрая навигация по экранному буферу и поиск по контексту:
CTRL+Home — перейти в начало буфера экрана
CTRL+End — перейти в конец буфера экрана.
CTRL+стрелка вверх — перейти на 1 строку вверх.
CTRL+стрелка вниз — перейти на 1 строку вниз.
CTRL+F — открыть диалог поиска текста в буфере экрана.
Окно командной строки в Windows 10 можно закрыть с помощью стандартной комбинации клавиш — ALT+F4.
Чтобы отключить новые возможности CMD, установите флажок в свойствах приложения «Использовать старую версию консоли (требуется перезагрузка)”
Автодополнение путей файлов
В командной строке Windows вы можете выполнять замену файлов и каталогов при нажатии клавиши Tab. Например, чтобы перейти к каталогу с длинным именем Program Files, введите первую часть имени каталога
CD Pro и нажмите Tab. В строке ввода должна появиться команда :
Диск «Программные файлы»
Как видите, недостающая часть имени каталога заменяется, а в случаях, когда оно содержит пробел, добавляются еще и двойные кавычки.
Если есть несколько совпадающих начальных частей имени файла или каталога, следующее имя в алфавитном порядке будет заменяться каждый раз, когда вы нажимаете клавишу Tab. Чтобы вернуться к предыдущему — используйте комбинацию Shift+Tab
Перенаправление данных стандартного ввода /вывода консоли.
Как уже упоминалось, устройством ввода по умолчанию в командной строке является клавиатура, а устройством вывода — экран. Однако можно перенаправить ввод-вывод на другие устройства с помощью операторов перенаправления:
> — перенаправление вывода. Вывод записывается в файл или передается на указанное устройство.
ping –n 5 localhost > nul – пропинговать петлевой интерфейс 5 раз, перенаправляя вывод на фиктивное устройство nul.
Вывод команды подавляется. Аналогичная методика используется для организации задержки в пакетных файлах, так как пинг петлевого интерфейса практически мгновенный, а интервал между пингами составляет одну секунду, время выполнения этой команды определяется значением параметра -n
ping –n 100 yandex.ru > C:ping-ya.txt — пропинговать узел yandex.ru 100 раз, записать результаты выполнения команды в файл C:ping-ya.txt.
Если файл не существует, он будет создан, а если существует, то его содержимое будет перезаписано.
>> — то же, что и в предыдущем случае, но данные записываются в конец файла.
ping –n 100 yandex.ru >> C:ping-ya.txt — то же, что и в предыдущем примере, но если файла нет, то он будет создан, а если есть, то результаты будут записаны в окончательный файл.
< — перенаправление ввода. Данные считываются не с клавиатуры, а из файла или другого устройства.
cmd < 1.txt — запустить командный процессор CMD и ввести данные из файла 1.txt. Если в файле поставить строку ping –n 100 yandex.ru, будет выполнена рассмотренная выше команда.
| — перенаправить вывод первой команды на ввод следующей.
Часто вывод одной команды необходимо отправить в качестве ввода другой, т.е объединить команды в последовательную цепочку:
ping -n 100 microsoft.com | find «Interval Exceeded» — результат ping -n 100 microsoft.com отправляется в качестве входных данных для команды поиска строк (find), содержащих текст «Interval Exceeded».
ping -n 100 microsoft.com | найти «Interval Exceeded» > C:ping-ya.txt — то же, что и в предыдущем примере, но перенаправляет вывод команды в текстовый файл.
Использование дескрипторов консольного ввода/вывода.
Каждый открытый файл или устройство имеет свой собственный дескриптор (дескриптор), представляющий собой неотрицательное число, значение которого используется процессом, создавшим поток ввода-вывода. По умолчанию для всех процессов, включая командную строку cmd.exe :
0 (STDIN) — это дескриптор стандартного ввода (ввод с клавиатуры).
1 (STDOUT) – стандартный дескриптор вывода (вывод на экран).
2 (STDERR) – описание вывода диагностических сообщений (сообщений об ошибках на экране).
Дескрипторы можно использовать, когда вы хотите перенаправить (изменить) источники данных и места назначения в стандартных потоках ввода-вывода. Например:
ping.exe –n 100 yandex.ru 2> C:pinglog.txt — на экран будет выведен стандартный поток сообщений программы ping.exe, а ошибки (вывод по умолчанию с дескриптором = 2) будут записаны в файл C:pinglog.txt . В реальном случае эта конструкция не имеет значения для программы ping.exe, так как она выводит на экран и диагностику, и результаты.
Чтобы указать перенаправление на существующие дескрипторы, используйте амперсанд (&), за которым следует номер нужного дескриптора (например, &1):
ping –n 100 yandex.ru >log.txt 2>&1 — стандартный поток сообщений об ошибках (дескриптор=2) перенаправляется на стандартный поток вывода (дескриптор=1) и все это перенаправляется в файл log.txt текущей директории.
ping –n 100 yandex.ru >log.txt 1>&2 — стандартный вывод (дескриптор = 1) перенаправляется на вывод ошибок (дескриптор = 2) и все это записывается в текстовый файл.
Если дескриптор не определен, оператор перенаправления ввода по умолчанию < будет равен нулю (0), а оператор перенаправления вывода > будет равен единице.
Объединение нескольких команд в цепочку
В командной строке Windows возможно последовательное выполнение нескольких команд в зависимости от результатов их выполнения. Что такое символы объединения команд — & (амперсанд) и | (вертикальная линия)
& — один амперсанд используется для разделения нескольких команд в одной командной строке. Например:
echo ping ya.ru — показать строку ping ya.ru
echo &ping ya.ru — последовательное выполнение команды echo без параметров и команды ping ya.ru
&& — условное выполнение второй команды. Она будет выполнена, если код выхода (значение которого передается в переменную по умолчанию ERRORLEVEL) первой команды равен нулю, т.е команда выполнена.
команда1 && команда2 — команда1 выполняется, а команда2 выполняется только в том случае, если первая была успешной.
Например:
ping ya.ru -err & ping –n 2 ya.ru — при использовании одного амперсанда первая команда ping ya.ru –err сообщит о недопустимом параметре -err, а вторая, ping –n 2 ya .ru, дважды пропингует узел ya.ru
ping ya.ru -err && ping –n 2 ya.ru — при использовании двойного амперсанда первая команда ping ya.ru –err выведет сообщение о недопустимом параметре -err и, соответственно, сформирует вывод, который не нулевой код (ошибка), из-за которого вторая команда (ping ya.ru -n 2) не будет выполнена.
Двойная вертикальная линия || — условное выполнение второй команды. Если первая команда закончилась ненулевым кодом возврата (сбой), выполняется команда после двойной вертикальной черты.
слой1 || команда2 — если команда1 не удалась, запускается команда2 для выполнения
ping –n 1 ya.ru && ping –n2 ya.ru || ping –n 3 ya.ru — сначала будет выполнена первая команда ping ya.ru –n 1 — однократный пинг хоста ya.ru, затем будет выполнена команда ping ya.ru -n 2 — двойной пинг хоста ya.ru.
Третья команда, ping ya.ru -n 3, не будет пинговать узел ya.ru три раза.
ping –n 1 –err ya.ru && ping ya.ru -n 2 || ping ya.ru -n 3 — первая команда ping ya.ru -n 1 -err завершится ошибкой из-за неверного параметра -err, вторая команда ping -n 2 ya.ru — двойной пинг ya.ru- host не будет выполняться из-за условий двойного амперсанда, и в результате будет выполнена третья команда ping –n 3 ya.ru, которая трижды пропингует хост ya.ru.
В некоторых случаях может возникнуть необходимость запретить обработку служебных символов и интерпретировать их как обычный текст. Например, если вы наберете в командной строке
ЭХО ping -n 1 ya.ru & ping -n 2 ya.ru поэтому вместо текста ping -n 1 ya.ru & ping -n 2 ya.ru появится его часть до амперсанда ping -n 1 ya.ru и дальше будет команда после амперсанда — ping -n 2 ya ru казнен.
Проблема решается использованием специального escape-символа ^, который позволяет использовать служебные символы в качестве текста:
ECHO ping -n 1 ya.ru ^& ping -n 2 ya.ru — вывести текст ping -n 1 ya.ru & ping -n 2 ya.ru
Логика условной обработки команд реализована с использованием && и || влияет только на непосредственную команду, то есть при вводе команды TYPE C:plan.txt && DIR & COPY /?
скопируйте команду /? будет работать в любом случае, независимо от результата команды TYPE C:plan.txt. Но несколько команд можно сгруппировать с помощью круглых скобок.
Например, есть 2 командные строки:
TYPE C:plan.txt && DIR & COPY /?
ТИП C:plan.txt && (КАТАЛОГ И КОПИРОВАТЬ /?)
В первом из них символ условной обработки && действует только на команду DIR, во втором — сразу на две команды: DIR и COPY. В качестве визуального эксперимента попробуйте выполнить вторую команду при наличии и отсутствии файла C:plan.txt. Чтобы создать пустой файл, вы можете использовать копию с фиктивного устройства nul:
скопировать ноль C:plan.txt
Чтобы удалить файл, используйте команду erase c:plan.txt или delete C:plan.txt
Читайте также: Как обычно спящий режим Windows 7: отмена печати компьютера в сын
Командные файлы
Командные файлы (скрипты, сценарии) представляют собой обычные текстовые файлы с заранее подготовленным набором команд для их выполнения командным процессором cmd.exe. По умолчанию такие файлы имеют расширение .bat или .cmd.
Строки пакетного файла могут содержать определенные команды от самого командного процессора, такие как FOR, ECHO, REM и так далее или имена исполняемых модулей — reg.exe, sc.exe, auditpol.exe., которые можно использовать без расширения — рег, ск, аудит полюс Пример простого командного файла:
REM Создает текстовый файл со списком каталогов Windows
каталог C:Windows > %TEMP%winlist.txt
REM задерживается на 5 секунд
ping -n 5 локальный хост > ноль
Файл REM открывается в редакторе WordPad
введите %TEMP%winlist.txt
REM После выхода Wordpad текстовый файл удаляется.
удалить C:winlist.txt
Строки, начинающиеся с REM, являются комментариями. В качестве примера используются команды для работы с файловой системой и запускается приложение графической среды — ему передается текстовый редактор Wordpad (write.exe) с параметром командной строки (имя файла).
Язык пакетных файлов достаточно примитивен и не в полной мере отвечает сегодняшним требованиям, но является простейшим средством автоматизации рутинных операций и используется большинством системных администраторов и грамотных пользователей. Работа с пакетными файлами — это отдельная тема, которая более подробно описана на странице пакетных файлов.
Свернуть окно cmd
Друзья, в моей практике часто бывают случаи, когда некоторые пользователи, говоря «закрыть», имеют в виду свернуть окно — в случае с cmd работают все те же методы, что и с любой другой программой:
- Щелкните один раз мышкой (левой кнопкой) по линии в правом углу окна (там, где красный крестик).
- Сверните текущее окно с помощью комбинации клавиш ALT и TAB или снова нажмите TAB, чтобы перейти к нужному окну. Кнопку ALT нужно зажать.
- Чтобы сразу оказаться на рабочем столе, то есть свернуть все окна сразу, используйте одну из двух комбинаций — WIN+D или WIN+M.
Закрыть cmd
Думаю, все знают, как закрыть окно командной строки мышкой — нужно нажать на красный прямоугольник с белым крестиком внутри, расположенный в правом верхнем углу. Есть одна альтернатива:
- Щелкните правой кнопкой мыши в верхней части окна.
- В контекстном меню, которое появляется, если вы щелкнули там, где это необходимо, выберите действие «Закрыть».
С клавиатуры
Все, что описано в предыдущем пункте статьи, достаточно просто, но что делать, если «хвоста-помощника» нет под рукой или он сломан. Приходится обходиться без мышки. На самом деле есть несколько способов закрыть cmd с помощью клавиатуры:
- Это же контекстное меню можно вызвать, нажав ALT+ПРОБЕЛ, затем с помощью стрелки «вниз» пролистать вниз до нужного действия и подтвердить его нажатием кнопки ENTER.
- Или вы можете обратиться за помощью к диспетчеру задач. Запускается нажатием трех клавиш — CTRL+ALT+DEL (DELETE).
- В Диспетчере во вкладке «Процессы» (перемещаться между пунктами меню и вкладками можно кнопкой TAB и стрелками) с помощью стрелки «вниз» перейти вниз к процессу «Обработчик команд Windows» (вероятно, что в 10 , 8 или 7 версии название будет немного другое, так что ищите что-то похожее).
- Когда вы выделите нужный процесс, нажмите кнопку DEL или «Контекстное меню», которая отображает список (прямоугольник с черточками внутри) и находится между правым ALT и CTRL на клавиатуре.
- В появившемся списке команд выберите «Завершить задачу».
Текстовой командой
Предположим, что вы умеете управлять командной строкой через текстовые команды, и я подскажу, какую из них закрыть cmd:
- Введите выход и нажмите Enter. Кстати, если ввести это же слово в конце списка других команд, консоль автоматически закроется после выполнения указанных задач.
- Если предыдущий способ не сработал, что случается редко, введите taskkill /F /IM cmd.exe и также нажмите Enter.
Батником
Раз уж я решил рассказать обо всех вариантах, то приведу и совсем замороченный способ для тех, кто не ищет простых способов или предпочитает запечатывать все действия в bat-файлы. Сначала необходимо создать пакетный файл:
- Введите команду taskkill /F /IM cmd.exe в новый текстовый документ в редакторе «Блокнот» (правый клик на пустом месте рабочего стола, затем действие «Создать текстовый документ.
- С помощью пункта «Сохранить как…» меню «Файл» сохраните документ под любым именем с расширением .bat, например «Close.bat».
- Сверните окно командной строки одним из способов, описанных в первом абзаце этой статьи. Вы должны быть за своим столом.
- Используя клавишу TAB, прыгайте по значкам, пока не дойдете до «Close.bat».
- Нажмите кнопку «Ввод.
Linux
Наконец, я кратко расскажу о том, как выйти из консоли или закрыть терминал Linux:
- Если вы находитесь в консоли, то нажмите комбинацию клавиш CTRL+ALT+F7, чтобы вернуться на рабочий стол.
- Если вы хотите выйти из терминала, находясь в графической среде, введите команду выхода.