Si dovrebbe essere utilizzando Ctrl+ Ce non Shift+ Ctrl+ C, perché sulla riga di comando, che fanno la stessa cosa (e Ctrl+ Cè più facile che Shift+ Ctrl+ C). Ciò potrebbe non essere vero in alcuni ambienti grafici in cui la GUI acquisisce alcuni tasti e fa qualcosa di speciale, ma se i tasti vengono veramente inviati alla riga di comando, allora non c'è alcuna differenza. Questo è il motivo per cui premendo Ctrl+ Cpuò mostrare ^ C come maiuscola C, anziché come una C minuscola. La riga di comando non fa alcuna distinzione su quale sia stato premuto (e presumibilmente si è ritenuto che la maiuscola fosse più facile da leggere). Questo è vero per le lettere; per altri personaggi, Shiftpotrebbe avere un effetto.)
Premendo Ctrl- Cinvia il codice ASCII che è 64 sotto la posizione della lettera maiuscola nella tabella ASCII (e 96 in meno della posizione della lettera minuscola nella tabella ASCII). Quindi premendo Ctrl- c(minuscolo) si invia il codice ASCII 3 (che è 64 in meno del Ccodice ASCII maiuscolo di 67). In molti ambienti, è possibile tenere premuto Alte quindi premere 3sul tastierino numerico (e quindi rilasciare il 3tasto, quindi rilasciare il Alttasto) e si potrebbe ottenere lo stesso effetto.
Per quanto riguarda ^ C, ^ è solo una scorciatoia ben nota per il Ctrltasto " ". Allo stesso modo, M- è una scorciatoia per il Alttasto " ". Ehm, si. M sta per la parola "Meta", che può essere inserita tenendo Altpremuto e premendo qualunque cosa venga dopo, o talvolta premendo Esc(e rilasciando Esc) e quindi premendo qualunque cosa viene dopo. L'articolo di Wikipedia su "Chiave di controllo": la sezione "Notazione" lo descrive come "Notazione tradizionale". Questo è anche noto come notazione Caret ( articolo di Wikipedia sulla notazione Caret , Unix StackExchange: la domanda di Ryvnf sulla notazione Caret ).
Per quanto riguarda l'ultima domanda, la shell dei comandi non "interpreta" nulla per essere un cursore. In altre parole, la shell non legge nulla e crede che si tratti di un cursore. Quello che sta succedendo è che la shell sta usando la notazione caret ben nota per l'output. Come altro esempio, puoi vedere il noto cercapersone, "less", usare la notazione con il cursore eseguendo:dd if=/dev/zero bs=64 count=1 | less
(L'editor di testo "nano" utilizza anche la notazione con il cursore nella sua guida in linea, inclusi gli schermi completi della guida in linea mostrati dopo aver premuto ^ G, aka Ctrl- g.)
^come simbolo di "controllo" risale ai tempi pre-grafici in cui i terminali erano solo di testo, e credo anche prima di allora quando avevamo carte e carta, nessun terminale. Mi piacerebbe sapere perché il cursore è stato scelto come simbolo.