Что такое командная строка, эквивалентная копированию файла в буфер обмена?

Какая командная строка эквивалентна нажатию CTRL + C над файлом в файловом менеджере, чтобы файл (не имя файла) копировался в буфер обмена? Например, быстрый - это когда вы хотите скопировать в буфер обмена файл из каталога, в котором вы находитесь, чтобы быстро вставить файл в каталог, в котором вы находитесь в диспетчере файлов. Есть и другие.

90
задан 22 March 2019 в 08:54

3 ответа

Когда Вы нажимаете 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/sh
xclip -i -selection clipboard -t text/uri-list

затем Вы вставляете его ~/bin, исполняемый файл набора обдумал его, и используйте его как это:

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

Хороший, не так ли?

105
ответ дан 22 March 2019 в 08:54

Я слышал, что xclip также поддерживает копирование файлов с помощью xclip-copyfile и xclip-pastefile. Я действительно не использовал это хотя, но это могло бы быть решением.

0
ответ дан 22 March 2019 в 08:54

Mac OS имеет pbcopy с более легким синтаксисом:

pbcopy < ~/.ssh/id_rsa.pub 

или

cat ~/.ssh/id_rsa.pub  | pbcopy

Для моделирования pbcopy на Ubuntu с xclip (установленный через sudo apt install xclip):

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
0
ответ дан 17 October 2019 в 10:39

Другие вопросы по тегам:

Похожие вопросы: