Почему ^ C, ^ V и т. Д. Появляются в терминале, когда я использую сочетание клавиш Ctrl + символа?

Чтобы увидеть самую популярную страницу MACHO, которая когда-либо создавалась, используйте man man, которая покажет вам мужскую помощь для мужчин!

Чтобы просмотреть все страницы руководства, доступные в Ubuntu, используйте man -k . ПРИМЕЧАНИЕ - man -k * также будет работать, но man -k . не совпадает с man -k *. Оба они показывают все руководства. BUT * покажет некоторые дополнительные вещи или ничего не изменится, если вы запустите * внутри пустого каталога или внутри одного, у которого есть как минимум 1 файл. [ ! d2]

MACHO равно apropos, который ищет все страницы руководства и их описание. в этом случае символ DOT для ВСЕХ. Это то же самое, что и apropos .

1
задан 1 December 2015 в 18:22

3 ответа

Поскольку комбинации CTRL + KEY интерпретируются терминалом как непечатаемые ASCII-символы, и, будучи непечатаемыми, вам нужен способ их представления.

Соглашение, связанное с терминалами VT с ANSI поддержка представляет собой комбинацию CTRL + KEY, представляющую KEY с каретой (^) и KEY с KEY.

8
ответ дан 23 May 2018 в 15:22

При копировании и вставке в / из терминала лучше всего использовать короткие сокращения Ctrl + Insert и Shift + Insert соответственно.

Это более традиционные сокращения для использования в терминале, хотя вы заметите, что в графической среде X Ctrl + Insert и Insert + Insert привязаны к тому же Shift + C и Вставка + V.

В большинстве терминалов Вставка + C (представленная ^C) используется для остановки выполнения процесса, поэтому вставка с этим коротким cut!

Для быстрого копирования и вставки вы можете использовать основной буфер X, выделив любой текст, который хотите скопировать, а затем щелкните средним нажатием, где вы хотите вставить его. Никакой клавиатуры не требуется.

5
ответ дан 23 May 2018 в 15:22
  • 1
    Извините, но вы не поняли вопрос. OP хотел узнать, почему строка ^C или аналогичные появляются при нажатии CTRL + C (или CTRL + другая буква). Речь идет не о том, как правильно скопировать и вставить материал в терминал, для которого ваш ответ будет замечательным. – Byte Commander 1 December 2015 в 21:18
  • 2
    @ByteCommander, прямо! мои извинения, я оставлю свой ответ, как есть, поскольку, похоже, на вопрос уже правильно ответил :) Кто-то может наткнуться на это и найти то, что я написал полезным. – Keefer Rourke 2 December 2015 в 07:26

Вы должны использовать Ctrl + C, а не Shift + Ctrl + C, потому что в командной строке они делают то же самое (а Ctrl + C проще, чем Shift + Ctrl + C). Это может быть неверно в некоторых графических средах, где графический интерфейс захватывает некоторые нажатия клавиш и делает что-то особенное, но если нажатия клавиш действительно отправляются в командную строку, то нет никакой разницы. Вот почему нажатие Ctrl + C может отображать ^ C как столицу C, а не в нижнем регистре C. Командная строка не делает различий, на которых вы нажали (и, как полагали, считалось, что верхний регистр легче читать). Это верно для писем; для других символов эффект Shift может иметь эффект.)

Нажатие Ctrl -C отправляет код ASCII, который равен 64 ниже позиции верхней буквы в таблице ASCII (и на 96 меньше чем позиция строчной буквы в таблице ASCII). Таким образом, нажатие C -c (нижний регистр) отправляет ASCII-код 3 (что на 64 меньше, чем у ASCII-кода Shift ). Во многих средах вы можете удерживать Alt и затем нажимать Ctrl на numpad (а затем отпустить клавишу 3, а затем отпустить кнопку C ), и вы можете получить то же самое Эффект.

Что касается ^ C, то ^ - это просто известная стенограмма для ключа « C ». Аналогично, M- является сокращением для клавиши «Alt». Эрр, да. M обозначает слово «Meta», которое можно ввести, удерживая c и нажав все, что приходит дальше, или иногда нажатием Esc (и отпусканием Alt ), а затем нажатием любой следующий. Статья Википедии «Ключ управления»: раздел «Обозначение» описывает это как «Традиционная нотация». Это также известно как обозначение Caret (статья Википедии о нотации Caret, Unix StackExchange: вопрос ryvnf о нотации Caret).

Что касается последнего вопроса, командная оболочка не «интерпретирует» что-либо, чтобы быть кареткой. Другими словами, оболочка ничего не читает и полагает, что это карет. Что происходит, так это то, что оболочка использует известную нотацию каретки для вывода. В качестве другого примера вы можете увидеть известный пейджер «меньше», используя нотацию каретки, выполнив: dd if=/dev/zero bs=64 count=1 | less

(текстовый редактор «nano» также использует нотацию каретки в своей онлайн-справке, включая полный экран интерактивной справки, показанный после нажатия ^ G, иначе Alt -g.)

-1
ответ дан 23 May 2018 в 15:22
  • 1
    DevRobot специально спрашивает об использовании Ctrl-C (или, скорее, Shift-Ctrl-C) в контексте копирования и вставки, что подразумевает терминал GUI. Вы не обязательно ошибаетесь, но вы объясняете, что это определенно запутанно для кого-то, исходящего из перспективы GUI-пользователя. – R.M. 2 December 2015 в 03:32

Другие вопросы по тегам:

Похожие вопросы: