问题描述
我在Ubuntu(尤其是16.04版本)上的文件快捷方式有问题。
我有一个包含项目的文件夹(我们称其为MyProject),并且该文件夹内部有一个子文件夹,称为html(如果需要的话,该文件由Doxygen生成),其中包含大量文件。其中之一,即“ index.html”,是我必须手动打开的唯一东西,因为其他所有东西大多都是它使用的元素。因此,我要做的是创建一个文件快捷方式并将其剪切粘贴到父文件夹(即MyProject文件夹)中,这样我就可以避免每次都浏览所有这些文件(或不必通过文件资源管理器进行搜索)
我的问题是我需要我的项目独立于我的机器,因为我正在与其他人一起工作。如果其中一个下载了MyProject文件夹,则除了index.html文件快捷方式之外,其他所有功能都可以正常工作,因为双击该文件后,它会尝试通过查找与我计算机上相同的文件路径来查找文件。当然不同。有解决这个问题的聪明方法吗?我希望尽可能避免使用脚本,因为我认为实际上存在一种使“更灵活”的文件快捷方式的方法。
解决方法
您可以将符号链接的路径指定为相对路径,如this question中所述。我已经在我的机器(SO:Linux Mint Sylvia)中进行了尝试,并且工作正常。
示例:
- 我有两个文件夹
/Projects/ProjectA
和/Projects/ProjectB
,都包含一个相对的html/index.html
(由Doxygen生成,如您的情况)。 - 我在
ProjectA
中创建了一个相对符号链接
cd /Projects/ProjectA
ln -s ./html/index.html my_link # Note the './' in the source path
- 如果我使用
xdg-open my_link
,则浏览器会正确打开/Projects/ProjectA/html/index.html
。 - 然后我将同一链接 移到另一个目录。
cd /Projects/ProjectB
mv /Projects/ProjectA/my_link .
- 如果我运行
xdg-open my_link
,它将打开/Projects/ProjectB/html/index.html
- 我没有在不同的机器上对其进行测试,但是由于移动的链接不会尝试打开
/Projects/ProjectA/html/index.html
,因此我很确定应该这样做。
该链接是相对于其自己的目录的,因此,即使您从其他位置打开它,它也将始终打开同一文件(直到链接本身被移动或复制)。