Управляющие Символы И Терминал
Терминал и ввод с клавиатуры
- Печатные символы не имеют какого-либо специального значения
- Управляющие - сообщают компьютеру, как интерпретировать ввод
Return – это пример управляющего символа, невидимый символ, который управляет некоторыми аспектами ввода с терминала и вывода на него.
Другие управляющие символы вводятся комбинацией клавиш. Например:
- ctrl-m - альтернативное имя для Return
- ctrl-d, который сообщает программе, что ввод закончен
- (распространнённый символ. им часто завершается сеанс интерпретатора. Например у python)
- ctrl-g, который воспроизводится на терминале как звуковой сигнал
- проверил - работает на маке.
- ctrl-h, обычно называемый Backspace (возврат на одну позицию), с помощью которого исправляют ошибки;
- тоже работает
- ctrl-i – символ табуляции
- бгг, тоже работает как tab(zsh пытался выполнить автокомплит)
- ctrl-u символ удаления строки
- да, стирает строку на маке
Ещё две клавиши - Delete и Break.
В большинстве систем UNIX нажатие клавиши Delete немедленно останавливает программу, не ожидая ее завершения. В некоторых системах эту функцию выполняет ctrl-с.
Символ и его интерпретация
Очень важно различать значение, сохраняемое для символа в файле, и то, как он интерпретируется в различных ситуациях. …
Например, символ возврата на одну позицию (Backspace)
Если этот символ в конкретной системе служит для удаления, ядро интерпретирует его как отказ от предыдущего введенного символа
Если же ввести последовательность
\←
, ядро интерпретирует это не как введение специального символа возврата, а как желание поместить символ возврата в поток ввода, поэтому символ\
отбрасывается, а байт 010 помещается в файл.При выводе файла, содержащего символ возврата, последний не интерпретируется терминалом, а вызывает перемещение курсора назад.
Я так попал, например, когда пытался
сохранить руководство по man
в файл. Простой вывод через >
в файл сохранил управляющие симолы (Backspace (\b) в файл.