137 votes

Comment faire passer la sortie standard d'un terminal (stdout) dans le presse-papiers ?

Par exemple,

Dis que je veux lister le contenu d'un dossier et le coller directement dans une fenêtre de chat pour qu'un ami le voie.

Je réalise que je pourrais faire ls > filename.txt pour créer un fichier (nom_fichier.txt) avec ce contenu ; je devrais ensuite ouvrir ou imprimer le fichier et sélectionner et copier manuellement le bloc de texte ( ce qui peut être ennuyeux/difficile .) 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 et facile de simplement envoyer la sortie standard vers le presse-papiers. .

Quelle commande de terminal me permet de faire cela ?

167voto

sridhar Points 21

Cela peut être fait soit avec xsel o xclip des utilitaires de ligne de commande. Comme aucun de ces programmes n'est fourni par défaut avec Ubuntu, vous devrez d'abord les installer via Ubuntu Software ou le terminal. Voici comment procéder dans le terminal (mais n'oubliez pas que vous n'avez besoin que d'un seul de ces deux programmes).

sudo apt install xsel
sudo apt install xclip

Note : Si vous utilisez Ubuntu dans le sous-système Windows pour Linux (WSL), consultez cette page. autre réponse à la place.

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 également . Imaginons que vous souhaitiez coller vos informations réseau dans un forum d'aide.

Avec xsel :

sudo lshw -C network | xsel -ib

Avec xclip :

sudo lshw -C network | xclip -sel clip

Rendez cela encore plus facile avec un nouvel alias bash !

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

Puis ajoutez un (selon le programme que vous avez choisi) des éléments suivants :

alias copy='xclip -sel clip'

o

alias copy='xsel -ib'

Ensuite, enregistrez et fermez.

Maintenant (après avoir redémarré votre terminal), vous pouvez envoyer la sortie standard vers le presse-papiers en la faisant passer par 'copy' (ou tout autre nom donné à votre nouvel alias).

Par exemple :

ls | copy

12voto

Snap Shot Points 411

Si vous essayez de copier dans le presse-papiers en utilisant Ubuntu dans le sous-système Windows pour Linux (WSL), xsel ou xclip ne fonctionnera pas à moins que vous n'utilisiez X Windows car le presse-papiers n'est que pour les graphiques. Cependant, pour diriger la sortie standard du terminal vers le presse-papiers dans WSL Ubuntu, vous pouvez utiliser clip.exe . Vous pouvez ensuite coller dans le terminal Ubuntu de WSL avec les commandes de collage standard et le texte copié sera également disponible dans Windows. Par exemple,

pwd | clip.exe 

copiera le répertoire de travail actuel dans le presse-papiers (Windows).

Ce résultat de recherche apparaît en tête lorsque l'on cherche des moyens de copier/coller du texte dans WSL. Je pense donc qu'il est utile de le mentionner pour que les lecteurs n'installent pas inutilement xsel ou xclip dans Ubuntu et utilisent plutôt clip.exe .

4voto

Michael Noguera Points 155

J'ai trouvé cela utile pour utiliser le xclip en plus des réponses ci-dessus. (source)

Pour coller (à partir du presse-papiers du système) :

xclip -out -sel clip

Démonstration :

$ echo hello world | xclip -sel clip             copy hello world to clipboard
$ xclip -out -sel clip | tail -f                 can pipe from clipboard
hello world
$ xclip -out -sel clip                           paste defaults to stdout

Et donc j'ai ajouté ceci à mon profil Shell :

alias copy="xclip -sel clip"
alias paste="xclip -out -sel clip"

-2voto

user1407402 Points 1

J'ai trouvé cette solution qui, je pense, est plus simple et facile à retenir :

pwd | clipcopy

Vous pouvez l'utiliser pour copier d'autres choses aussi :

ifconfig | clipcopy
echo $PATH | clipcopy
neofetch | clipcopy

Vous n'avez pas besoin de passer d'autres paramètres, il copie directement dans le presse-papiers. J'espère que vous avez appris quelque chose :D

Remarque : vous pouvez utiliser le clippaste pour voir ce qui se trouve actuellement dans le presse-papiers :)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X