Come si eliminano i miei comandi rapidamente?

163

Uso il terminale per quasi tutte le attività. Diciamo che ho inserito un comando enorme come questo:

sudo a-huge-command

Qual è il modo più semplice per eliminare l'intero comando con una singola scorciatoia, piuttosto che continuare a premere il tasto backspace ?

Sono un principiante di Ubuntu che cerca di usare Ubuntu in modo professionale.

    
posta batman 04.09.2012 - 13:56

9 risposte

176

Usa Ctrl + U per tagliare il testo dalla posizione del cursore all'inizio della riga di comando. Successivamente, se lo desideri, usa Ctrl + Y per incollare il testo tagliato.

Se vuoi semplicemente scartare la riga di comando corrente e ottenere un nuovo hit pulito Ctrl + C .

Per ulteriori riferimenti, consultare la documentazione di Ubuntu per Uso del terminale

    
risposta data Eric Carvalho 04.09.2012 - 14:03
109

Ctrl + U dovrebbe aiutarti.

Di seguito sono riportate le restanti opzioni disponibili. Estratto da qui

UNIX comprende diversi comandi chiave di controllo, comandi che si inseriscono tenendo premuto il tasto di controllo (ctrl) mentre si colpisce un secondo tasto

CTRL + S - blocca lo schermo e interrompe qualsiasi visualizzazione sullo schermo continuando (equivalente a un tasto no-scroll) (a volte richiede un momento di lavoro)

CTRL + Q - blocca lo schermo e fa continuare la visualizzazione dello schermo

CTRL + C - interrompe un programma in esecuzione

CTRL + \ - stesso di CTRL - C ma più forte (usato quando il terminale non risponde)

CTRL + Z - sospende un programma in esecuzione (usa il comando fg per continuare il programma, vedi s $

CTRL + H - cancella l'ultimo carattere digitato

CTRL + W - cancella l'ultima parola digitata

CTRL + U - cancella l'ultima riga digitato

CTRL + R - cerca il testo dalla cronologia

CTRL + D - termina l'immissione di testo per molti programmi UNIX, inclusi posta e scrittura.

Nota:

Quando cancelliamo usando CTRL + W o CTRL + U , stiamo anche eseguendo un (modifica ) operazione "cut" (yank in) (cancella e salva nel buffer / negli appunti). Per incollare (strattonare) la stringa nel buffer / negli appunti, utilizzare CTRL + Y .

    
risposta data devav2 04.09.2012 - 14:04
61

Di solito utilizzo Alt + Backspace . Se stai utilizzando bash , questo ti consente di eliminare fino al carattere speciale precedente ( / , ; , , ecc.). Se stai utilizzando zsh , rimuoverà anche le barre e i punti e virgola. È molto più veloce del solo battere Backspace .

In bash , questo è diverso da Ctrl + w nel senso che Ctrl + w cancella la parola precedente dove Alt + Backspace cancella finché non viene trovato il carattere speciale precedente. In zsh , entrambe le combinazioni di tasti fanno la stessa cosa

    
risposta data Exeleration-G 04.09.2012 - 14:00
33

Ecco un elenco di scorciatoie da tastiera che possono essere utilizzate con la shell 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

Ciò che si vuole fare è raggiunto con Ctrl + C o Ctrl + U sul fine della linea.

    
risposta data OrangeDog 04.09.2012 - 20:42
24

Alt + # (cioè, Alt + Maiusc + 3 ) commenterà il comando corrente e continuerà sulla riga successiva.

Ad esempio, se si digita t , e , s , t , Alt + # , otterrai:

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

Se vuoi recuperare il vecchio comando, puoi premere la freccia su e cancellare il carattere hash ( Su , Home , Elimina o Su , Ctrl + A , Elimina ).

Penso che sia una funzionalità di GNU Readline , poiché funziona in Bash, Python e MySQL.

    
risposta data Snowball 04.09.2012 - 19:21
22

Ctrl + C - oltre a interrompere i comandi in esecuzione, può essere utilizzato per "interrompere" anche l'input da riga di comando.

In contrasto con Ctrl + U , vedrai comunque ciò che hai digitato, ma il tuo cursore salterà sulla nuova riga e otterrai una riga di comando vuota pronta.

    
risposta data Vilmantas Baranauskas 04.09.2012 - 14:16
8

La Bash readline scorciatoia Ctrl + X + E è molto utile quando si lavora sulla riga di comando. Se stai inserendo un comando lungo e decidi che vuoi aprirlo nel tuo editor di testo predefinito, tutto ciò che devi fare è usare il collegamento.

Utilizza la libreria readline di Bash e questo particolare collegamento è chiamato edit-and-execute-command . Puoi impostare l'editor predefinito posizionando export EDITOR="/usr/bin/vi" in ~/.bashrc o ~/.bash_aliases .

Inserisci bind -P per vedere i tuoi attuali readline binding e fai riferimento a man readline o Manpage di Ubuntu online per ulteriori informazioni.

    
risposta data user76204 14.11.2012 - 22:06
7

Uso anche Esc + Backspace per cancellare tutti i caratteri precedenti fino a un carattere speciale. Lo stesso è Alt + Backspace . Pratico se stai cancellando solo poche parole alla volta.

    
risposta data jytou 06.09.2012 - 17:53
3

Per vi combinazioni di tasti

Quando utilizzi una mappa chiave vi come in bash con set -o vi o in zsh con bindkey -v :

Modalità di inserimento

È lo stesso tasto premuto nella modalità predefinita / emacs:

Ctrl + U

cancellando forma la posizione corrente all'inizio della linea. Quindi cancella l'intera linea se il cursore è alla fine.

Modalità normale

Esistono diversi modi per eliminare la linea in due sequenze di tasti:

Elimina linewise dd , con il conteggio predefinito di una riga:

d d

che è il più semplice in termini di tasti toccati.

Un altro modo è: vai all'inizio della riga con ^ e cancella alla fine della riga con D :

^ D

Entrambi cancellano l'intera linea, non solo a sinistra, come Ctrl + U in modalità di inserimento o la variante bleow.

Se al momento ci si trova alla fine della riga, quindi non è necessario eliminare nulla a destra, farebbe anche questo:

Elimina da qui d , all'inizio della riga ^ :

d ^

È possibile utilizzare questi tutti dalla modalità di inserimento, è necessario prima la solita fuga per passare alla modalità normale. Ad esempio, per eliminare l'intera riga dalla modalità di inserimento, utilizzare:

Esc d d

    
risposta data Volker Siegel 15.09.2014 - 05:48

Leggi altre domande sui tag