На этот вопрос уже есть ответ:
Почему мы должны использовать все эти ярлыки для выхода из программ в терминал
?
Например:
top
man
nano
ctrl + c isn ' Не хотите ли убить программу?
Поскольку это указано в POSIX, норме IEEE для подобных Unix компьютерных систем.
Проверьте Раздел 10.2 - Устройства вывода и Терминальные Типы 2008 POSIX.1 (последнее) спецификация для всех доступных ярлыков.
Для составления в целом вопроса это - краткое объяснение того, что на самом деле делают те ярлыки.
Когда Вы нажимаете Ctrl-[буква], Вы на самом деле отправляете сигнал в процесс. Сигнал является "флагом", который Вы предоставляете процессу, который получает interpretated и связанный с действием.
Ctrl-C отправляет SIGINT, сигнал, который заставляет процесс завершаться.
Ctrl-Z отправляет SIGTSTP, сигнал, это заставляет процесс приостанавливать выполнение. В этом случае это resumable - пытаются выполнить команду, которая будет требовать времени и нажимать Ctrl-Z; Вы будете видеть что-то в строках
[1]+ Stopped [your command]
.
Ввести fg
в Вашем Терминале и Вы будете видеть, что процесс возобновляется, если он не закончился прежде, чем возобновить его.
Ctrl-X, в этом случае, является использованием нано ярлыка для выхода из процесса. Кстати, существует сигнал, связанный с Ctrl-x, но он не связан с нано.
TL; DR Это указано в POSIX.
+z и +c являются сигналами оболочки.
ctrl + z не закрывает программу, это отправляет ему сигнал (SIGTSTP) для приостановки. Тип fg
для возобновления его. ctrl + c является другим сигналом, на этот раз SIGINT для завершения. kbd+x является просто нано привязкой клавиш.