Ctrl+D, quando digitado no início de uma linha em um terminal, significa o final da entrada. Este não é um sinal no sentido unix: quando um aplicativo está lendo no terminal e o usuário pressiona Ctrl+D, o aplicativo é notificado de que o final do arquivo foi atingido (como se estivesse lendo um arquivo e tivesse passado o último byte).
Ctrl+Cenvia um sinal, SIGINT . Por padrão, o SIGINT (o sinal de interrupção) mata o aplicativo em primeiro plano, mas o aplicativo pode capturar o sinal e reagir de uma maneira diferente (por exemplo, o próprio shell captura o sinal e interrompe a linha que você começou a digitar, mas não ' Para sair, mostra um novo prompt e aguarda uma nova linha de comando).
Você pode alterar os caracteres associados ao final do arquivo e ao SIGINT com o stty
comando, por exemplo, stty eof a
criaria a
o caractere de fim de arquivo e stty intr ^-
desabilitaria o caractere SIGINT. Isso raramente é útil.
Ctrl+D
significa Ctrl e de capital D ou que não importa?