Question Comment supprimer rapidement mes commandes?


J'utilise terminal pour presque toutes les tâches. Disons que j'ai entré une commande énorme comme ceci:

sudo a-huge-command

Quelle est la manière la plus simple de supprimer toute la commande avec un seul raccourci, plutôt que de continuer à frapper retour arrière clé?

Je suis un débutant Ubuntu qui cherche à utiliser Ubuntu de manière professionnelle.


163
2017-09-04 11:56


origine


Il est également intéressant de noter que vous pouvez définir bash (et plusieurs autres coquilles) pour comprendre les clés vi: set -o vi. Vous pourriez alors faire esc, dd (ou autrement éditer / remplacer comme vous pourriez le faire dans vi [m]). - Wayne Werner
Accueil, '#', entrez - Alistair Buxton
Ceci est un hack pas cher mais pour ce que ça vaut, je me contente d’appuyer sur la flèche jusqu’à ce que je reçoive une commande très courte (par exemple, ls) et puis revenir en arrière - ce ne sont généralement que quelques touches de touches, donc ce n'est pas une grosse affaire. - KennyPeanuts
CTRL <- J'ai tapé sur deux fois me permet généralement de revenir au début de ma requête. - marc-andre benoit


Réponses:


Utilisation Ctrl+U pour couper le texte de la position du curseur au début de la ligne de commande. Plus tard, si vous voulez, utilisez Ctrl+Y coller le texte coupé

Si vous voulez simplement supprimer la ligne de commande en cours et obtenir un nouveau raccourci pour l'invite Ctrl+C.

Pour plus d'informations, consultez la documentation d'Ubuntu pour plus d'informations. Utiliser le terminal


176
2017-09-04 12:03



Cette réponse fonctionne à la fois pour bash (Ubuntu default) et tsch. - Nick
Je pensais que dash était Ubuntu default? - Chris
dash est l'interpréteur par défaut pour /bin/sh commandes. bash est le login et le shell TTY par défaut. - darvids0n
je trouve Ctrl + C être une mauvaise habitude, car je vais souvent envoyer accidentellement des signaux aux programmes avec leur propre invite, les tuant et perdant ma progression et / ou mon élan. - user606723


Ctrl +  U devrait vous aider

Voici le reste des options disponibles. Attrapé de ici

UNIX comprend plusieurs commandes de touches de contrôle, des commandes que vous entrez en maintenant la touche Ctrl enfoncée tout en appuyant sur une seconde touche.

CTRL + S - gèle l'écran et empêche tout affichage à l'écran de continuer (équivalent à une touche sans défilement) (prend parfois un moment pour travailler)

CTRL + Q - débloque l'écran et laisse l'écran continuer

CTRL + C - interrompt un programme en cours d'exécution

CTRL + \ - identique à CTRL - C mais plus fort (utilisé lorsque le terminal ne répond pas)

CTRL + Z - suspend un programme en cours d'exécution (utilisez la commande fg pour continuer le programme, voir s $

CTRL + H - supprime le dernier caractère saisi

CTRL + W - supprime le dernier mot saisi

CTRL + U - supprime la dernière ligne saisie

CTRL + R - recherche du texte de l'historique

CTRL +  - termine la saisie de texte pour de nombreux programmes UNIX, y compris le courrier et l’écriture.

Remarque:

Lorsque nous supprimons en utilisant CTRL + W ou CTRL + U, nous effectuons également une opération (edit) "cut" (yank in) (supprimer et stocker dans buffer / presse-papiers). Pour coller (retirer) la chaîne dans le tampon / le presse-papier, utilisez CTRL + Y.


109
2017-09-04 12:04



En fait, ctrl-r recherche le texte de l'historique. - Eric Carvalho
@EricCarvalho Vous avez raison Supprimer cette option de la réponse. - devav2
Ce sont des codes de contrôle UNIX génériques. Le terminal ubuntu par défaut est basé sur bash, ce qui est différent. - OrangeDog
Ctrl-U supprime du curseur au début de la ligne. Je l'utilise souvent en plaçant le curseur juste avant les arguments d'une commande de l'historique. De cette façon, je peux taper une nouvelle commande en utilisant les mêmes arguments, comme changer moins de fichier en kate pour pouvoir éditer le fichier après l'avoir examiné pour voir si des modifications sont nécessaires. - Joe
@OrangeDog - Ce n'est pas grave - J'utilise tout cela dans mon terminal Ubuntu bash-bashed, à l'exception du CTR- \ one. - belacqua


J'utilise généralement Alt+Retour arrière. Si vous utilisez bash, cela vous permettra de supprimer le caractère spécial précédent (/, ;, , etc.). Si vous utilisez zsh, il supprimera également les barres obliques et les points-virgules. C'est beaucoup plus rapide que de frapper Retour arrière.

Dans bash, c'est différent de Ctrl+w dans le sens où Ctrl+w supprime le mot précédent où Alt+Retour arrière supprime jusqu'à ce que le caractère spécial précédent soit trouvé. Dans zsh, les deux combinaisons de touches font la même chose


61
2017-09-04 12:00



Ctrl + W fait la même chose. - hytromo
Ne fonctionnera pas pour les terminaux tels que RXVT cependant. - sqram
@lyrae Pour moi, cela fonctionne parfaitement dans rxvt, mais pas dans xterm. Et ça ne marche que si set -o emacs est défini - Marco
j'utilise ALT+Backspace aussi bien que CTRL+C. Cela fonctionne sur n'importe quel linux. :) - tftd
@hakermania: Non, c'est différent. Ctrl + w supprime un mot et Alt + Retour arrière supprime jusqu'à ce que le caractère spécial précédent (/, ;, ``, etc). - jobin


Voici une inscription des raccourcis clavier qui peuvent être utilisés avec le bash coquille.

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

Ce que vous voulez faire est réalisé soit par Ctrl+C ou Ctrl+U à la fin de la ligne.


33
2017-09-04 18:42



Ceci est la liste la plus complète, bien que la meilleure réponse soit Ctrl+C ou (Ctrl+E  Ctrl+U) - New Alexandria
Combien de personnes sur la liste sont applicables à tcsh, ce qui m'intéresse? - TCSGrad
@ shan23 Lisez la section "Commandes de l'éditeur" de man tcsh, Ou utiliser bindkey -l. On dirait que c'est très différent. - OrangeDog
Notez que certaines d'entre elles échoueront si vous utilisez des liaisons vi pour Readline de bash (ou d'un autre shell). Celles-ci devraient surtout s'appliquer à tcsh également; ces bash pré-datés. bash a également incorporé beaucoup de raccourcis de csh / tcsh. - belacqua


Alt+# (c'est à dire., Alt+Décalage+3) va commenter la commande en cours et continuer sur la ligne suivante.

Par exemple, si vous tapez t, e, s, t, Alt+#, tu auras:

you@computer$ #test
you@computer$ 

Si vous voulez récupérer votre ancienne commande, vous pouvez appuyer sur la flèche vers le haut et supprimer le caractère de hachage (Vers le haut, Accueil, Effacer ou Vers le haut, Ctrl+UNE, Effacer).

Je pense que c'est une caractéristique de ReadLine GNU, car il fonctionne dans Bash, Python et MySQL.


24
2017-09-04 17:21





 Ctrl + C - en plus d'interrompre les commandes en cours d'exécution, il peut également être utilisé pour "interrompre" l'entrée de votre ligne de commande.

Contrairement au  Ctrl + U, vous verrez toujours ce que vous avez tapé, mais votre curseur passera à la nouvelle ligne et vous obtiendrez une invite de ligne de commande vide.


22
2017-09-04 12:16



Je préfère cela simplement en raison de la mémoire musculaire, et vous pouvez toujours copier / coller quelque chose d'important car la ligne de commande abandonnée y reste. - ish


Le bash readline raccourci Ctrl+X+E est très utile lorsque vous travaillez sur la ligne de commande. Si vous êtes en train de saisir une longue commande et que vous décidez de l’ouvrir à la place dans votre éditeur de texte par défaut, il vous suffit d’utiliser le raccourci.

Il fait usage de Bash's readline la bibliothèque et ce raccourci particulier est appelé le edit-and-execute-command. Vous pouvez définir votre éditeur par défaut en plaçant export EDITOR="/usr/bin/vi" dans ~/.bashrc ou ~/.bash_aliases.

Entrer bind -P pour voir votre courant readline liaisons et se référer à man readline ou la Pages de manuel Ubuntu en ligne pour plus d'informations.


8
2017-11-14 21:06





J'utilise aussi Esc+Retour arrière pour supprimer tous les caractères précédents jusqu'à un caractère spécial. C'est la même chose Alt+Retour arrière. Pratique si vous supprimez quelques mots à la fois.


7
2017-09-06 15:53





Pour vi raccourcis clavier

Lorsque vous utilisez un vi carte clé comme dans bash avec set -o vi ou dans zsh avec bindkey -v:

Mode d'insertion

C'est la même frappe que dans le mode par défaut / emacs:

Ctrl+U

la suppression de la position actuelle au début de la ligne. Il supprime donc toute la ligne si le curseur est à la fin.

Mode normal

Il existe plusieurs manières de supprimer la ligne en deux frappes:

Supprimer en ligne dd, avec le compte par défaut d'une ligne:

ce qui est le plus simple en termes de touches touchées.

Une autre façon est de: Aller au début de la ligne avec ^, et supprimer à la fin de la ligne avec D:

^

Celles-ci suppriment la ligne entière, pas seulement à gauche, comme Ctrl+U en mode d'insertion, ou la variante sonne.

Si vous êtes actuellement à la fin de la ligne, vous n'avez donc pas besoin de supprimer quoi que ce soit à droite.

Supprimer d'ici d, au début de la ligne ^:

^

Vous pouvez tous les utiliser depuis le mode encart, vous devez d'abord vous échapper normalement pour passer en mode normal. Par exemple, pour supprimer toute la ligne du mode insertion, utilisez:

Esc


3
2017-09-15 03:48