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


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

sudo a-huge-command

Самый простой способ удалить всю команду с помощью одного ярлыка, а не продолжать возврат на одну позицию ключ?

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


163
2017-09-04 11:56


Источник


Также стоит отметить, что вы можете установить bash (и несколько других оболочек), чтобы понять ключи vi: set -o vi, Тогда вы можете сделать esc, dd (или иначе отредактировать / заменить, как вы могли бы сделать в vi [m]). - Wayne Werner
Главная, '#', Введите - Alistair Buxton
это дешевый взлом, но для чего он стоит, я обычно просто нажимаю стрелку вверх, пока не дойду до очень короткой команды (например, ls), а затем backspace - это обычно всего лишь несколько ключевых штрихов, поэтому это не так уж важно. - KennyPeanuts
CTRL <- постучал пару раз, как правило, позволяет мне вернуться к началу моего запроса .. это вы имеете в виду? - marc-andre benoit


Ответы:


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

Если вы просто хотите отменить текущую командную строку и получить новый чистый запрос Ctrl+С,

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


176
2017-09-04 12:03



Этот ответ работает как для bash (по умолчанию Ubuntu), так и для tsch. - Nick
Я думал, что дефолтом был Ubuntu по умолчанию? - Chris
dash является интерпретатором по умолчанию для /bin/sh команды. bash это стандартная логина входа в систему и TTY. - darvids0n
я нахожу Ctrl + C быть плохой привычкой, поскольку я часто случайно посылаю сигналы программам со своей собственной подсказкой, убивая их и теряя свой прогресс и / или импульс. - user606723


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

Ниже приведены остальные варианты. Схватил из Вот

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

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

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

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

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

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

CTRL + ЧАС - удаляет последний введенный символ

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

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

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

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

Заметка:

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


109
2017-09-04 12:04



На самом деле ctrl-r ищет текст из истории. - Eric Carvalho
@EricCarvalho Вы правы. Удаление этой опции из ответа. - devav2
Это общие управляющие коды UNIX. По умолчанию терминал ubuntu основан на bash, который отличается. - OrangeDog
Ctrl-U удаляет курсор в начало строки. Я часто использую его, помещая курсор перед аргументами в команду из истории. Таким образом, я могу ввести новую команду, используя те же аргументы - например, изменить файл меньшего размера на файл kate, чтобы я мог редактировать файл после того, как посмотрел его, чтобы узнать, нужны ли какие-либо изменения. - Joe
@OrangeDog - все в порядке - я использую все это в моем терминале bash-bashed Ubuntu, за исключением CTR- \ one. - belacqua


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

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


61
2017-09-04 12:00



Ctrl + W делает то же самое. - hytromo
Однако для терминалов, таких как rxvt, работать не будет. - sqram
@lyrae Для меня он отлично работает в rxvt, хотя и не в xterm. И он работает только если set -o emacs установлен. - Marco
я использую ALT+Backspace так же как CTRL+C, Это работает на любом Linux. :) - tftd
@hakermania: Нет, это другое. Ctrl + w удаляет слово, а Alt + Backspace удаляется до предыдущего специального символа (/, ;, `` и т. д.). - jobin


Вот список сочетаний клавиш, которые можно использовать с 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+С или Ctrl+U в конце строки.


33
2017-09-04 18:42



Это самый полный список, хотя лучший ответ Ctrl+C или (Ctrl+E  Ctrl+U) - New Alexandria
Сколько в списке применимо к tcsh, что меня интересует? - TCSGrad
@ shan23 Прочтите раздел «Команды редактора» man tcsh, или использовать bindkey -l, Похоже, это совсем другое дело. - OrangeDog
Обратите внимание, что некоторые из них потерпят неудачу, если вы используете привязки vi для Readh bash (или другой оболочки). Они должны в основном применяться к tcsh; эти предварительные баш. bash также включил много хороших ярлыков истории из csh / tcsh. - belacqua


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

Например, если вы печатаете T, е, s, T, Alt+#, ты получишь:

you@computer$ #test
you@computer$ 

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

Я думаю, что это особенность GNU Readline, поскольку он работает в Bash, Python и MySQL.


24
2017-09-04 17:21





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

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


22
2017-09-04 12:16



Я предпочитаю это просто из-за мышечной памяти, и вы все равно можете скопировать / вставить что-нибудь важное, потому что там прервана команда. - ish


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

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

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


8
2017-11-14 21:06





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


7
2017-09-06 15:53





Для vi привязки клавиш

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

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

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

Ctrl+U

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

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

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

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

dd

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

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

^D

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

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

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

d^

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

Escdd


3
2017-09-15 03:48