Когда вы нажимаете Ctrl-C над файлом в файловом менеджере, содержимое файла НЕ копируется в буфер обмена. Простой тест: выберите файл в файловом менеджере, нажмите Ctrl-C, откройте текстовый редактор, нажмите Ctrl-V. Результатом является не содержимое файла, а его полный путь.
На самом деле ситуация немного сложнее, потому что вы не можете сделать наоборот - скопировать список имен файлов из текстового редактора и вставить их в файловый менеджер.
Чтобы скопировать некоторые данные из командной строки в буфер обмена X11, вы можете использовать xclip
команда, которая может быть установлена с помощью
sudo apt-get install xclip
для копирования содержимое файла или вывод какой-либо команды в буфер обмена с использованием
cat ./myfile.txt|xclip -i
затем текст можно вставить куда-нибудь с помощью средней кнопки мыши (это называется "основной буфер выделения").
Если вы хотите скопировать данные в выделенный "буфер обмена", чтобы их можно было вставить в приложение с помощью Ctrl-V, вы можете сделать
cat ./myfile.txt|xclip -i -selection clipboard
Чтобы иметь возможность копировать файлы из командной строки и вставьте их в файловый менеджер, вам нужно указать правильный "целевой атом", чтобы файловый менеджер распознал данные в буфере обмена, а также предоставил данные в правильном формате - к счастью, в случае копирования файлов в файловый менеджер это просто список абсолютных имена файлов, каждое в новой строке, что-то, что легко сгенерировать с помощью find
команда:
find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list
(по крайней мере, это работает для меня в KDE). Теперь вы можете обернуть в небольшой скрипт, который вы можете вызвать, скажем, cb
:
#!/bin/shxclip -i -selection clipboard -t text/uri-list
затем вы кладете его в ~/bin
, установите на него исполняемый бит и используйте его следующим образом:
find ${PWD} -name "*.txt"| cb
Мило, не правда ли?