当我从 GUI 复制文件路径(右键单击文件并按“复制”)然后将其粘贴到命令行(Ctrl + Shift + V)中时,它显示为:
file:///home/user/Documents/file.ext
我希望它显示为:
/home/user/Documents/file.ext
有快捷方式吗?我经常处理图像,总是手动删除“file://”有点麻烦。
答案1
从 Files (nautilus) 3.32 开始,剪贴板操作已更改以适应 Gnome Shell“桌面图标”扩展。因此,复制文件将使剪贴板充满
x-special/nautilus-clipboard
copy
file:///home/user/Documents/299867.jpg
而不是像以前一样,只是路径名:
/home/user/Documents/299867.jpg
因此,高级用户无法再方便地将路径名从文件复制粘贴到终端或编辑器,或文件 - 打开/保存对话框。
问题已向 Gnome 提交。您可以通过安装 Nautilus Python 扩展或 Nautilus 脚本来解决。
Nautilus Python 扩展
+
完美集成
+
快速右键单击鼠标访问
-
无热键
如果你只用鼠标复制路径就可以了,那么安装 python 扩展就足够了nautilus-copypath
。它为您提供了右键单击菜单项来复制路径,但不提供使用热键实现该功能的功能。
Nautilus 脚本
+
热键访问
-
需要两次点击
-
集成度较低
不过,高级用户更喜欢把手放在键盘上。虽然 Python 扩展集成得很好,但没有简单的方法(据我发现)为它们分配键盘快捷键或至少菜单加速键。相比之下,人们可以轻松地为 nautilus 脚本分配热键。缺点是需要再单击一次才能用鼠标选择条目。为了同时获得最佳的键盘访问和最佳的鼠标访问,您可以同时安装脚本和 Python 扩展。
1.创建一个 nautilus 脚本文件夹。如果尚未可用,请scripts
在 下创建一个 nautilus 文件夹。要查看文件中的.local/share/nautilus
隐藏文件夹,请选择“显示隐藏文件”(或按+ )。您放入该文件夹中的任何可执行脚本都将出现在“脚本”菜单中,该菜单将出现在文件的右键菜单中。.local
Ctrlh
2.创建一个脚本来复制文件路径。打开文本编辑器,粘贴以下文本
#!/bin/bash
echo -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | perl -pe 'chomp if eof' | xsel -b -i
这个perl
构造是为了删除最后的硬回车。
将文本文件保存在 nautilus 脚本文件夹 ( .local/share/nautilus/scripts
) 中,文件名为Copy Path
。您可以选择任何文件名,但请注意,文件名将作为脚本菜单下的条目显示。关闭编辑器。
3.使脚本可执行。右键单击文件中的脚本文件,选择“属性”(或者在选择文件的情况下按Alt+ ),然后在“权限”选项卡上选中“执行:”。Enter
4.为该功能添加热键。使用文本编辑器打开或创建一个文件(如果尚不存在).config/nautilus/scripts-accels
(即,隐藏文件夹下的文件夹script-accels
中命名的文件)。添加一行来定义要用于复制路径名的热键。我使用++ ,因此我添加了一行如下:nautilus
.config
CtrlShiftc
<Control><Shift>c Copy Path
关闭该文件。您需要完全重新启动文件才能使脚本可用。
5. 确保xsel
已安装.xsel
是一个用于操作剪贴板内容的命令行工具。默认情况下不会安装它,因此您可能需要安装它才能使 nautilus 脚本正常运行:sudo apt install xsel
.
答案2
一个更简单的解决方案是先运行Ctrl+ L,然后运行通常的Ctrl+ C/ Ctrl+ V,这是建议的解决方法错误问题
答案3
与 Ubuntu 21.10 和 Nautilus 40 一样。我们不需要使用任何脚本来完成这个技巧,只需要 Ctrl + C 和 Ctrl + Shift + V。
或者将文件拖放到 Gnome 终端 :D
答案4
- 使用 安装 Thunar 文件管理器
sudo apt install thunar
。 - 安装 xclip。
- 在图纳尔编辑->配置自定义操作-> 点击添加
- 在创建动作-> 设置命令的“名称”
- 在命令设置此命令:“ echo -n %f | xclip -selection clipboard ”