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 ?