По умолчанию xfce содержит как минимум два набора комбинаций клавиш для переключения рабочих областей.
Ctrl-Alt-Numpad переместит активное окно на номер рабочей области, нажатый на цифровой клавиатуре. Ctrl-Func переместится в рабочее пространство, обозначенное нажатым номером функциональной клавиши, оставив активное окно позади.Если оболочка, которую вы используете, не перехватывает ее, вы вводите символ «Form-feed» в своем терминале. Если приложение терминала не перехватывает или не использует какое-либо нажатие клавиши, Ctrl + Letter переводится в код ASCII буквы минус 64 (1). 65 - код ASCII 'A', 'L' - это 12-я буква -> код 76. Если оболочка не знает, что делать с кодом, она печатает ее.
Печать символа FF привела к появлению новой страницы на линейном принтере и четкому экрану на терминале (да, я тогда использовал VT-52, при 300 бодах).
Итак, Ctrl + L равно 12, что является FF. Точно так же Ctrl + I - TAB, а Ctrl + G - звонок, если терминал или оболочка не перехватывают его, например, Ctrl + C.
Обратите внимание на другой ответ: кажется, что bash перехватывает CTRL-L и делает clear. Приятно заметить, что авторы bash связали ключ с командой, которая будет делать более или менее то же самое, что код ASCII сделал на старых терминалах!
С другой стороны, в моей zsh комбинация CTRL-I работает как Ctrl и CTRL-H как Backspace (2).
Старый хороший ASCII ... (обратите внимание, что буква L находится в столбце 4, строка 12, имеет ASCII-код 4 * 16 + 12 = 76).
Оригинальное изображение VT-52 , из статьи Википедии по ASCII.
Сноски:
(1) Backspace действительно используется для очистки бит 7.
(2) это источник «не удалять слово», вы когда-нибудь находите, например, «это было плохо» H ^ H ^ Hnot такая хорошая идея »... (обычно это слово сильнее, чем плохо!)
Control-L перехватывается и интерпретируется bash (фактически библиотекой readline, которая обрабатывает интерактивное редактирование в командной строке). Он связан с функцией clear-screen, как писал @souravc.
Замечание о значении Control-L: оно определено как Feed формы в таблице символов ASCII, но это ничего не значит, если какая-либо программа не интерпретирует его соответствующим образом. Терминал не очищает экран, когда видит канал формы, как вы можете проверить, сохраняя ^ L в файле и печатая файл с помощью cat. Когда bash/readline видит ^L, он выполняет функцию clear-screen. Это отправляет последовательность символов, которая понимается вашим эмулятором терминала (как описано termcap или terminfo), и имеет эффект очистки экрана.
В очень старых принтерах ^L будет продвигать бумага начинает печать на следующем листе, отсюда и название «feed feed». Но современные терминалы и терминальные эмуляторы следуют новому стандарту ANSI, в котором управляющие команды представляют собой многосимвольные библиотеки readline , которые начинаются с ^[ (escape). Когда bash видит ваш ^L, возможно, он отправляет последовательность из двух команд ESC [ H ESC [ J, которая перемещается в верхнюю левую часть экрана и очищает все под ней (отсюда весь экран).
Как все хорошо объяснили, что такое Ctrl + L, но никто не объяснил, как «отменить» команду, вот несколько команд, которые вы можете ввести, чтобы вернуть вас к тому, что вы делали:
history
предоставит вам последние 20 команд, которые вы набрали.
tail --lines=20 /var/log/dpkg.log
предоставит вам последние 20 строк вывода любой установки пакета, которую вы выполняли