Операционная система Linux



Терминал - часть 3


[methody@localhost methody]$ cat Any Text agaim^[[Dn Any Text again ^D [methody@localhost methody]$

Пример 2.2. Как завершить работу cat? (html, txt)

Одну строчку вида "Any Tex..." Мефодий вводит с клавиатуры (что отображается на экране), и после того, как Мефодий нажмет Enter, она немедленно выводится программой cat (что тоже отображается на экране). С каждой последующей строкой программа cat поступила бы аналогично, но в примере Мефодий оба раза завершил работу программы, в первом случае нажав ", ^C", а во втором - "^D". Команды оказали одинаковый эффект, но работают они по-разному: "^C" посылает программе, которая считывает с клавиатуры сигнал аварийного прекращения работы, а "^D" сообщает ей, что ввод данных с клавиатуры закончен и можно продолжать работу (поскольку программа cat больше ничего не делает, она завершается самостоятельно, естественным путем). Можно считать, что "^C" - это сокращение от "Cancel", а "^D" - от "Done".

В примере не показано, как, набирая первый cat, Мефодий вновь ошибся и написал ccat вместо cat. Чтобы исправить положение, он воспользовался клавишами со стрелочками: с помощью клавиши "Стрелка влево" подвел курсор к одному из "c" и нажал Backspace, а затем Enter. В режиме ввода команды это ему удалось, а при передаче данных программе cat клавиша "Стрелка влево" не сдвинула курсор, а передала целую последовательность символов: "^[", "[" и "D". Дело в том, что на клавиатуре может быть так много разных нетекстовых клавиш, что на них не хватает ограниченного количества разных

управляющих символов. Поэтому большинство нетекстовых клавиш возвращают так называемую управляющую последовательность, которая начинается управляющим символом (как правило - Escape, т. е. "^["), за которым следует строго определенное число обычных символов (для клавиши Стрелка влево - "[" и "D").

То же самое можно сказать и о выводе




Содержание  Назад  Вперед