[20240917]windows mklink的创建目录联接.txt
D:\tmp>mklink
命令语法不正确。
~~~~~~~~~~~~~
创建符号链接。
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件
符号链接。
/H 创建硬链接而非符号链接。
/J 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径(相对或绝对)。
--//下划线内容是因为mklink命令后有空格,如果没有不会报这个错误。
--//不理解/J 创建目录联接表示怎么,测试看看。
D:\tmp>mkdir tmp1 tmp2
D:\tmp>mklink /J tmp2 tmp1
当文件已存在时,无法创建该文件。
D:\tmp>rmdir tmp2
D:\tmp>mklink /J tmp2 tmp1
为 tmp2 <<===>> tmp1 创建的联接
D:\tmp>dir | grep tmp
D:\tmp 的目录
2024/09/17 16:21 <DIR> tmp1
2024/09/17 16:20 <JUNCTION> tmp2 [D:\tmp\tmp1]
--//出现的是JUNCTION。在tmp2目录下建立的文件,在tmp1目录也能看见,反之亦然。
D:\tools\sqllaji>dir | grep tpt
2024/09/17 16:05 <SYMLINKD> tpt [tpt-oracle-master]
2024/09/17 15:54 <DIR> tpt-oracle-master
2024/09/14 17:37 <DIR> tpt-oracle-master.org
--//这个与/D与/J存在什么区别。
--//如果有什么不同就是JUNCTION里面记录的全路径,而SYMLINKD记录的是相对路径,不理解放弃。
--//从网上找到如下链接:
--//https://blog.csdn.net/qq_42880714/article/details/141403855
/J:创建目录联接,也属于软链接。虽然它的表现基本跟 /D 一样(像修改文件会反映到另一个文件上等等)。不过跟 /D 有一个很明显
的区别,就是通过鼠标拖动把链接文件夹移动到其他位置时,会把源文件中全部文件全部删除掉,只存在于移动的新位置里。此时链接文
件夹还是存在的,不过里边没有任何文件。而通过 move 命令则是会把整个链接文件夹都移动到新位置,就不会对原文件夹中的文件产生
影响。
--//https://blog.csdn.net/Solariany/article/details/139099884
/J 建立目录的 JUNCTION; /D 建立目录的符号链接。
JUNCTION 必须是本机的目录;符号链接可以链接网络上的资源。
JUNCTION 建立时可以用相对路径,但记录的是绝对路径;符号链接建立时可以用相对路径,记录的也是相对路径。
移动、更名、删除 target 目录时,JUNCTION 失效;符号链接也失效。
移动、更名 target 的上 n 级目录时,JUNCTION 失效;符号链接视情况可能失效(相对路径情况可能不失效)。
权限方面,JUNCTION 的权限和 target 相同;符号链接的权限可以单独设置。
删除 JUNCTION,target 不受影响;删除符号链接,target 也不受影响。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3028117/ ,如需转载,请注明出处,否则将追究法律责任。