如何实现linux与windows软链接底层兼容?
即,将一个linux软链接拷贝到win环境下,在文件不被做任何修改的情况下,win依然能够使用比链接,请问如何实现?
这个问题很高端,也很棘手,有什么想法一起讨论讨论。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
即,将一个linux软链接拷贝到win环境下,在文件不被做任何修改的情况下,win依然能够使用比链接,请问如何实现?
这个问题很高端,也很棘手,有什么想法一起讨论讨论。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
最近刚好看到Git for Windows加了软链接支持,可用把git clone当作是一种复杂的文件复制吧。
在linux下:
然后提交到github,再在windows下用管理员权限git clone下来:
结果:
向link-to-readme.md写内容会出现在readme.md(用powershell):
Mode里有l:
所以复制软链接拷是可以的,大概流程:
copy时记录linux下软连接的信息,例如这是个软链、指向那个文件
paste到windows时,根据保存的软连接信息用Windows的Symbolic link重建文件
一点补充:如果是只复制软链,不复制指向的文件,或者软链是绝对路径,这种方法是不行的。
不可能兼容吧,
你可以试下在windows里用ext2fsd挂载ext分区,复制里边的软链接文件出来用hex编辑器查看下内容,通过分析文件结构来解析,
要不就试试msys+mingw里能不能readlink读出来,
或者win10预览版可以装linux子系统(ubuntu),试下?
你应该考虑的是先在windows下挂载linux分区,然后尝试使用快捷方式或者mklink等方式从linux分区中创建一个指向连接,而不是考虑拷贝linux下已经创建好的软连接能够在windows下兼容。
理论上软连接是克服了硬链接在不同文件系统上的兼容问题的,我们可以在不同的文件分区甚至网络文件系统上创建软连接,但是考虑到windows和linux本身操作系统上的区别,你在linux下创建的软连接并不一定能保证在windows下能被正确识别并引用。所以,还是别考虑复制了,如果真有需要,试试直接挂载分区,然后用mklink从linux分区创建一个软连接到windows吧!