Como eu excluo meus comandos rapidamente?

162

Eu uso terminal para quase todas as tarefas. Digamos que eu tenha inserido um comando enorme como este:

sudo a-huge-command

Qual é a maneira mais fácil de excluir o comando inteiro com um único atalho, em vez de continuar pressionando a tecla backspace ?

Sou um novato do Ubuntu que procura usar o Ubuntu de maneira profissional.

    
por batman 04.09.2012 / 13:56

9 respostas

175

Use Ctrl + U para cortar o texto da posição do cursor para o início da linha de comando. Mais tarde, se você quiser, use Ctrl + Y para colar o texto cortado.

Se você quiser apenas descartar a linha de comando atual e obter um novo prompt limpo, pressione Ctrl + C .

Para mais referência, por favor, verifique a documentação do Ubuntu para Usando o Terminal

    
por Eric Carvalho 04.09.2012 / 14:03
109

Ctrl + U deve ajudá-lo.

Abaixo estão as outras opções disponíveis. Capturados de aqui

O UNIX entende vários comandos de teclas de controle, comandos que você insere pressionando a tecla de controle (ctrl) enquanto toca uma segunda tecla

CTRL + S - congela a tela e impede que qualquer exibição na tela continue (equivalente a uma tecla no-scroll) (às vezes leva um tempo para trabalhar)

CTRL + Q - congela a tela e permite continuar a exibição da tela

CTRL + C - interrompe um programa em execução

CTRL + \ - o mesmo que CTRL-C mas mais strong (usado quando o terminal não responde)

CTRL + Z - suspende um programa em execução (use o comando fg para continuar o programa, veja s $

CTRL + H - apaga o último caractere digitado

CTRL + W - apaga a última palavra digitada

CTRL + U - apaga a última linha digitada

CTRL + R - pesquisa texto do histórico

CTRL + D - encerra a entrada de texto para muitos programas UNIX, incluindo correio e escrita.

Nota:

Quando apagamos usando CTRL + W ou CTRL + U , também estamos executando um ) operação "cut" (yank in) (excluir e armazenar no buffer / área de transferência). Para colar (arrancar) a string no buffer / clipboard, use CTRL + Y .

    
por devav2 04.09.2012 / 14:04
61

Normalmente, estou usando Alt + Backspace . Se você estiver usando bash , isso permitirá que você exclua até o caractere especial anterior ( / , ; , , etc.). Se você estiver usando zsh , ele também removerá as barras e pontos-e-vírgulas. É muito mais rápido do que apenas pressionar Backspace .

Em bash , isso é diferente de Ctrl + w no sentido de que Ctrl + w apaga a palavra anterior wheres Alt + Backspace apaga até que o caractere especial anterior seja encontrado. Em zsh , ambas as combinações de teclas fazem a mesma coisa

    
por Exeleration-G 04.09.2012 / 14:00
32

Aqui está um listando de atalhos de teclado que podem ser usados com o bash shell.

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

O que você está querendo fazer é obtido por Ctrl + C ou Ctrl + U no fim da linha.

    
por OrangeDog 04.09.2012 / 20:42
24

Alt + # (ou seja, Alt + Deslocamento + 3 ) irá comentar o comando atual e continuar na próxima linha.

Por exemplo, se você digitar t , e , s , t , + # , você terá:

you@computer$ #test
you@computer$ 

Se você quiser recuperar seu antigo comando, pressione a seta para cima e exclua o caractere de hash ( Acima , Início , Excluir ou Acima , Ctrl + A , Apagar ).

Eu acho que é uma característica do GNU Readline , já que funciona em Bash, Python e MySQL.

    
por Snowball 04.09.2012 / 19:21
22

Ctrl + C - além de interromper os comandos em execução, ele também pode ser usado para "interromper" sua entrada na linha de comando.

Em contraste com o Ctrl + U , você ainda verá o que digitou, mas o cursor irá pular para a nova linha e você terá uma linha de comando vazia prompt.

    
por Vilmantas Baranauskas 04.09.2012 / 14:16
8

O atalho Bash readline Ctrl + X + E é muito útil quando você está trabalhando na linha de comando. Se você estiver no processo de inserir um comando longo e decidir que deseja abri-lo em seu editor de texto padrão, tudo o que você precisa fazer é usar o atalho.

Ele faz uso da biblioteca readline do Bash e esse atalho específico é chamado de edit-and-execute-command . Você pode definir seu editor padrão colocando export EDITOR="/usr/bin/vi" em ~/.bashrc ou ~/.bash_aliases .

Insira bind -P para ver suas ligações atuais de readline e consulte man readline ou a Ubuntu manpages online para mais informações.

    
por user76204 14.11.2012 / 22:06
7

Eu também uso Esc + Backspace para deletar todos os caracteres anteriores até um caractere especial. Isto é o mesmo é Alt + Backspace . Prático se você estiver apenas excluindo algumas palavras por vez.

    
por jytou 06.09.2012 / 17:53
3

Para vi de atalhos de teclado

Ao usar um mapa de chave vi como em bash com set -o vi ou em zsh com bindkey -v :

Modo de inserção

É exatamente o mesmo toque de tecla que no modo padrão / emacs:

Ctrl + U

exclusão da posição atual até o início da linha. Por isso, elimina toda a linha se o cursor estiver no final.

Modo normal

Existem várias maneiras de excluir a linha em dois toques de tecla:

Exclua linewise dd , com a contagem padrão de uma linha:

d d

qual é o mais simples em termos de chaves tocadas.

Outra maneira é: ir para o início da linha com ^ e excluir até o final da linha com D :

^ D

Estes dois deletam a linha inteira, não apenas para a esquerda, como Ctrl + U no modo de inserção, ou a variante do sopro.

Se você estiver no final da linha atualmente, para não precisar excluir nada à direita, isso também funcionará:

Exclua daqui d , para o início da linha ^ :

d ^

Você pode usar tudo a partir do modo de inserção, você precisa do escape usual primeiro para ir para o modo normal. Por exemplo, para excluir a linha inteira do modo de inserção, use:

Esc d d

    
por Volker Siegel 15.09.2014 / 05:48