web-dev-qa-db-fra.com

Comment copier une commande de terminal dans le presse papier sans utiliser la souris?

enter image description here

gsettings set org.gnome.desktop.interface clock-show-date true

Je souhaite copier cette commande dans le Presse-papiers afin de pouvoir la coller facilement dans un fichier ou une question Poser une question à Ubuntu.

Je sais que je peux copier ceci en le sélectionnant et en appuyant sur Ctrl+Shift+C, mais je veux obtenir une réponse sans souris.

5
alhelal

Vous pouvez utiliser bash ’s History Expansion , pour copier la ligne de commande précédente dans votre presse-papiers sans effectuer de substitution de commande, d’expansion, etc.

_echo !!:q | xclip -sel clip # or respectively
echo !!:q | xsel -ib
_

_!!_ est un raccourci pour _!-1_, en référence à la commande précédente. Les deux points _:_ précèdent le modificateur q, ce qui permet à l’extension de citer les mots substitués avec des guillemets simples pour éviter toute substitution.

Exemple d'exécution

_$ uname -r                        # run your command
4.10.0-35-generic
$ echo !!:q | xclip -sel clip     # copy the previous command to clipboard 
echo 'uname -r' | xclip -sel clip # this line shows what’s done
$ xclip -sel clip -o              # print clipboard content (just for testing)
uname -r
$ $(xclip -sel clip -o)           # run command stored in clipboard (just for testing)
4.10.0-35-generic
_

Pour simplifier cela, vous pouvez créer un alias ou définir un raccourci clavier dans les paramètres. Lisez _man bash_/EXPANSION D'HISTOIRE et man history pour en savoir plus sur l'expansion de l'historique.

5
dessert