118 votes

Quel est l'équivalent en ligne de commande de la copie d'un fichier dans le presse-papiers ?

Quel est l'équivalent en ligne de commande de l'appui sur CTRL+C sur un fichier dans le gestionnaire de fichiers pour que le fichier (et non le nom du fichier) soit copié dans le presse-papiers ?

Une situation où cela peut être utile et rapide, par exemple, est lorsque vous voulez copier dans le presse-papiers un fichier du répertoire dans lequel vous vous trouvez dans le terminal pour coller rapidement le fichier dans le répertoire dans lequel vous vous trouvez dans le gestionnaire de fichiers. Il en existe d'autres.

123voto

John Points 9

Lorsque vous appuyez sur Ctrl-C sur un fichier dans le gestionnaire de fichiers, le contenu du fichier N'EST PAS copié dans le presse-papiers. Un test simple : sélectionnez un fichier dans le gestionnaire de fichiers, appuyez sur Ctrl-C, ouvrez un éditeur de texte, appuyez sur Ctrl-V. Le résultat n'est pas le contenu du fichier mais son chemin complet.

En réalité, la situation est un peu plus compliquée car vous ne pouvez pas faire l'inverse - copier une liste de noms de fichiers depuis un éditeur de texte et les coller dans le gestionnaire de fichiers.

Pour copier certaines données de la ligne de commande vers le presse-papiers de X11, vous pouvez utiliser xclip qui peut être installé avec

sudo apt-get install xclip

pour copier le contenu d'un fichier ou la sortie d'une commande vers le presse-papiers

cat ./myfile.txt|xclip -i

le texte peut alors être collé quelque part en utilisant le bouton du milieu de la souris (c'est ce qu'on appelle le "tampon de sélection primaire").

Si vous souhaitez copier des données dans la sélection "presse-papiers", afin de pouvoir les coller dans une application avec Ctrl-V, vous pouvez procéder comme suit

cat ./myfile.txt|xclip -i -selection clipboard

Pour pouvoir copier fichiers à partir de la ligne de commande et de les coller dans un gestionnaire de fichiers, vous devez spécifier un "atome cible" correct afin que le gestionnaire de fichiers reconnaisse les données dans le presse-papiers et fournisse également les données dans le format correct - heureusement, dans le cas de la copie de fichiers dans un gestionnaire de fichiers, il s'agit juste d'une liste de noms de fichiers absolus, chacun sur une nouvelle ligne, quelque chose qui est facile à générer en utilisant find commandement :

find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list

(du moins, cela fonctionne pour moi dans KDE). Maintenant vous pouvez envelopper dans un petit script que vous pouvez appeler, disons, cb :

#!/bin/sh
xclip -i -selection clipboard -t text/uri-list

puis vous le mettez dans ~/bin , mettez le bit exécutable dessus et utilisez-le comme ceci :

find ${PWD} -name "*.txt"| cb

Joli, n'est-ce pas ?

11voto

Gladen Points 2678

J'ai entendu dire que xclip supporte également la copie de fichiers avec xclip-copyfile y xclip-pastefile . Je ne l'ai pas vraiment utilisé, mais cela pourrait être une solution.

4voto

lel Points 113

Mac OS a pbcopy avec une syntaxe plus simple :

pbcopy < ~/.ssh/id_rsa.pub 

oder

cat ~/.ssh/id_rsa.pub  | pbcopy

Pour simuler pbcopy sur Ubuntu avec xclip (installé via sudo apt install xclip ):

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

2voto

N3x Points 1

Je n'ai pas réussi à faire fonctionner les solutions ci-dessus sur 21.04, j'ai trouvé celle-ci.

  • sudo apt install xclip -y
  • cat path/to/file|xclip -selection clipboard
  • pâte

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