Как я могу очистить то, что я набрал в приглашении?

16

Я набираю действительно, очень длинную команду в bash. Упс, это была неправильная команда.
На данный момент это означает, что я прошёл через два ада:

  1. Понимание моей команды было бесполезно.
  2. Необходимость очистить мою оболочку, удерживая нажатой Backspaceдо появления подсказки.

Есть ли более быстрый способ?

digitxp
источник

Ответы:

15

Control + Aтогда Control + K. Первый перемещает курсор в начало строки, второй очищает строку после курсора.

Более грязный способ сделать это - нажать Enter, а затем нажать Control + C. Кредит @ billc.cn

Если вы хотите очистить весь запрос, используйте Control + L.

soandos
источник
6
Ctrl + C быстрее в некоторых случаях, хотя и довольно уродливо: P
billc.cn
1
Я не думаю, что это было актуально. Я думал, что он хочет очистить линию, а не убить работающую программу.
Soandos
1
Просто введите что-то в bashи нажмите Ctrl-C и посмотрите, что вы получите.
billc.cn
2
Ctrl-L очищает экран, но сохраняет то, что вы набрали.
Alger
3
Так что это противоположно тому, что он хочет.
Soandos
19

Ctrl-U очищает введенный вами ввод команды до текущей позиции курсора. Так что, если вы используете его сразу после того, как набрали команду, но не переместили курсор назад, она очистит все, что вы ввели.

Алджер
источник
2
На самом деле, он «очищает линию перед позицией курсора. Если вы находитесь в конце строки, очищает всю строку». Что близко, но не совсем точно все время. Это противоположность Ctrl + K
soandos
Хорошая точка зрения. В ситуации, поставленной в вопросе, курсор, вероятно, находится в конце строки, поэтому он должен работать для этой цели. Я исправил ответ, чтобы уточнить это.
Алджер
Отсюда и мой голос.
Soandos
@Alger для меня это всегда очищает все, независимо от того, где курсор перемещен назад или нет. echo $0 возвращается /bin/csh.
Компьютерщик
1
+1, потому что это работает и в оболочке mysql, и в оболочке bash: D
wim