Когда я использую tail -f
и хочу вернуться в оболочку, я всегда использую CTRL+C
. Или когда я набираю команду и испытываю желание прервать ее и начать заново, я просто CTRL+C
возвращаюсь к пустой командной строке. Это считается плохой практикой? Я иногда чувствую, что может быть лучший способ оторваться от чего-то, но на самом деле понятия не имею.
27
Ответы:
Ctrl+ Cотправляет SIGINT в программу. Это говорит программе, что вы хотите прервать (и завершить) процесс. Большинство программ правильно ловят это и чисто выходят. Так что, да, это «правильный» способ завершить большинство программ.
Существуют и другие сочетания клавиш для отправки других сигналов программам, но это наиболее распространенный способ.
источник
read()
системного вызова. Следующиеread()
s не затронуты. Третье. Ничто из этого не относится к программам, переводящим дисциплину строк в неканонический режим, таким как большинство программ-оболочек за последние пару десятилетий и даже к любой другой программе, использующей такие библиотеки, как GNUreadline
.Этот метод очень хорошо, правда.
источник
Чтобы прервать длинную команду при наборе текста, я иногда прыгаю в начало строки и вставляю знак комментария, прежде чем нажать enter:
Home#Enter
Pos1#Return
Это полезно, если, например, я набрал команду копирования с длинным путем и заметил, что сначала мне нужно создать каталог, но потом я хотел бы повторить команду. Тогда мне просто нужно взять его из истории, удалить хэш и ввести его.
В Bash вы можете использовать ярлык
Alt+#
чтобы отметить вашу команду, как указано в комментариях (Спасибо, @Zorawar).
источник
Ctrl-A
не отрывая пальцев от домашнего ряда.Ctrl-E
идет до конца, кстати.Alt-#
: он вставит комментарий и запустит команду (так что внесите ее в историю).Вообще говоря, использование Ctrl+ Cхорошо, когда программа не предлагает вам интерактивного способа завершить работу (либо по замыслу, либо, чаще, потому что она зависла или стала непригодной для использования). Просто имейте в виду, что в интерактивном режиме комбинация клавиш, которую вы действительно хотите, может быть Ctrl+ D, что отправляет
EOF
сигнал о конце ввода.источник
Если вы используете Bash, вы можете также использовать Ctrl- Zи набрать
bg
«поместить текущее задание в фоновый режим».источник
Как сказал @Patrick в комментарии к принятому ответу,
Это помогло мне, когда
Ctrl+C
не получилось вернуть командную строку после использования>>
источник