windows或linux中创建软链接实现文件关联

操作系统中,我们学到了符号链接能够让两个文件夹共享文件,而符号链接又分为软连接和硬链接。软连接相对灵活,连接中包含的是真实文件的路径;而硬连接则是直接指向真实文件。具体到windows中,软链接能够跨分区,而硬链接不可以。为了实现将文件a内的资源共享给文件b,我们一般采用的是软链接。
如,我这里为了做目标检测实验,会在多个项目中都用到同样的一个很大的数据集训练,如果我每次创建一个项目都在这个项目里创建一个文件夹data,然后将我的数据集复制在这个项目里的,那么这样就会很吃我硬盘空间,浪费资源了,所以这里可以使用软链接,在每个项目中通过软链接指向我硬盘中唯一的那一份数据集文件,这样就整个电脑中一份数据集可以提供给多个项目共享了。
实现如下:

Windows

我本来数据集在的位置:E:\data,这个文件下有coco数据集和voc数据集。我想要做的就是将这个data文件夹下的coco数据集和voc数据共享出去。
在这里插入图片描述
然后我在我一个项目中创建一个软链接连接到这个data文件夹。
先打开命令行,注意要以管理员身份打开,否则会后面创建链接的时候会说你没有权限。
在这里插入图片描述
然后切换到项目所在路径,
先进入到我的项目根路径中,执行以下指令即可,注意要确保该根目录下原来没有data这个文件夹。

mklink /D data E:\data #mklink /D 目的地 源头

在这里插入图片描述
创建成功后会有上面这样一个显示。现在我们看项目中出现了一个data文件夹,它的图标上也有个类似快捷方式那样的小标志。
在这里插入图片描述
然后我们打开这个data就能看见我原来那个目录下的数据了。
在这里插入图片描述
然后现在只要在这两个文件中的一个里面做了修改,另一个也会有同样的修改。

删除软连接

删除时直接删除那个软连接文件夹就行了(上面带有快捷方式图标的),并不会真正删除源文件夹。

Linux

语法如下,需要注意的是目的目录下原来应该没有你想要链接的文件夹
ln -s 源文件夹/ 目的地/
比如为想要将我ubuntu桌面下的PIC文件夹中的coco数据集链接到我mmdetection项目中的data文件夹下。

首先cd到mmdetection目录下,或者在项目中打开命令行,然后输入如下命令:

ln -s  ~/Desktop/PIC/coco/ data/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值