Você deve estar usando Ctrl + C e não Shift + Ctrl + C , porque na linha de comando, eles fazem a mesma coisa (e Ctrl + C é mais fácil que Shift + Ctrl + C ). Isso pode não ser verdade em determinados ambientes gráficos em que a GUI captura alguns pressionamentos de tecla e faz algo especial, mas se os pressionamentos de tecla forem realmente enviados para a linha de comando, não haverá diferença. É por isso que pressionar Ctrl + C pode mostrar ^ C como um C maiúsculo, em vez de um C. minúsculo. A linha de comando não faz distinção em qual você pressionou (e maiúscula) foi presumivelmente considerado mais fácil de ler). Isto é verdade para cartas; para outros caracteres, o Shift pode ter um efeito.
Pressionando Ctrl - C envia o código ASCII que está 64 abaixo da posição da letra maiúscula na tabela ASCII (e 96 menos que a posição da letra minúscula na tabela ASCII ). Então pressionando Ctrl - c (em letras minúsculas) envia o código ASCII 3 (que é 64 menor que o código ASCII de 67 do capital C ). Em muitos ambientes, você pode segurar Alt e então pressionar 3 no teclado numérico (e então soltar a tecla 3 , e soltar o Tecla Alt ) e você pode obter o mesmo efeito.
Em relação a ^ C, o ^ é apenas um atalho bem conhecido para a tecla " Ctrl ". Similarmente, M- é uma abreviação para a tecla " Alt ". Err, sim. M significa a palavra "Meta", que pode ser inserida pressionando Alt e pressionando o que vem a seguir, ou às vezes pressionando Esc (e liberando Esc ) e, em seguida, pressionando o que vem a seguir. O artigo da Wikipédia sobre "Control Key": "Notação" seção descreve isso como "notação tradicional". Isso também é conhecido como Caret Notation ( artigo da Wikipédia sobre a notação de Caret , Unix StackExchange: a pergunta de ryvnf sobre o Caret Notation ).
Em relação à última pergunta, o shell de comando não está "interpretando" nada para ser um sinal de intercalação. Em outras palavras, a casca não está lendo nada e acreditando que é um sinal de intercalação. O que está acontecendo é que o shell está usando a notação de cursor bem conhecida para saída. Como outro exemplo, você pode ver o pager conhecido, "less", usar notação de circunflexo executando: dd if=/dev/zero bs=64 count=1 | less
(O editor de texto "nano" também usa a notação de cursor em sua ajuda online, incluindo as telas completas de ajuda online mostradas após pressionar ^ G, também conhecido como Ctrl - g .)