当前位置: 首页>>技术问答>>正文


相当于将文件复制到剪贴板的命令行是什么?

, ,

问题描述

什么是命令行相当于按CTRL + C在文件管理器中的文件,以便文件(而不是文件名)被复制到剪贴板?

例如,在这种情况下,它可能非常实用且快速,例如,当您想要将文件从终端中的目录复制到剪贴板时,可以快速将文件粘贴到文件管理器中的目录中。还有其他人。

最佳解决思路

当您在文件管理器中的文件上按Ctrl-C时,文件的内容不被复制到剪贴板。一个简单的测试:在文件管理器中选择一个文件,按下Ctrl-C,打开一个文本编辑器,按下Ctrl-V。结果不是文件的内容,而是其完整路径。

事实上,情况有点复杂,因为你不能做相反的事情 – 从文本编辑器复制文件名列表并将它们粘贴到文件管理器中。

要将一些数据从命令行复制到X11剪贴板,您可以使用xclip命令,该命令可以与

sudo apt-get install xclip

将文件的内容或某些命令的输出复制到剪贴板使用

cat ./myfile.txt|xclip -i

可以使用鼠标中键将文本粘贴到某处(这称为“主选择缓冲区”)。

如果您想将数据复制到”clipboard”选项,因此可以将其粘贴到使用Ctrl-V的应用程序中,您可以执行

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

为了能够从命令行复制文件并将它们粘贴到文件管理器中,您需要指定一个正确的”target atom”,以便文件管理器识别剪贴板中的数据,并以正确的格式提供数据 – 幸运的是,如果是复制文件管理器中的文件,它只是一个绝对文件名列表,每个文件都在一个新行上,使用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

很好,不是吗?

次佳解决思路

我听说xclip还支持使用xclip-copyfilexclip-pastefile进行文件复制。尽管我还没有真正使用它,但它可能是一个解决方案。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/883.html,未经允许,请勿转载。