Ctrl + D ( ^D
) signifie fin du fichier . Il ne fonctionne qu'au début d'une ligne (je simplifie un peu), et n'a aucun effet si le programme ne lit pas les entrées du terminal. Dans votre expérience, ^D
a dit au Shell que vous n'alliez pas taper d'autres commandes, alors il a quitté ; puis le terminal a quitté parce que son sous-programme s'était terminé.
Ctrl + C ( ^C
) signifie "interrompre", c'est-à-dire arrêter ce que vous êtes en train de faire. Techniquement, appuyer sur ^C
envoie le Signal INT qui, par défaut, met fin à une application, mais qui, dans de nombreux programmes, signifie revenir au niveau supérieur (par exemple, dans un Shell, arrêter de taper une ligne de commande et revenir à un prompt immaculé).
Si un programme ne répond pas à ^C
vous pouvez essayer Ctrl + \ ( ^\
). Cela envoie le Signal QUIT qui par défaut met fin à une application, et que peu de programmes interceptent.
Une autre clé qui envoie un signal est Ctrl + Z ( ^Z
). Il envoie le Signal TSTP qui met en pause le programme en cours d'exécution au premier plan. (TSTP est l'abréviation de "terminal stop" ; c'est similaire à STOP mais TSTP peut être ignoré alors que STOP ne peut pas l'être). Depuis le Shell, vous pouvez reprendre l'exécution de ce programme avec la commande fg
(reprise au premier plan) ou la commande bg
(reprise en arrière-plan).
Toutes ces touches peuvent être modifiées avec la fonction stty
commandement. Certains programmes, en particulier les programmes plein écran qui ont des liaisons de touches, les désactivent.