介绍

  大家在做开发的时候,有没有遇到过应用部署和用户上传资料分开管理的情况,如果要分开,那么就会遇到图片回显的问题,需要回显绝对路径下的图片,这个大家都很清楚,浏览器处于安全的考虑是无法在img标签中的src是不能直接填写绝对路径下的文件地址的,这样就会引出“软链”的概念;

简介

  • 软链接又叫​​符号链接​​,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。linux下的软链接类似于windows下的快捷方式。 这样就可以是用户上传图片时上传到绝对路径下面吗,而回显图片时可以使用软链将图片链接到应用的路径下,这样就可以使用相对路径来显示绝对路径下的图片啦,这样既可以实现应用和资源的安全管理,又可以实现回显绝对路径图片的问题。

使用方法

在windows中创建软链接,junction的使用方法

junction
软链接也可以称作符号链接,类似于unix中的ln -s。
其实windows也是有这个功能的,不过windows貌似没有内置相关的符号连接工具。最好用的工具应该是Microsoft网站上提供的SysInternals套件,里面包含了大量的实用程序,其中junction.exe就是用来管理符号连接的。
使用junction所创建的符号链接文件夹并不会占用任何磁盘空间,它仅仅是指向了源文件夹。
官方网址:http://technet.microsoft.com/en-us/sysinternals/bb896768
适用环境
必需为NTFS文件格式
windows XP+
windows server 2003+
下载安装
下载junction.zip
将junction.zip解压得到junction.exe,直接扔到C:\WINDOWS\system32
命令格式
1 创建
junction [-s] 链接路径 源路径
*其中参数-s为递归子文件夹
2删除
junction -d 链接路径
3举例
D盘中有个文件夹movies,存储大量的视频,想实现访问C:\movies等于访问D”\movies的效果。
首先确保C盘下不存在 movies文件夹,之后开始->运行(windows功能键+R也可),出入cmd调出命令行,执行以下代码:
junction -s C:\movies D:\movies
出现提示:
Created: C:\movies
Targetted at: D:\movies
此时,软链接创建完毕。
而删除时只需要:
junction -d C:\movies
很方便吧~
用这种方法可以配合同步网盘,将比较大的硬盘用来存储,工作盘可以挪到系统盘上。



linux下建立软链接

实例:ln -s /home/gamestat /gamestat
linux下的软链接类似于windows下的快捷方式
ln -s a b 中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录
如上面的示例,当我们执行命令 cd /gamestat/的时候 实际上是进入了 /home/gamestat/
值得注意的是执行命令的时候,应该是a目录已经建立,目录b没有建立。我最开始操作的是也把b目录给建立了,结果就不对了
删除软链接:
rm -rf b 注意不是rm -rf b/



本文为原创,如果您当前访问的域名不是surenpi.com,请访问“​​素人派​​”。