Настройки командной строки windows 7. Командная строка

Что такое командная строка

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

Как вызвать командную строку

Командная строка — это приложение cmd.exe и его можно запустить следующими способами:
Пуск -> Все программы -> Стандартные -> Командная строка.
Пуск -> Выполнить и введите имя программы cmd.exe
Для того, чтобы перейти к нужному каталогу, необходимо применить команду cd. Например, если необходимо запустить программу Exif Pilot.exe, которая находится в каталоге C:\Program Files\Exif Pilot, то необходимо выполнить команду cd C:\Program Files\Exif Pilot. Можно то же самое сделать, сменяя каталоги один за другим и поочередно вызывая команду cd.

Так, следующий набор команд является аналогом предыдущей.
cd c:\Program Files
cd Exif Pilot
Для того чтобы распечатать содержимое папки, достаточно набрать команду dir. Существует возможность перенаправить выводимый программой поток напрямую в текстовый файл для дальнейшей обработки. Для этого необходимо использовать управляющий символ «>» и имя текстового файла, например dir > report.txt.
Для того, чтобы вручную не переходить к нужной директории можно воспользоваться каким-нибудь файловым менеджером. Для начала нужно в файловом менеджере перейти в нужный каталог и вызвать cmd.exe из командной консоли менеджера.
Вы можете воспользоваться файловыми менеджерами, такими как Total Commander, FAR Manager, 2xExplorer, EF Commander, Speed Commander и др.
Подробнее о файловых менеджерах Вы можете узнать здесь.

Как передать вызываемому приложению параметры командной строки

Для каждого приложения, поддерживающего командную строку, предусмотрен специальный набор команд, которые может обрабатывать программа. Параметры команд могут иметь самый разный формат. Чтобы передать программе параметры, необходимо ввести в командной строке имя приложения и параметры команд. После нажатия Enter запустится приложение с введенными командами.
Например, program.exe /print c:\ doc\1.txt. Результатом команды будет вывод на печать файла doc\1.txt.

Настройка окна командной строки

Чтобы настроить командную строку, выполните следующие действия.
1.Откройте окно командной строки.
2.Щелкните левый верхний угол окна и выберите команду Свойства.
3.Выберите вкладку Общие.
4.В области Запоминание команд выберите или введите значение 999 в поле Размер буфера, а затем выберите или введите значение 5 в поле Количество буферов.
5.В области Редактированиеустановите флажки Выделение и Быстрая вставка.
6.Выберите вкладку Расположение.
7.В области Размер буфера экрана введите или выберите значение 2500 в поле Высота.
8.Выполните одно из следующих действий по выбору.

— В области Размер буфера экрана увеличьте значение параметра Ширина.
— В области Размер окна увеличьте значение параметра Высота.
— В области Размер окна увеличьте значение параметра Ширина.

9.Снимите флажок Автоматический выбор, а затем в области Положение окна измените значения полей Левый край и Верхний край.
10.В диалоговом окне Изменение свойств выберите вариант Сохранить свойства для других окон с тем же именем.

Примечания:
Чтобы открыть окно Свойства -> Командная строка с помощью клавиатуры, нажмите клавиши ALT+ ПРОБЕЛ +Й.
Флажок Выделение мышью позволяет копировать и вставлять данные в окне командной строки. Чтобы скопировать, выделите левой кнопкой мыши текст в окне командной строки и нажмите правую кнопку мыши. Чтобы выполнить вставку в командную строку или текстовый файл, щелкните правой кнопкой мыши.
Увеличение размера буфера экрана до 999 позволяет выполнять прокрутку в окне командной строки.
Увеличение количества буферов до пяти увеличивает число строк в окне командной строки до 5000.

Редактирование текста в окне командной строки

Для копирования и вставки текста в окно командной строки обычные для Windows комбинации клавиш, такие как Ctrl+C, Ctrl+V, работать не будут.
Для извлечения текста из буфера обмена вам придется вызвать меню, щелкнув правой кнопкой мыши по заголовку окна, и выбрать подменю Изменить. Или же просто щелкните правой кнопкой по окну.
Для копирования текста из окна выберите пункт Пометить и мышью выделите нужный текст. Затем либо нажмите Enter, либо в том же меню выберите Копировать. Если надо вставить какой-то текст в окно командной строки, обратитесь к команде Вставить.
Для повторного выполнения команды воспользуйтесь стрелками «вверх» и «вниз», позволяющими перемещаться по списку выполненных команд. Для очистки экрана от текста служит директива cls.

Как закрыть окно командной строки

Для того чтобы закрыть консоль командной строки, необходимо выполнить команду exit.
В современных операционных системах существует множество команд и утилит. Запомнить такое количество различных программ, а тем более их параметров очень сложно, поэтому одним из самых важных параметров для каждой программы является сочетание символов «/?». Выполнив команду с таким параметром, пользователь получит исчерпывающее сообщение о применении утилиты и синтаксисе ее параметров. Например, набрав в командной строке cmd /?, можно будет просмотреть информацию о команде cmd.

Доброго всем дня.

При решении разнообразных вопросов с Windows, очень часто приходится выполнять различные команды через меню «Выполнить» (так же с помощью этого меню можно запускать те программы, которые скрыты от глаз).

Часть программ, тем не менее, можно запустить с помощью панели управления Windows, но, как правило, это дольше. На самом деле, что проще, ввести одну команду и нажать Enter или открывать 10 вкладок?

В своих рекомендациях я так же часто ссылаюсь на те или иные команды, как их вводить и пр. Именно поэтому, родилась идея создать небольшую справочную статью с самыми нужными и востребованными командами, которые часто приходиться запускать через «Выполнить». Итак…

Вопрос №1: как открыть меню «Выполнить»?

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

В Windows 7 данная функция встроена в меню ПУСК, достаточно лишь его открыть (скриншот ниже). Так же нужную команду можно ввести в строку «Найти программы и файлы «.

Windows 7 - меню «ПУСК» (кликабельно).

В Windows 8, 10 достаточно нажать сочетание кнопок Win и R , далее перед вами всплывет окно, в нем то и нужно ввести команду и нажать Enter (см. скриншот ниже).

Windows 10 - меню «Выполнить».

Список популярных команд для меню «ВЫПОЛНИТЬ» (по алфавиту)

1) Internet Explorer

Команда: iexplore

Думаю, здесь без комментариев. Введя эту команду можно запустить интернет-браузер, который есть в каждой версии Windows. «Зачем его запускать?» - можете спросить Вы. Все просто, хотя бы для того, чтобы скачать другой браузер:).

2) Paint

Команда: mspaint

Помогает запустить графический редактор, встроенный в Windows. Не всегда удобно (например, в Windows 8), искать среди плиток редактор, когда можно вот так быстро его запустить.

Команда: write

Полезный текстовый редактор. Если на ПК нет Microsoft Word - то вообще незаменимая вещь.

4) Администрирование

Команда: control admintools

Полезная команда при настройке Windows.

5) Архивация и восстановление

Команда: sdclt

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

6) Блокнот

Команда: notepad

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

7) Брандмауэр Windows

Команда: firewall.cpl

Точечная настройка встроенного брандмауэра в Windows. Очень помогает, когда вам нужно отключить его, либо дать доступ к сети какому-нибудь приложению.

Команда: rstrui

Если ваш ПК стал работать медленнее, зависать и т.д. - то возможно стоит его откатить назад, в то время, когда все работало хорошо? Благодаря восстановлению можно исправить многие ошибки (правда, часть драйверов или программ, могут быть потеряны. Документы и файлы останутся на «месте»).

Команда: logoff

Стандартный выход из системы. Бывает необходим, когда зависло меню ПУСК (например), либо в нем просто-напросто нет данного пункта (такое бывает при установки разнообразных сборок ОС от «умельцев»).

Команда: timedate.cpl

У некоторых пользователей если пропадет значок со временем или датой - начнется паника… Эта команда поможет настроить время, дату, даже, если у вас нет этих значков в трее (изменения могут потребовать администраторских прав).

11) Дефрагментация диска

Команда: dfrgui

12) Диспетчер задач Windows

Команда:

Кстати, диспетчер задач чаще всего вызывают кнопками Ctrl+Shift+Esc (на всякий случай - есть второй вариант:)).

Команда: devmgmt.msc

Очень полезный диспетчер (да и команда сама по себе), его приходиться открывать довольно часто при различных проблемах в Windows. Кстати, чтобы открыть диспетчер устройств можно долго «ковыряться» в панели управления, а можно вот так вот быстро и изящно…

Команда: shutdown /s

Эта команда для самого обычного выключения компьютера. Пригодится в тех случаях, когда меню ПУСК не реагирует на ваши нажатия.

15) Звук

Команда: mmsys.cpl

Меню настройки звука (без доп. комментариев).

Команда: joy.cpl

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

Команда: calc

Такой простой запуск калькулятора помогает сэкономить время (особенно в ОС Windows 8 или у тех пользователей, где перенесены все стандартные ярлыки).

Команда: cmd

Одна из самых полезных команд! Командная строка довольно часто нужна при решении всевозможных проблем: с диском, с ОС, с настройкой сети, адаптеров и т.д.

Команда: msconfig

Очень важная вкладка! Помогает настроить автозагрузку ОС Windows, выбрать тип запуска, указать, какие программы запускать не следует. В общем, одна из вкладок для детальной настройки ОС.

Команда: perfmon /res

Используется для диагностики и выявления узких мест в производительности: жесткого диска, центрального процессора сети и т.д. В общем, когда ваш ПК тормозит - рекомендую заглянуть сюда…

21) Общие папки

Команда: fsmgmt.msc

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

22) Очистка диска

Команда: cleanmgr

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

23) Панель управления

Команда: control

Поможет открыть стандартную панель управления Windows. Если меню ПУСК зависло (такое бывает, при проблемах с проводником / explorer) - то вообще, незаменимая вещь!

24) Папка «Загрузки»

Команда: downloads

Быстрая команда для открытия папки загрузок. В эту папку по умолчанию Windows скачивает все файлы (довольно часто многие пользователи ищут, куда же Windows сохранили только что скачанный файл…).

Команда: control folders

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

Команда: shutdown /r

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

Команда: control schedtasks

Очень полезная вещь, когда вы хотите настроить расписание запуска определенных программ. К примеру, чтобы добавить некоторые программу в автозагрузку в новых Windows - проще это делать через планировщик заданий (так же указать, через сколько минут/секунд запускать ту или иную программу, после включения ПК).

Команда: chkdsk

29) Проводник

Команда:

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

Команда: appwiz.cpl

Эта вкладка позволит ознакомиться с теми приложениями, которые установлены на вашем компьютере. Не нужные - можно удалить. Кстати, список приложений можно сортировать по дате установки, названию и пр.

Команда: desk.cpl

Откроется вкладка с настройками экрана, среди основных - это разрешение экрана. В общем, чтобы долго не искать в панели управления - гораздо быстрее набрать данную команду (если ее знать, конечно).

32) Редактор локальной групповой политики

Команда: gpedit.msc

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

Команда: regedit

Еще одна мега-полезная команда. Благодаря ней можно быстро открыть системный реестр. В реестре очень часто приходиться редактировать неверные сведения, удалять старые хвосты и пр. В общем-то, при самых разнообразных проблемах с ОС - без того, чтобы «не залезть» в реестр, не получается.

34) Сведения о системе

Команда: msinfo32

Очень полезная утилита, которая расскажет о вашем компьютере буквально все: версию Биос, модель материнской платы, версию ОС, ее разрядность и т.д. Информации очень много, не зря говорят, что эта встроенная утилита может заменить собой даже некоторые сторонний программы этого жанра. Да и вообще, представьте, подошли вы к не своему ПК (не будете же устанавливать сторонний софт, да и иногда это сделать невозможно) - а так, запустил, посмотрел все что нужно, закрыл…

Команда: sysdm.cpl

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

36) Свойства: Интернет

Команда: inetcpl.cpl

В последнее время мне часто задаю этот вопрос: «Как вы настроили свой терминал, чтобы он так выглядел?» Если вы заметили мой терминал и вам интересно, как я его настроил, это учебник для вас! Конечно, того, что вы узнаете здесь, будет достаточно, чтобы начать создавать собственный стиль командной строки!

Прежде чем мы начнем, я хочу кое-что прояснить. Я, конечно, энтузиаст командной строки, но я вовсе не профессионал. Я чувствую себя как дома в терминале, но я далек от знания всего. Итак, сделаем следующим образом: я покажу вам, как я настроил свой терминал, но это не значит, что я смогу объяснить каждую строку кода, которую мы увидим. Будут некоторые вещи представлены так, как есть, потому что они просто работают... и я не всегда на 100% знаю, почему.

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

Встреча с готовым продуктом

Вот как выглядит мое приветствие командной строки:

Если вы не уверены в том, что вы здесь видите, позвольте мне объяснить:

  • В бирюзовом цвете мы имеем имя компьютера; в моем случае это mothership . Затем следует двоеточие.
  • Затем у нас есть рабочий каталог, представленный в желто-оранжевом.
  • Если мы находимся в репозитории git, у нас есть информация об этом. Главное здесь - название ветки (master или tilt_in_post_class на скриншоте). Кроме того, если рабочий каталог чист, этот текст отображается зеленым цветом; в противном случае он отображается красным цветом.
  • Наконец, у нас есть индикатор батареи. Если десять треугольников зеленые и заполнены, батарея заряжена. Когда моя батарея опустеет, треугольники опустеют и в конечном итоге станут красными. Конечно, если вы не на ноутбуке, как я, это не будет так полезно для вас.

Подготовка среды

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

Во-первых, есть цветовая схема. Вы можете распознать его как цветовая схема Solarized Этана Шуновера . Она довольно симпатичная, и я использовал ее как в терминале, так и в Vim с тех пор, как я ее обнаружил. Если вы хотите использовать ее в терминале, вам нужно будет установить тему. Терминал в Snow Leopard не поддерживает xterm-256color, поэтому вам нужно будет следовать некоторым специальным указаниям на странице Solarized GitHub, чтобы она заработала, если вы все еще находитесь на этой ОС.

Если вы перешли к Lion, вы можете просто установить файлы.terminal , которые вы найдете в папке xterm-256color . После того, как вы установите их (просто дважды щелкните их), вы сможете выбрать тему, которую захотите в настройках терминала. Не забудьте установить ее как схему по умолчанию.

Следующее, что нужно знать, это то, что я не использую оболочку bash по умолчанию в моем терминале. Вместо этого я переключился на zsh, который в основном совместим с bash, но имеет несколько приятных дополнений, например, лучшее автодополнение по табу. Вот как это сделать: откройте настройки системы Mac и перейдите к «Пользователи и группы». Разблокируйте панель, щелкнув блокировку внизу и введя свой пароль. Затем щелкните правой кнопкой мыши на вашем пользователе в списке и выберите «Дополнительные параметры». В поле «Входная оболочка» перейдите из /bin/bash в /bin/zsh . Это так просто.

Шрифты

Следующий шаг: получите правильный шрифт. Я использую Inconsolata в 15pt. Это бесплатный моноширинный шрифт, на который мне нравится смотреть в течение всего дня. (Помимо использования его в терминале, я использую его в Vim и TextEdit.) Вы можете установить шрифт по умолчанию из настроек терминала, прямо там, где вы выбираете цветовую схему.

Еще одна небольшая вещь - размер вашего окна: Откройте «Настройки терминала»> «Настройки» и перейдите на вкладку «Окно»; проскрольте вниз, вы можете выбрать количество столбцов и строк, которые вы хотите; Я использую 130 столбцов на 30 строк.

Аккумулятор

Помните индикатор уровня заряда батареи? Ну, для этого требуется небольшой скрипт от разработчика Стива Лоша ; просто скопируйте это в файл и сохраните его как файл python; поскольку ~/bin находится в PATH моего терминала, я сохранил файл в ~/bin/batcharge.py . Как он отмечает, этот скрипт будет работать только в Mac OS X, поэтому, если вы запускаете zsh в другой системе, вам придется пропустить эту часть.

Zsh

Наконец, но, конечно же, не в последнюю очередь - oh-my-zsh. Согласно репозиторию Github , это всего лишь «Несколько функций, помощников с автодополнением и прочее, что заставляет вас кричать« OH MY ZSHELL! »»

Зачем использовать его? Для меня я решил попробовать в какой-то момент, и я оставил его установленным. Если вы пользуетесь терминалом много, немного окунитесь вокруг oh-my-zsh, когда у вас есть время. Вы можете быть удивлены тем, что обнаружите. Установка oh-my-zsh довольно проста: просто следуйте инструкциям по установке в README ; они довольно прямолинейны.

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

Создание файлов

Когда вы установили oh-my-zsh, он был установлен в ~/.oh-my-zsh . Откройте эту папку. Вы увидите две папки themes и templates . Внутри templates вы найдете файл с именем zshrc.zsh-template . Это шаблон для файла ~/.zshrc . Если вы уже настраивали свой терминал раньше, вы знаете, что файл.bashrc - это то место, где хранятся ваши настройки, когда вы используете оболочку bash. .zshrc - это то же самое, только уже для оболочки zsh. Поэтому откройте этот файл шаблона; вам не нужно знать, что именно происходит; в конце концов, в файле есть много комментариев, которые могут не иметь смысла. Здесь важно одно. Обратите внимание на строку, в которой говорится следующее:

ZSH_THEME="robbyrussell"

Это название темы, которую использует ваш терминал. Посмотрите в папку themes: вы увидите файл r obbyrussel.zsh-theme . Мы собираемся создать собственную тему, поэтому вы можете заменить эту строку именем нашего нового файла. Я неоднократно называл мою «doubleend», потому что она идет по обе стороны терминала.

Любые другие настройки, которые вы хотите внести в среду zsh, могут быть сделаны в этом файле. Если вы постоянно используете терминал, проверьте плагины oh-my-zsh (в папке plugins): там есть масса полезных вещей.

Не забудьте скопировать в zshrc.zsh-template в свой домашний каталог и переименовать его в.zshrc , прежде чем вносить изменения. Теперь в папке themes создайте файл с именем темы, заданным в файле.zshrc . Убедитесь, что вы добавили расширение.zsh-theme . Мы готовы создать собственную тему.

Создание пользовательской темы

Самая важная вещь в вашем файле темы - это переменная PROMPT . Это содержимое командной строки. Чтобы получить представление об этом, начните с этого в файле темы:

PROMPT="myPrompt=>"

Откройте новое окно терминала, и вы увидите следующее:

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

PROMPT=" $reset_color→ "

Да, вы можете делать многострочные строки, которые легко выполняются в сценариях оболочки. Но для чего $reset_color ? Это переменная, которую oh-my-zsh определяет для нас; она сбрасывает цвет вывода. Для этого требуется небольшое отступление, чтобы обсудить, как мы раскрашиваем разные слова в подсказке. Вы видите, есть код - серия символов, которые переключают следующий текст в цвет. Очевидно, есть код для каждого доступного цвета. Не беспокойтесь, есть другие переменные для других цветов; вам не нужно изучать коды. К тому времени, когда мы дойдем до третьей строки, мы хотим сбросить ее до цвета текста по умолчанию; поэтому мы используем переменную $reset_color .

Если вам интересен символ стрелки, это стрелка вправо Unicode (U + 2192, & rarr;). Вот и все.

Итак, теперь наше приглашение выглядит так:

Взгляд стройный. Теперь добавим имя компьютера и рабочий каталог. Это все для этой второй строки нашей переменной PROMPT .

$fg%m: $fg$(get_pwd)

Начнем с установки цвета текста в синий цвет; кажется, что мы получаем этот цветовой код из ассоциативного массива или хэша; в то время как я его не использую, есть хеш $bg , который меняет цвет фона вместо цвета переднего плана (текста).

После установки цвета у нас идет %m , который выводит имя компьютера. После двоеточия и пробела мы переключаем цвет текста на желтый. Затем мы используем знак доллара и parens, чтобы добавить результат функции get_pwd . Это выведет наш текущий рабочий каталог. Если я в домашнем каталоге, я не хочу видеть /Users/andrew , я хочу видеть ~ вместо этого. Итак, вот эта функция:

Function get_pwd() { echo "${PWD/$HOME/~}" }

Оболочка функции довольно проста, если вы уже знакомы с JavaScript. Я не уверен, откуда возник синтаксис для поиска и замены, но выглядит очень похоже на синтаксис поиска и замены Vim: если PWD содержит текст $HOME (системная переменная для вашего домашнего каталога), замените его на ~ .

Теперь вот что:

Хорошо! Теперь наступает сложная часть. Видите ли, я хочу выровнять справа информацию о git и индикатор батареи. Поскольку на самом деле нет правильного выравнивания, нам нужно подсчитать количество символов текста, которое нам нужно, вычесть его из ширины окна и добавить этот интервал. Это выглядит как хак, и код довольно грязный, но это все, что я смог найти, что на самом деле работает.

Готовы? Мы вставляем интервал с функцией, которую я называю get_spacing . Поэтому добавьте $(get_spacing) до конца второй строки, так что теперь она выглядит так:

$fg%m: $fg$(get_pwd)$(put_spacing)

Теперь эта функция. Конечно, вот оболочка:

Function put_spacing() { }

Внутри есть четыре части. Вот первая.

Local git=$(git_prompt_info) if [ ${#git} != 0 ]; then ((git=${#git} - 10)) else git=0 fi

Начнем с получения результата из функции git_prompt_info и сохранения его в локальной переменной git . Затем, если длина этой строки не равна 0, мы изменяем git так, чтобы теперь была длина строки минус 10. В противном случае мы сбросим git до 0. Это, похоже, не имеет особого смысла, пока вы не поймете, что мы пытаемся здесь сделать. Мы хотим узнать, сколько символов «слотов» занимает информация о git. Сложная часть состоит в том, что мы повторно используем переменную git: сначала она содержит строку, затем она содержит число, представляющее количество символов, которые мы имеем в git-информации. Если git равно нулю символов, мы устанавливаем git в 0; если это не так (означает, что мы находимся в репозитории git), мы устанавливаем git на количество символов в строке, минус 10. Это связано с тем, что число символов в строке содержит цветовые коды, которые на самом деле не видны, поэтому они не занимают ширину. Двойные скобки? О, они используются для вычислений.

Мы делаем то же самое для вывода батареи:

Local bat=$(battery_charge) if [ ${#bat} != 0 ]; then ((bat = ${#bat} - 18)) else bat=0 fi

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

Local termwidth ((termwidth = ${COLUMNS} - 3 - ${#HOST} - ${#$(get_pwd)} - ${bat} - ${git}))

Еще больше математики: мы начинаем с COLUMNS , число символов равное ширине терминала. Мы вычитаем все соответствующие значения (3 для двух пробелов и двоеточие), и в итоге получим termwidth , которое нам нужно рассчитать как количество пробелов между левой и правой частями подсказки.

Теперь давайте создадим строку termwidth с числом пробелов:

Local spacing="" for i in {1..$termwidth}; do spacing="${spacing} " done echo $spacing

Простой цикл for-in позволяет нам создавать строку; затем мы ее возвращаем.

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

$fg%m: $fg$(get_pwd)$(put_spacing)$(git_prompt_info)

Обратите внимание, что мы не изменяем цвет перед загрузкой информации Git: функция позаботится об этом, потому что это зависит от статуса репозитория.

И вот сама функция:

Function git_prompt_info() { ref=$(git symbolic-ref HEAD 2> /dev/null) || return echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX" }

Первая строка просто проверяет, находимся ли мы в репозитории Git. Если нет мы return . Если да, следующая строка echo правильную информацию. Обратите внимание на две вещи здесь: во-первых, мы используем две переменные: $ZSH_THEME_GIT_PROMPT_PREFIX и $ZSH_THEME_GIT_PROMPT_SUFFIX . Скоро я покажу вам, как они определяются. Другая вещь - две другие функции, которые вызываются. Они предоставляются oh-my-zsh. Функция current_branch возвращает текущую ветку. Однако parse_git_dirty интереснее. Если текущая ветвь загрязнена (имеет незафиксированные изменения), функция выведет $ZSH_THEME_GIT_PROMPT_DIRTY ; иначе она выведет $ZSH_THEME_GIT_PROMPT_CLEAN .

У меня эти четыре переменные определены так:

ZSH_THEME_GIT_PROMPT_PREFIX="$reset_color" ZSH_THEME_GIT_PROMPT_DIRTY="$fg+" ZSH_THEME_GIT_PROMPT_CLEAN="$fg"

Основываясь на этих переменных, репозиторий на чистой ветке мастера выводит зеленым цветом; будет выведена грязная ветвь master + .

И, наконец, мы вызываем функцию battery_charge:

$fg%m: $fg$(get_pwd)$(put_spacing)$(git_prompt_info) $(battery_charge)

Вот функция battery_charge:

Function battery_charge() { if [ -e ~/bin/batcharge.py ] then echo `python ~/bin/batcharge.py` else echo ""; fi }

Если файл существует, мы запускаем этот файл и повторяем вывод. Обратите внимание, что мы используем обратные тики вокруг запуска файла (это не одинарные кавычки): это позволяет нам выполнить строку кода, как если бы она была в терминале. Если файл не существует, мы просто повторяем пустую строку.

    Интерпретатор команд, он же командный процессор, он же приложение "Командная строка", можно запустить несколькими способами:

Через главное меню – ”Все приложения” - “Стандартные” – ”Командная строка”

Через меню Пуск - Выполнить - cmd.exe

Комбинация клавиш Win+R - cmd.exe

Комбинация клавиш Win+X - Командная строка (только в Windows 8 и более поздних)

Через поиск приложения cmd.exe

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

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

Настройка командной строки через изменение свойств приложения (ярлыка для запуска приложения).

1. Откройте окно Командная строка .

2. Щелкните указателем мышки левый верхний угол окна и в открывшемся меню выберите пункт Свойства .

3. Выберите вкладку Общие .

4. В области Запоминание команд можно изменить размер буфера под историю команд. Если есть необходимость, выберите или введите новое значение (до 999 в поле Размер буфера , а затем выберите или введите число (до 5 ) в поле Количество буферов . Увеличение размера буфера под запоминание команд может пригодиться в тех случаях, когда в течении сессии приходится вводить большое количество текста. Клавиши Стрелка вверх и Стрелка вниз позволяют вызывать ранее набранные и сохраненные в буфере команды. Для того, чтобы в буфере не запоминались одинаковые команды, можно включить флажок Отбрасывать повторения . Значения размера буфера и количество буферов могут обличаться для разных версий Windows.

5. В области Правка установите флажки Выделение мышью и Быстрая вставка . Флажок Выделение мышью позволяет копировать и вставлять данные в окне командной строки с использованием мышки. Чтобы скопировать, выделите левой кнопкой текст в окне командной строки и нажмите правую кнопку мыши. Чтобы выполнить вставку в командную строку или текстовый файл, щелкните правой кнопкой мыши. Можно вместо выделения мышью, использовать стандартный режим, вызываемый через контекстное меню правой кнопкой мышки. Выбирается пункт Пометить , выделяется копируемый текст и нажимается правая кнопка мышки, которая используется и для копирования и для вставки. Стандартные комбинации клавиш для копирования и вставки в командной строке не работают, за исключением Windows 10 / Sever 2016

При желании, можно изменить вид и размер шрифта, цвет символов и фона, расположение и размер окна командной строки. Например, для того, чтобы в окне командной строки отображались символы черного цвета на белом фоне, нужно установить значение цвета символов, равное 0 , а значение цвета фона - 255

В диалоговом окне Изменение свойств (если оно присутствует в данной версии Windows) выберите вариант Сохранить свойства для других окон с тем же именем .

Особенности командной строки в Wimdows 10 и Windows Server 2016

Настройки командной строки в Windows 10 (Windows Server 2016) немного отличаются от настроек предыдущих версий Windows.

При включенном флажке ”Использовать прежнюю версию консоли (Требуется перезапуск)”, настройки ничем не отличаются от тех, что применялись в среде предыдущих версий Windows. В новой же версии консоли, появляются дополнительные настройки - становятся доступными для включения флажки параметров, отсутствовавших в более ранних версия системы. Новые возможности в значительной степени облегчают обработку текста в окне консоли и позволяют использовать большинство стандартных сочетаний клавиш для копирования, вставки и редактирования. Так, например, при включенном режиме ”Разрешить сочетания клавиш с CONTROL”, можно использовать стандартные сочетания клавиш, принятые в среде ОС:

CTRL+C (CTRL+Insert) – скопировать выделенный текст.

CTRL+V (Shift+Insert) – вставить выделенный текст.

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

Настройка командной строки изменением параметров в реестре Windows.

Изменение внешнего вида и некоторых свойств командной строки можно выполнить не только с помощью определенных ключей при запуске cmd.exe , но и изменив параметры реестра, предназначенные для командного процессора в разделах:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor - для всех пользователей.

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\ - для текущего пользователя.

HKEY_CURRENT_USER\Console\ - дополнительно для текущего пользователя.

Параметры командной строки при запуске CMD.EXE имеют наивысший приоритет, а пользовательские настройки (раздел реестра HKEY_CURRENT_USER) имеют приоритет над настройками для компьютера (раздел реестра HKEY_LOCAL_MACHINE).

Одной из наиболее полезных настроек является изменение обработки вводимой командной строки таким образом, чтобы можно было выполнять подстановку имен файлов и каталогов при нажатии специальной клавиши, как это реализовано в командной оболочке Unix-подобных операционных систем. Так например, для перехода в каталог home не обязательно набирать команду:

cd /home

А достаточно ввести cd /h и нажать специальную клавишу Tab - недостающая часть имени (ome ) будет подставлена в качестве параметра команды смены каталога. Очень полезная возможность при наборе длинных имен файлов и каталогов.

Аналогичным образом можно настроить и командную строку Windows. Запустите редактор реестра и перейдите в раздел

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

В современных ОС семейства Windows режим автодополнения путей при нажатии клавиши Tab уже настроен, но при необходимости, его можно перенастроить или восстановить.

Код символа Tab равен шестнадцатеричному числу 9 и его нужно задать в формате REG_DWORD для параметров CompletionChar и PathCompletionChar (например, в Windows XP, значение 0x40 заменить на 0x9). Теперь, после перезапуска приложения командной строки, оцените преимущества подстановки части имен, выполнив следующие действия:

Перейти в корень диска C: CD C:\

Для перехода, например в каталог с длинным именем Program Files наберите

CD Pro и нажмите Tab . В строке ввода должна появиться команда:

CD "Program Files"

Как видим, кроме того, что выполняется подстановка недостающей части имени каталога, в тех случаях, когда в нем имеется символ пробела, добавляются еще и двойные кавычки.

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

Правка реестра позволяет также изменить внешний вид окна командной строки, например, цвет фона и цвет символов, как это выполняется с помощью команды COLOR или ключа /T при запуске CMD.EXE . Расцветку определяют параметры

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\DefaultColor - для всех пользователей.

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DefaultColor - для текущего пользователя.

Значения параметров из раздела пользователя имеют больший приоритет, по сравнению с параметрами раздела HKEY_LOCAL_MACHINE

Если параметр DefaultColor имеет значение по умолчанию (REG_DWORD 0x00000000), то цветовой набор определяется значением параметра

На практике, изменение цвета фона окна и цвета символов лучше всего задавать значением параметра типа REG_DWORD:

HKEY_CURRENT_USER\Console\ScreenColors .

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

Бит 0 - яркость
Бит 1 - красный (R)
Бит 2 - зеленый (G)
Бит 3 - синий (B)

Значения битов задают комбинацию цветов, так например, для желтого цвета используется установка битов 1 и 2 (Красный и Зеленый). Старшие 4 бита (тетрада) определяют цвет фона, младшие - цвет текста. Каждая цифра тетрады может иметь следующие значения:

0 = Черный
1 = Синий
2 = Зеленый
3 = Голубой
4 = Красный
5 = Лиловый
6 = Желтый
7 = Белый
8 = Серый
9 = Светло-синий
A = Светло-зеленый
B = Светло-голубой
C = Светло-красный
D = Светло-лиловый
E = Светло-желтый
F = Ярко-белый

Примеры значений параметра ScreenColors :

F0 - "консоль наоборот” - черные символы на белом фоне.

20 - зеленый фон, черные символы.

A0 - яркий зеленый фон, черные символы.

9F - яркий синий фон, яркие белые символы.

Использование истории вводимых команд.

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

F1 - посимвольный вызов последней введенной команды. Каждое нажатие F1 приводит к последовательной подстановке в поле ввода одного символа из предыдущей команды.

F2 - копирование до символа. После нажатия на F2 на экране отображается запрос символа, до которого будет скопирована предыдущая команда. Например, если предыдущая команда была ping yandex.ru , и в качестве символа задана точка, то в строку ввода команды будет занесено ping yandex , если задан пробел, то - ping .

F3 - вызов предыдущей команды.

F4 - удалить до символа. Выполняется удаление текста от текущей позиции курсора до заданного символа.

F5 и F8 - вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается когда будет отображена первая введенная команда текущей сессии.

F7 - отображение ранее введенных команд в отдельном окне в виде списка. Для выполнения нужной команды нужно выбрать ее, используя клавиши со стрелками, и нажать ENTER

F9 - выполнить команду, номер которой запрашивается. Номер команды в списке истории можно получить при использовании F7 .

Особенности настройки параметров консоли для Windows 10

Как уже упоминалось выше, в операционных системах Windows 10 /Windows Server 2016 появились дополнительные настройки, расширяющие возможности командной строки и облегчающие ее использование. Новые возможности включены по умолчанию, однако в любой момент могут быть отключены через интерфейс свойств или при изменении параметров в реестре. Настройки новых возможностей хранятся ключах раздела HKEY_CURRENT_USER\Console и имеют тип данных DWORD . Настройки, установленные в свойствах ярлыка командной строки перекрывают настройки, задаваемые параметрами реестра.

Перечень новых ключей реестра и их назначение:

ForceV2 - 1 включает новые возможности, 0 – отключает. Этот параметр не запоминается в свойствах ярлыка и его значение хранится только в реестре.

LineSelection - 1 - разрешает выделение строк, 0 - отключает.

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

LineWrap - 1 - разрешает перенос строк текста при изменении размера окна консоли.

CtrlKeyShortcutsDisabled - 0 разрешается использование комбинаций клавиш с CONTROL (CTRL+A, CTRL+C, CTRL+V и т.п.)

ExtendedEdit Keys - 1 - разрешает использование набора дополнительных клавиш для редактирования.

TrimLeadingZeros - 1 - при выделении числа двойным кликом, лидирующие нули отбрасываются (000123 – 123)

WindowsAlpha - установка прозрачности окна командной строки от 30% до 100%. Используется значение ключа реестра в виде шестнадцатеричного значения от 0x4C до 0xFF, или десятичного от 76 до 255

WordDelimiters - определяет символ-разделитель, который используется при выделении части текста комбинацией клавиш CTRL+SHIFT+ARROW . По умолчанию используется пробел. Ключ реестра имеет тип данных REG_SZ и может содержать несколько символов-разделителей. Этот параметр не запоминается в свойствах ярлыка и может храниться только в реестре.

Статья от 27.10.2013


1. Настройка интерфейса и эффективное использование CMD.
1.1. Управление мышкой.
1.2. Внешний вид, цвета и буфер экрана.
1.3. Быстрые клавиши, автоподстановка имен файлов/папок, история команд.
1.4. Поиск текста в выводе консоли.

Что мы получим:

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

Начнем тюнинг:

Запустим консоль - "Пуск", "Выполнить", CMD, {ENTER}.
Правый клик мыши по заголовку (или ALT + Пробел) -> Свойства или Умолчания *

* Свойства - означает, что настройки применяются к окну ком. процессора (CMD.exe), а также пакетным файлам команд.BAT, .CMD
* Умолчания - означают, что настройки наследуются консольными программами, если иные параметры не предусмотрены ее разработчиком.

5.1. Управление мышкой.

Вкладка "Общие":

Копирование/вставка в/из буфера обмена

1. "Выделение мышью" и "Быстрая вставка" - ставим галочку.
Теперь можем выделять текст с помощью мыши, как в обычном блокноте.

Копирование текста в буфер (после его выделения) - правый клик мышью.
Вставка из буфера - тоже правый клик мышью. Быстро и удобно

Обратите внимание:
если эта настройка включена, случайный клик мышью по окну CMD
приведет к приостановке выполнения пакетного файла, пока Вы не нажмете любую* клавишу на клавиатуре.
* Например, стрелку (только не модификаторы Ctrl, Alt...).

5.2. Внешний вид и буфер экрана.

Цвет шрифта и фона:

1) Через Свойства

Вкладка "Цвета" ->
1. Текст на экране
2. Фон экрана.

Можно настроить в любой RGB-гамме.
По-умолчанию, доступны 16 предустановленных цветов,
но можно задать и отдельно каналы "Красный", "Зеленый" и "Синий"
Внимание: это заменяет предустановленную ячейку цвета*.

Давайте, зададим фон окна CMD под стиль форума сайт:
Нажимаем: Цвета -> Фон экрана -> Синяя ячейка цвета -> Выставим вручную гамму:
R (красный) - 30
G (зеленый) - 0
B (синий) - 115.

*Чтобы сбросить гамму на стандартную, достаточно удалить параметр реестра:
ColorTable01

2) Цвет можно временно задать и через команду консоли:

CMD/BATCH:

где 0 и B - 16-ричный код цвета
1-я цифра - фон
2-я цифра - текст

Настройки сохраняться только в текущем окне до выхода.

Расшифровка Color /?

0 = Черный 8 = Серый
1 = Синий 9 = Светло-синий
2 = Зеленый A = Светло-зеленый
3 = Голубой B = Светло-голубой
4 = Красный C = Светло-красный
5 = Лиловый D = Светло-лиловый
6 = Желтый E = Светло-желтый
7 = Белый F = Ярко-белый

Текущие настройки хранения выбранного цвета фона/цвета текста находятся в параметре реестра:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\ScreenColors

Размер окна и положение:

1) Через свойства:

Высота и буфер экрана вывода.

Вкладка: "Расположение" -> Размер окна -> "Высота"
По-умолчанию: 25 , что весьма мало.
Рекомендую ставить по-больше: 40-80 символов.
Важно видеть сразу максимум информации на экране без необходимости в полосе прокрутки.

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

Ширина.

Вкладка: "Расположение" -> Размер окна -> "Ширина"
По-умолчанию: 80 и этого зачастую хватает.
Иногда бывает необходимость увидеть "широкий" вывод в одну строку, например:

  • длинное имя ключа реестра,
  • помощь по команде Robocopy /?
Согласитесь, в режиме 120 символов по ширине выглядит более симпатично:

2) Высоту и ширину можно задать и командой консоли :

CMD/BATCH:

Mode con cols=80 lines=25

Работает только в текущем окне до выхода.
Внимание : это стирает весь вывод консоли и устанавливает буфер равным этому же значению (полосы прокрутки текста не будет).

Настройки храняться в параметре реестра:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\WindowSize

Стартовое положение консоли:

Стандартно, новое окно появляется со смещением относительно старого.
По желанию, можно чтобы оно появлялось в том же месте (накладывались друг на друга).

Вкладка: "Расположение" -> Положение экрана -> "Автоматический выбор" - снять галочку.

Настройки храняться в параметре реестра:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\WindowPosition

5.3. Быстрые клавиши, автоподстановка имен файлов/папок, история команд.

Представим: набрали мы длинную команду и ошиблись в 1-м символе.
Что делать?

Вариант - двигать курсор стрелками "<-" "->"
Но можно и проще:

Клавиша|Описание
| Управляю курсором:
Home|Курсор в начало строки
End|Курсор в конец строки
| А теперь нужно исправить что-то в средине команды:
Ctrl + "<-"|Курсор назад на одно слово
Ctrl + "->"|Курсор вперед на одно слово
| А если вообще ошиблись?
Esc|Удаление текущей строки
| Забыли, как называется файл, или знаете только начальные символы?
|Вводим, что знаем и нажимаем 1 или более раз кнопку
Tab|Автодополнение имени файла/папки, перечисление имен в текущей или заданной папке с учетом маски.


Еще потренируемся?

Создаем папку temp

CMD/BATCH:

Выделяем в консоли текст c:\temp
и копируем в буфер правым кликом мыши.

Создаем в папке пару файлов:

CMD/BATCH:

Echo.>{правый клик}\readme.txt echo.>{правый клик}\some.doc

Выполните такие нажатия и наблюдайте за происходящим:

Код:

C:\temp\{TAB}{TAB} {ESC} {правый клик}r{TAB} {ESC} {правый клик}*.doc{TAB}


История команд.

Мы ввели команду:

CMD/BATCH:

Copy c:\temp\readme.txt 1.txt

Теперь мы хотим ввести:

Клавиша|Описание
| - предыдущую команду еще раз
Стрелка "Вверх" или F3| Ввод предыдущей команды.
| - если вводили немногим ранее:
Стрелка "Вверх" несколько раз| Ввод предыдущей (N-раз ранее) команды
| - если очень давно вводили существует история команд:
F7| история команд


{F7} - Вывод меню с перечнем введенных нами команд в хронологическом порядке.
Двигаться по меню - стрелки "Вверх", "Вниз". Выполнить команду - {ENTER}.
Настройка истории команд:
Количество запоминаемых команд - ALT + Space, "Свойства", вкладка "Общие" -> Запоминание команд -> Размер буфера.

Не показывать одинаковые команды - там же, галочка "Отбрасывать повторения".

Часто используемые комбинации:

На завершение привожу все горячие клавиши:

Клавиша|Описание
Ctrl + "<-"|Курсор назад на одно слово
Ctrl + "->"|Курсор вперед на одно слово
Insert|Обычный режим или перезапись текста поверх
F3| Ввод предыдущей команды
PgUP|Аналог F3
PgDown|Вывод предыдущей команды
F1| Ввод первых N символов предыдущей команды
F2|Копировать до символа...
F4|Удалить до символа...
F6, аналог Ctrl+Z|Символ завершения строки. Может использоваться, например, в команде copy con 1.txt
F8| Выводит предыдущую команду, на 1 пункт выше от выделенной в меню истории F7
F9| Ввести предыдущую команду по номеру из меню истории F7
Ctrl + I| Аналог TAB
Ctrl + G{ENTER}| Символ "Bell" - подает звуковой сигнал (работает не на всех материнских платах).
Колесо мыши| Вертикальная прокрутка
Средний клик мышью|Автопрокрутка с регулируемой скоростью.

5.4. Поиск текста в выводе консоли.

Значимость:
Допустим, вывод справки к команде, и там Вы хотите найти нужное слово.

Итак, перед Вами текст:

Хочу найти слово "service"

Жмем эмблему "C:\" (левый вырхний угол) или ALT + Space, "Изменить" -> "Найти..."
Вводим service {ENTER} несколько раз.

Наденное помечается выделением.

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

  • использовать Find/Findstr (см. ниже)
  • форсировать вывод сообщений на английском языке от служебных команд с помощью переключения кодовой страницы в начале пакетного файла командой: chcp 862
2) Альтернативой является использование фильтров (Find, Findstr), которые мы рассмотрим в другом уроке.

Код: