Sie sollten mit sein Ctrl+ Cund nicht Shift+ Ctrl+ C, weil auf der Kommandozeile, sie das gleiche tun (und Ctrl+ Cist einfacher als Shift+ Ctrl+ C). In bestimmten grafischen Umgebungen, in denen die grafische Benutzeroberfläche einige Tastenanschläge erfasst und spezielle Aktionen ausführt, trifft dies möglicherweise nicht zu. Wenn die Tastenanschläge jedoch tatsächlich an die Befehlszeile gesendet werden, gibt es keinen Unterschied. Aus diesem Grund wird durch Drücken von Ctrl+ Cmöglicherweise ^ C als Großbuchstabe C anstelle von Kleinbuchstaben C angezeigt. Die Befehlszeile unterscheidet nicht, auf welche Taste Sie gedrückt haben (und Großbuchstaben wurden vermutlich als leichter lesbar eingestuft). Dies gilt für Briefe; für andere Zeichen Shiftkann das einen Effekt haben.)
Drücken von Ctrl- Csendet den ASCII-Code, der 64 unter der Position des Großbuchstabens in der ASCII-Tabelle liegt (und 96 unter der Position des Kleinbuchstabens in der ASCII-Tabelle). Wenn Sie also Ctrl- c(Kleinbuchstaben) drücken, wird der ASCII-Code 3 gesendet (64 weniger als Cder ASCII-Code von 67 in Großbuchstaben ). In vielen Umgebungen können Sie das Tastenfeld gedrückt halten Altund dann drücken 3(und dann die 3Taste loslassen und dann die Taste loslassen Alt), und Sie erhalten möglicherweise den gleichen Effekt.
In Bezug auf ^ C ist ^ nur eine bekannte Abkürzung für die CtrlTaste " ". Ebenso ist M- eine Abkürzung für die AltTaste " ". Äh, ja. M steht für das Wort "Meta", das eingegeben werden kann, indem Altgedrückt gehalten und gedrückt wird, was als nächstes kommt, oder indem manchmal gedrückt Esc(und losgelassen Esc) und dann gedrückt wird, was als nächstes kommt. Der Wikipedia-Artikel über "Steuertaste": "Notation" beschreibt dies als "traditionelle Notation". Dies wird auch als Caret-Notation bezeichnet ( Wikipedia-Artikel zur Caret-Notation , Unix StackExchange: ryvnfs Frage zur Caret-Notation ).
In Bezug auf die letzte Frage "interpretiert" die Befehlsshell nichts, um ein Caret zu sein. Mit anderen Worten, die Shell liest nichts und glaubt, dass es sich um ein Caret handelt. Was passiert, ist, dass die Shell die bekannte Caret-Notation für die Ausgabe verwendet. Als weiteres Beispiel können Sie den bekannten Pager "less" mit der Caret-Notation anzeigen, indem Sie Folgendes ausführen:dd if=/dev/zero bs=64 count=1 | less
(Der Texteditor "nano" verwendet in seiner Online-Hilfe auch die Caret-Notation, einschließlich der vollständigen Bildschirmanzeige der Online-Hilfe, die nach dem Drücken von ^ G (aka Ctrl- g) angezeigt wird .)
^
als Symbol für "Kontrolle" geht auf vorgrafische Zeiten zurück, als die Terminals nur aus Text bestanden, und ich glaube, dass es noch vor unserer Zeit, als wir Karten und Papier hatten, keine Terminals gab. Ich würde gerne wissen, warum das Caret als Symbol gewählt wurde.