Материал: Аверянов Введение в оператсионные системы и основы программирования 2015

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Вокне запущенного командного интерпретатора 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 = Ярко-белый

91

Пример 2.25. Установка цветовой гаммы командной оболочки d:\WINLAB>color fc

d:\WINLAB>

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

Пример 2.26. Установка цветовой гаммы по умолчанию 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.

$$ – $ (символ доллара).

$_ – возврат каретки и перевод строки

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

D:\WINLAB>prompt $$

$

92

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

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

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

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

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

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

True Type шрифтов: Consolas или Lucida Console (выбор шрифтов рассмотрен в п. 2.2.2). Для просмотра текущей кодовой страницы, используемой командным интерпретатором, и для ее изменения служит команда CHCP.

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

93

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

D:\WINLAB>chcp

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

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

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

Работа с буфером хронологии команд. Команды, вводимые в

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

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

94

Рис. 2.7а. Список команд по «F7»

Рис. 2.7б. Ввод номера команды

Рассмотрим еще один способ работы с буфером хронологии команд. Ввод нескольких первых букв нужной команды и нажатие клавиши «F8» приведет к тому, что командная оболочка попытается найти последнюю по хронологии команду, начинающуюся с введенных символов, и воспроизведет ее в командной строке. Повторное нажатие клавиши «F8» запустит поиск в буфере предыдущей по хронологии команды, начинающейся с тех же символов. Так, ввод в командной строке символов «CD» и последовательное нажатие «F8» приведет к последовательному перебору команд, со-

держащихся в буфе: «CD PAPA\MATH\STRONG» и «CD /D D:\WINLAB», а при вводе только символа «C» (не перепутать с русским) на экране появятся также «CHCP 1251» и «CLS».

Автоматическое определение имен каталогов и файлов. В за-

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

Пример 2.29. Автоматизация ввода имен клавишей «TAB» d:\WINLAB>tree .

D:\WINLAB

└───papa

├───incredible

95

Источник: https://studfile.net/preview/16708824/