Как быстро удалить мои команды?

161

Я использую терминал практически для всех задач. Допустим, я ввел огромную команду:

sudo a-huge-command

Каков самый простой способ удалить всю команду с помощью одного ярлыка, а не продолжать нажатие клавиши backspace ?

Я новичок Ubuntu, который хочет профессионально использовать Ubuntu.

    
задан batman 04.09.2012 в 13:56
источник

9 ответов

173

Используйте Ctrl + U , чтобы вырезать текст из позиции курсора в начало командной строки. Позже, если хотите, используйте Ctrl + Y , чтобы вставить вырезанный текст.

Если вы просто хотите отменить текущую командную строку и получить новое чистое приглашение, нажмите Ctrl + C .

Подробнее см. документацию Ubuntu для Использование терминала

    
ответ дан Eric Carvalho 04.09.2012 в 14:03
источник
108

Ctrl + U должен вам помочь.

Ниже приведены остальные доступные опции. Скрыт от здесь

UNIX понимает несколько команд контрольного ключа, команды, которые вы вводите, удерживая клавишу управления (ctrl), показывая второй ключ

CTRL + S - замораживает экран и останавливает любое отображение на экране от продолжения (эквивалентно клавише без прокрутки) (иногда требуется время для работы)

CTRL + Q - отключает экран и позволяет продолжить отображение экрана

CTRL + C - прерывает запущенную программу

CTRL + \ - то же, что и CTRL-C, но сильнее (используется, когда терминал не отвечает)

CTRL + Z - приостанавливает запущенную программу (используйте команду fg для продолжения программы, см. s $

CTRL + H - удаляет последний символ, набранный

CTRL + W - удаляет последнее введенное слово

CTRL + U - удаляет последнюю введенную строку

CTRL + R - поиск текста из истории

CTRL + D - завершает ввод текста для многих программ UNIX, включая почту и запись.

Примечание:

Когда мы удаляем с помощью CTRL + W или CTRL + U , мы также выполняем (edit ) «вырезать» (yank in) (удалить и сохранить в буфере / буфере обмена). Чтобы вставить (выдернуть) строку в буфере / буфер обмена, используйте CTRL + Y .

    
ответ дан devav2 04.09.2012 в 14:04
61

Обычно я использую Alt + Backspace . Если вы используете bash , это позволит вам удалить до прежнего специального символа ( / , ; , и т. Д.). Если вы используете zsh , он также удалит косые черты и точки с запятой. Это намного быстрее, чем просто нажатие Backspace .

В bash это отличается от Ctrl + w в том смысле, что Ctrl + w удаляет предыдущее слово wheres Alt + Backspace удаляет, пока не будет найден предыдущий специальный символ. В zsh обе комбинации клавиш делают то же самое

    
ответ дан Exeleration-G 04.09.2012 в 14:00
31

Вот список сочетаний клавиш, которые можно использовать с оболочкой bash .

Ctrl + A    Go to the beginning of the line you are currently typing on
Ctrl + E    Go to the end of the line you are currently typing on
Ctrl + L    Clears the Screen, similar to the clear command
Ctrl + U    Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H    Same as backspace
Ctrl + R    Lets you search through previously used commands
Ctrl + C    Kill whatever you are running or start a new prompt
Ctrl + D    Exit the current shell
Ctrl + Z    Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W    Delete the word before the cursor
Ctrl + K    Clear the line after the cursor
Ctrl + T    Swap the last two characters before the cursor
Esc + T     Swap the last two words before the cursor
Alt + F     Move cursor forward one word on the current line
Alt + B     Move cursor backward one word on the current line
Tab         Auto-complete files and folder names

То, что вы хотите сделать, достигается с помощью Ctrl + C или Ctrl + U на конец строки.

    
ответ дан OrangeDog 04.09.2012 в 20:42
24

Alt + # (т. е. Alt + Shift + 3 ) будет комментировать текущую команду и продолжить на следующей строке.

Например, если вы наберете t , e , s , t , Alt + # , вы получите:

[email protected]$ #test
[email protected]$ 

Если вы хотите вернуть свою прежнюю команду, вы можете нажать стрелку вверх и удалить хэш-символ ( Вверх , Главная , Удалить > или Вверх , Ctrl + A , Удалить ).

Я думаю, что это функция GNU Readline , так как она работает в Bash, Python и MySQL.     

ответ дан Snowball 04.09.2012 в 19:21
22

Ctrl + C - в дополнение к прерыванию выполняемых команд, он может также использоваться для «прерывания» ввода командной строки.

В отличие от Ctrl + U , вы все равно увидите, что вы набрали, но ваш курсор перейдет к новой строке, и вы получите пустую командную строку приглашение.

    
ответ дан Vilmantas Baranauskas 04.09.2012 в 14:16
8

Символ Bash readline Ctrl + X + E очень полезен, когда вы работаете в командной строке. Если вы входите в длинную команду и решили, что хотите вместо этого открыть ее в текстовом редакторе по умолчанию, все, что вам нужно сделать, это использовать ярлык.

Он использует библиотеку readline Bash, и этот конкретный ярлык называется edit-and-execute-command . Вы можете установить свой редактор по умолчанию, поставив export EDITOR="/usr/bin/vi" в ~/.bashrc или ~/.bash_aliases .

Введите bind -P , чтобы просмотреть текущие привязки readline и обратитесь к странице man readline или Ubuntu manpages online для получения дополнительной информации.     

ответ дан user76204 14.11.2012 в 22:06
7

Я также использую Esc + Backspace , чтобы удалить все предыдущие символы до специального символа. Это то же самое: Alt + Backspace . Удобно, если вы просто удаляете несколько слов за раз.

    
ответ дан jytou 06.09.2012 в 17:53
3

Для привязок ключей vi

Когда используется карта ключей vi , например, в bash с set -o vi или в zsh с bindkey -v :

Режим вставки

Это то же самое нажатие клавиши, что и в режиме по умолчанию / emacs:

CTRL + U

удаление текущей позиции до начала строки. Поэтому он удаляет всю строку, если курсор находится в конце.

Нормальный режим

Существует несколько способов удалить строку двумя нажатиями клавиш:

Удалить linewise dd , со значением по умолчанию для одной строки:

д д

, который является самым простым с точки зрения затронутых ключей.

Другой способ: перейти к началу строки с ^ и удалить до конца строки D :

^ D

Они оба удаляют всю строку, а не только влево, например Ctrl + U в режиме вставки или вариант bleow.

Если вы сейчас находитесь в конце строки, поэтому вам не нужно ничего удалять вправо, это также сделает:

Удалить здесь d , для начала строки ^ :

д ^

Вы можете использовать все это из режима вставки, вам нужно обычное сбежать первым, чтобы перейти в обычный режим. Например, чтобы удалить всю строку из режима вставки, используйте:

Esc д д     

ответ дан Volker Siegel 15.09.2014 в 05:48