web-dev-qa-db-fra.com

Comment puis-je diriger la sortie standard du terminal (stdout) vers le presse-papiers?

Par exemple,

Dites que je veux liste le contenu d'un dossier et les coller directement dans une fenêtre de discussion pour un ami à voir.

Je réalise que je pourrais faire ls > filename.txt pour créer un fichier (filename.txt) avec ce contenu; Je devais ensuite ouvrir ou imprimer le fichier et sélectionner et copier manuellement le bloc de texte (, ce qui peut être ennuyeux/fastidieux .) Je pouvais aussi clairement sélectionner et copier la sortie de ls directement à partir de la fenêtre du terminal.

Il serait beaucoup plus rapide/facile de simplement diriger une sortie standard vers le presse-papiers.

Quelle commande de terminal me permet de faire cela?

96
Insperatus

Cela peut être fait avec les utilitaires de ligne de commande xsel ou xclip . Étant donné qu’aucun de ces programmes n’est fourni avec Ubuntu par défaut, vous devez d’abord les installer via le logiciel Ubuntu ou le terminal. Voici comment procéder dans le terminal (mais souvenez-vous que vous n’avez besoin que de l’un des deux).

Sudo apt install xsel
Sudo apt install xclip

Maintenant quelques exemples. Si vous voulez copier la sortie de ls dans le presse-papiers, voici ce que vous feriez:

Avec xsel:

ls | xsel -ib

Avec xclip:

ls | xclip -sel clip

Ceci peut bien sûr être utilisé pour d'autres commandes de terminal . Supposons que vous souhaitiez coller les informations de votre réseau dans un forum d'aide.

Avec xsel:

Sudo lshw -C network | xsel -ib

Avec xclip:

Sudo lshw -C network | xclip -sel clip

Faites-le encore plus facilement avec un nouvel alias bash!

Editez votre fichier ~/.bash_aliases (s'il n'existe pas encore, créez-le d'abord avec touch ~/.bash_aliases)

Ajoutez ensuite un (selon le programme avec lequel vous avez décidé de suivre):

alias copy='xclip -sel clip'

ou

alias copy='xsel -ib'

Puis enregistrez et fermez.

Maintenant (après avoir redémarré votre terminal), vous pouvez envoyer la sortie standard dans le presse-papiers en le connectant simplement pour le copier (ou ce que vous décidiez de nommer votre nouvel alias).

Par exemple:

ls | copy
112
Insperatus