Цикл довузовской подготовки кафедры ЭФУ

2. ЭФФЕКТИВНАЯ РАБОТА С КОМАНДНОЙ СТРОКОЙ

2.1. Полезные инструменты командной строки

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

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


Таблица 2.1. Управление параметрами Cmd.exe и выполнением команд

ОперацияФормат команды
Приостановить / продолжить выполнение команды Сочетание клавиш: Ctrl + S
Прервать выполнение команды Сочетание клавиш: Ctrl + C
Цвета фона и текста COLOR [цвета]
Изменение приглашения PROMPT [ описание приглашения]
Просмотр и изменение кодовой страницы CHCP [nnn]
Очистка экрана CLS
Работа с буфером хронологии команд Клавиши: F7, F8, F9
Автоматическое определение имен каталогов и файлов Клавиша TAB

В окне запущенного командного интерпретатора Cmd.exe, по умолчанию, помещается 25 строк по 80 символов. По мере ввода команд и данных окно заполняется, а его содержимое прокручивается вверх (соответственно в правой части окна, как и во всех приложениях Windows появляется полоса прокрутки).

Иногда, например, при просмотре большого текстового файла, выдача команды не помещается на одном экране и уходит вверх, до того как ее успеют прочитать. Чтобы приостановить вывод, необходимо нажать сочетание клавиш «Ctrl+S» – что означает сначала нажатие «Ctrl» и, не отпуская «Ctrl», клавиши «S». Возобновление вывода осуществляется повторным нажатием «Ctrl+S». Нажатие сочетания клавиш «Ctrl+C» прекращает работу команды, в том числе «зависшей» по какой либо причине.

Команда COLOR. Окно командного интерпретатора по умолчанию имеет черный фон и белый передний план (текст). Команда COLOR (без параметров) устанавливает цвета по умолчанию для переднего плана и фона в текстовых окнах. В общем случае формат команды имеет следующий вид:


COLOR [цвета]


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


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


Пример 2.1. Установка цветовой гаммы командной оболочки

d:\WINLAB>color fc
d:\WINLAB>
		

Пример 2.1 задает светло-красный передний план на ярко-белом фоне. Если аргумент не указан, команда COLOR восстанавливает исходный выбор цветов, каким он был на момент запуска командного интерпретатора (Пример 2.2).


Пример 2.2. Установка цветовой гаммы по умолчанию

d:\WINLAB>color fc
d:\WINLAB>
		

Команда PROMPT. Если на одном компьютере с командной строкой работают несколько человек, то у каждого могут иметься свои предпочтения в отношении того, как должно выглядеть приглашение командной строки – по умолчанию это отображение абсолютного пути в текущий каталог, заканчивающееся правой угловой скобкой (или знаком «больше») – например: «d:\WINLAB>«. Однако приглашение командной строки может быть изменено при помощи команды PROMPT, имеющей формат:

PROMPT [описание приглашения]


Описание приглашения командной строки может включать обычные символы и следующие коды:


КодОписаниеКодОписание
$H BACKSPACE удаление предыдущего символа $E ESC символ ASCII с кодом 27
$A & (амперсанд) $B | (вертикальная черта)
$C ( (левая круглая скобка) $D Текущая дата
$F ) (правая круглая скобка) $G > (знак "больше")
$L < (знак "меньше") $N Текущий диск
$P Текущие диск и каталог $Q = (знак равенства)
$S Пробел $T Текущее время
$V Номер версии Windows $$ $ (символ доллара)
$_ Возврат каретки и перевод строки

Например, можно поменять приглашение командной строки на знак доллара ($$) или текущую дату с конечным амперсандом ($D$A), а затем вернуть в исходное состояние ($P$G). Применение команды PROMPT без параметров возвращает приглашение командной строки в состояние по умолчанию (Пример 2.3).


Пример 2.3. Изменение приглашения командной строки

D:\WINLAB>prompt $$
$
$prompt $p$g
D:\WINLAB>
D:\WINLAB>prompt $d$a
12.04.2013&
12.04.2013&prompt
D:\WINLAB>
		

Если включен режим расширенной обработки, командой PROMPT (по умолчанию) поддерживаются следующие дополнительные символы форматирования:

$+ – Отображение нужного числа знаков плюс (+), в зависимости от текущей глубины стека каталогов PUSHD, по одному знаку на каждый сохраненный путь;

$M – Отображение полного имени удаленного диска, связанного с именем текущего диска, или пустой строки, если текущий диск не является сетевым.

Команда CHCP. В Windows-системах поддерживаются различные режимы кодирования текстов на основе национальных алфавитов. Для каждого национального алфавита используется своя, так называемая, кодовая страница. Для корректного отображения кириллического текста файлов, созданных в текстовом редакторе Notepad, необходимо установить для командной строки кодовую страницу Windows 1251 и выбрать для отображения текста один из True Type шрифтов: Consolas или Lucida Console (выбор шрифтов рассмотрен в следующем § 2.2). Для просмотра текущей кодовой страницы, используемой командным интерпретатором и для ее изменения, служит команда CHCP.

По умолчанию, в русифицированных версиях Windows командным интерпретатором используется кодовая страница 866, унаследованная от MS DOS, которую, необходимо поменять на кодовую страницу Windows-1251 (Пример 2.4) –для корректного отображения простых текстовых файлов, созданных с использованием различных Windows-приложений.


Пример 2.4. Просмотр и изменение кодовой страницы

D:\WINLAB>chcp
Текущая кодовая страница: 866
D:\WINLAB>chcp 1251
Текущая кодовая страница: 1251
D:\WINLAB>
		

Команда CLS. При интенсивной работе с командной строкой на экране накапливается и прокручивается вверх информация, перестающая быть актуальной. Для того, чтобы очистить от нее экран применяется команда – CLS (мнемоника команды происходит от сокращения английского clear screen – очистить экран). Команда CLS предельно проста и не содержит параметров.

Работа с буфером хронологии команд. Команды, вводимые в командной строке, накапливаются в буфере хронологии и к этим командам можно получить доступ. Самый простой способ заключается в использовании клавиш «стрелка вверх» и «стрелка вниз» – при этом происходит перемещение вверх и вниз по списку команд, хранящемуся в буфере хронологии. Пролистав, таким образом, список буфера хронологии команд, можно остановиться на нужной команде, отредактировать ее (используя клавиши «стрелка влево», «стрелка вправо», «Backspase» и «Delete») и затем выполнить, нажав клавишу Enter.

Буфер хронологии команд может быть показан в виде списка во всплывающем окне, нажатием клавиши F7, после чего с помощью клавиш-стрелок можно выбрать команду из списка (Рис. 2.1(а)). Если же известен номер команды в списке (после неоднократного использования клавиши F7), то можно нажать F9, и ввести на клавиатуре номер команды – ввод номера 1 (Рис. 2.1(б)) приведет к выбору команды CLS (Рис. 2.1(а)). Нажатие Enter приведет к выполнению команды, а клавиша Esc, закроет всплывающее окно без выполнения команды.


windows-workdir

Рис. 2.1. а) Список команд по F7; б) Ввод номера команды.


Еще один способ работы с буфером хронологии команд. Ввод нескольких первых букв нужной команды и нажатие клавиши F8 приведет к тому, что командная оболочка попытается найти последнюю по хронологии команду, начинающуюся с введенных символов, и воспроизведет ее в командной строке. Повторное нажатие клавиши F8, запустит поиск в буфере предыдущей по хронологии команды, начинающейся с тех же символов. Так ввод в командной строке символов «CD» и последовательное нажатие F8, приведет к последовательному перебору команд, содержащихся в буфе: «CD PAPA\MATH\STRONG» и «CD /D D:\WINLAB», а при вводе только символа «C» (не перепутать с русским) на экране появятся также «CHCP 1251» и «CLS».

Автоматическое определение имен каталогов и файлов. В заключение этого параграфа стоит рассмотреть еще один полезный инструмент – использование клавиши TAB для автоматизации ввода имен файлов. Действие похоже на F8, только анализируется не буфер хронологии команд, а список имен каталогов и файлов текущей директории и дописывает имя первого файла, имя которого начинается с введенных символов. Дальнейшим нажатием клавиши TAB можно осуществить перебор имен каталогов и файлов, для которых начальные символы имени такие же (Пример 2.5).


Пример 2.5. Автоматизация ввода имен клавишей TAB

d:\WINLAB>tree .
D:\WINLAB
└───papa
    ├───incredible
    └───math
        ├───strong
        └───study
d:\WINLAB>cd НАЖАТИЕ TAB ВЫБЕРЕТ ЕДИНСТВЕННЫЙ КАТАЛОГ PAPA
d:\WINLAB\papa>cd m НАЖАТИЕ TAB ДОСТРОИТ ИМЯ КАТАЛОГА MATH