Bash: Комбинации клавиш — Ctrl + U, Ctrl + W, Ctrl + L, Ctrl + C, Ctrl + D, Ctrl + Z.
В терминале GNU/Linux комбинации клавиш Ctrl + U, Ctrl + W, Ctrl + L, Ctrl + C, Ctrl + D и Ctrl + Z имеют специфическое значение и используются для управления процессами.
Описание комбинаций.
Разберём каждую из них подробнее.
Ctrl + U
Функция: Удаление всей строки, которая находится слева от курсора.
Описание: Например, если вы вводите команду и хотите быстро очистить её, просто нажмите Ctrl + U, и всё, что вы ввели до курсора, будет удалено.
Ctrl + W
Функция: Удаление слова или части слова, находящегося слева от курсора.
Описание: Если вы хотите удалить предыдущее слово в командной строке, просто нажмите Ctrl + W, и последнее введённое слово будет удалено.
Ctrl + L
Функция: Активация утилиты clear. Утилита clear в GNU/Linux используется для очистки содержимого терминала, возвращая его к первоначальному состоянию. Эта команда полезна, когда вам нужно убрать все предыдущие команды и вывод, чтобы сосредоточиться на новых данных или для более удобного представления информации.
Описание: После выполнения этой команды экран терминала будет очищен, и вы увидите пустую строку в верхней части.
Ctrl + C
Функция: Прерывание процесса.
Описание: Когда вы нажимаете Ctrl + C, это сигналы (SIGINT) отправляются текущему процессу, который работает в переднем плане. Это означает, что процесс получает уведомление о том, что его следует завершить. Обычно это используется для остановки программ, которые могут выполняться бесконечно или требуют длительного времени на выполнение. Например, если вы запустили скрипт или программу, и хотите его остановить, просто нажмите Ctrl + C.
Ctrl + D
Функция: Завершение ввода (EOF — end of file – конец файла) .
Описание: Нажатие Ctrl + D отправляет сигнал «конец файла» (EOF) в терминал. Это полезно, когда вы вводите данные в интерактивной программе или в командной строке, где нужно прекратить ввод. Например, если вы работаете в оболочке, и хотите выйти из неё, вы можете нажать Ctrl + D, чтобы сигнализировать, что больше не будет ввода, и оболочка закроется. Также Ctrl + D часто используется для завершения сессии в интерактивных интерпретаторах, таких как Python.
Ctrl + Z
Функция: Приостановка процесса.
Описание: Нажатие Ctrl + Z отправляет сигнал SIGTSTP, который приостанавливает текущий процесс и переводит его в состояние фонового ожидания (background). Таким образом, программа не завершает свою работу, а остаётся в памяти и может быть восстановлена позже. После нажатия Ctrl + Z, вы можете использовать команду fg для продолжения выполнения процесса в переднем плане или bg для его продолжения в фоновом режиме. Это удобно, если вам нужно временно приостановить работу программы, чтобы выполнить другие задачи в терминале.
Краткий итог.
Ctrl + U — удаляет всю строку, которая находится слева от курсора.
Ctrl + W — удаляет слово или часть слова, находящегося слева от курсора.
Ctrl + L — очистка содержимого терминала.
Ctrl + C — прерывает выполнение программы.
Ctrl + D — завершает ввод (EOF) или закрывает сессию.
Ctrl + Z — приостанавливает процесс, позволяя продолжить его позже.
Эти команды являются важными инструментами управления процессами в терминале, позволяя пользователям эффективно взаимодействовать с выполняемыми программами.
В чем разница между комбинациями?
Комбинации клавиш Ctrl + C, Ctrl + D и Ctrl + Z часто используются в терминале для выхода из программы, работающей на переднем плане (foreground), и передачи управления bash.
Ctrl + C выполняет прерывание процесса, то есть убивает его из оперативной памяти. Результат действия Ctrl + D такой же. Однако разница между этими двумя способами выхода есть, и заключается она во внутреннем механизме.
Нажатие Ctrl + C заставляет терминал послать сигнал SIGINT процессу, который на данный момент его контролирует. Когда foreground-программа получает сигнал SIGINT, она обязана прервать свою работу.
Нажатие Ctrl + D говорит терминалу, что надо зарегистрировать так называемый EOF (end of file – конец файла), то есть поток ввода окончен. Bash интерпретирует это как желание выйти из программы.
При работе в конкретной программе могут срабатывать оба способа, но может только один. Так команда cat без параметров запускается в интерактивном режиме, в котором то, что вы ввели, будет тут же выводиться на экран после нажатия Enter. Выйти из программы можно как с помощью Ctrl + С, так и Ctrl + D.
Жмем Ctrl + C:
$ cat
Ответ:

Жмем Ctrl + D:
$ cat
Ответ:
![]()
Выйти из интерпретатора Python с помощью Ctrl + C нельзя.
$ python
Пример:
Python 3.6.7 (default, Oct
[GCC 8.2.0] on linux
Type «help», «copyright»,
>>> a = 15
>>> a + 7
22
>>> (жмем Ctrl + C)
KeyboardInterrupt
>>> (жмем Ctrl + D)
$
Ответ:

Комбинация клавиш Ctrl + Z посылает процессу сигнал, который приказывает ему остановиться. Это значит, что процесс остается в системе, но как бы замораживается. Само собой разумеется он уходит в background – в фоновый режим.
$ python3
Ответ:

С помощью команды bg его можно снова запустить, оставив при этом в фоновом режиме. Команда fg не только возобновляет ранее приостановленный процесс, но и выводит его из фона на передний план.
$ fg python
Ответ:

На изображении сначала запускается интерпретатор Python. Далее его работа останавливается с помощью Ctrl + Z. Командой fg python3 мы возобновляем работу приложения и делаем его текущим. То, что мы вернулись в тот же самый процесс, видно по переменной a, значение которой остается доступным.
С помощью команды ps можно посмотреть процессы текущего сеанса bash (используя ключи можно просматривать и другие процессы), а команда kill позволяет удалять ненужные.
Здесь запускается cat и приостанавливается.
$ cat
Ответ:

Далее смотрим список процессов.
$ ps
Ответ:

Ключ -9 команды kill обозначает, что мы хотим полностью избавиться от процесса. В качестве аргумента передается идентификационный номер процесса (PID).
$ kill -9 12302
Ответ:

$ ps
Ответ:

Отметим, что во многих консольных программах управляющие комбинации с клавишей Ctrl обычно обозначаются как ^C, ^Z и тому подобное, то есть вместо Ctrl используется знак ^.
Понятие «процесса» связано с понятием «одновременного выполнения нескольких программ». Процесс – это выполняющаяся программа, а точнее экземпляр выполняющейся программы, потому что в системе может существовать несколько процессов, запущенных на основе одной программы. Ядром операционной системы создается видимость одновременного выполнения множества процессов.
При необходимости системный администратор может запускать процессы, требующие длительного выполнения, в background, а на «переднем плане» выполнять другие команды.
Запустить процесс в фоне можно с помощью знака амперсанда &, который записывается в конце команды.
$ sleep 10s &
Ответ:
![]()
Если в текущем терминале было запущено и переведено в фон несколько одноименных процессов, то сделать один из них текущим с помощью команды fg имя_программы не получится. PID также не используется как аргумент для fg.
$ ps
Ответ:

Здесь используется идентификатор процесса, который возвращает команда jobs. Причем для fg его надо использовать в формате %ID.
Нумерация идет снизу:
$ fg %2 $ fg %3
Ответ:

$ fg %1
Ответ:

Оригиналы источников информации.
- younglinux.info «Ctrl + C, Ctrl + D, Ctrl + Z».