[20171230]windows mklink.txt

简介: [20171230]windows mklink.txt --//别人的系统,原来的D盘磁盘空间不足,加入新的磁盘,想把原来的D的数据移动到E盘,而通过D盘依旧可以访问, --//问如何做?实际上在windows下也存在类似linux的ln命令,很容易实现这样的需求.我看了一个命令语法.如下: D:\temp>mklink 创建符号链接。
[20171230]windows mklink.txt

--//别人的系统,原来的D盘磁盘空间不足,加入新的磁盘,想把原来的D的数据移动到E盘,而通过D盘依旧可以访问,
--//问如何做?实际上在windows下也存在类似linux的ln命令,很容易实现这样的需求.我看了一个命令语法.如下:

D:\temp>mklink
创建符号链接。

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      创建目录符号链接。默认为文件
                符号链接。
        /H      创建硬链接,而不是符号链接。
        /J      创建目录联接。
        Link    指定新的符号链接名称。
        Target  指定新链接引用的路径
                (相对或绝对)。

--//我的感觉/D /J 好像一样的,不知道两种区别在哪里.检索如下:

https://baike.baidu.com/item/mklink/566760?fr=aladdin

目录符号链接与目录连接点的区别

目录符号链接(/D)与目录连接点(/J)非常相似,但是本质是不同的。目录符号链接依旧是符号链接,是指向目录的符号链接,而目录连接
点不属于符号链接。

目录符号链接允许 Target 使用相对路径,当使用相对路径时创建目录符号链接之后,如果移动了符号链接文件,操作系统将无法再找到
原来的目标。

目录连接点只允许 Target 使用绝对路径,当创建目录连接点时,如果传入的参数是相对路径,mklink 命令会自动将相对路径补全为绝
对路径。

当目录符号链接使用绝对路径时,其行为与目录连接点完全一样。

此外,目录符号链接还可以指定 SMB 远程网络中的路径,而目录连接点不可以。

--//自己做一些测试:
d:\temp>dir
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-A37E

 d:\temp 的目录

2017/12/30  21:11    <DIR>          .
2017/12/30  21:11    <DIR>          ..
2017/11/24  22:01    <DIR>          app
2017/12/31  20:11    <DIR>          test
               0 个文件              0 字节
               4 个目录 41,630,515,200 可用字节
--//在test目录建立文件d.txt

d:\temp>mklink /D e:\test test
为 e:\test <<===>> test 创建的符号链接

d:\temp>dir e:\ | grep test
2017/12/31  20:12    <SYMLINKD>     test [test]

d:\temp>dir e:\test
 驱动器 E 中的卷没有标签。
 卷的序列号是 000C-24BB

 e:\test 的目录

找不到文件
--//为什么.

d:\temp>rmdir e:\test

--//继续:

d:\temp>mklink /D e:\test .\test
为 e:\test <<===>> .\test 创建的符号链接

d:\temp>dir e:\ | grep test
2017/12/31  20:16    <SYMLINKD>     test [.\test]

d:\temp>dir e:\test\
 驱动器 E 中的卷没有标签。
 卷的序列号是 000C-24BB

 e:\test 的目录

找不到文件

--//继续:
d:\temp>mklink /D d:\test .\test
为 d:\test <<===>> .\test 创建的符号链接

d:\temp>dir d:\test
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-A37E

 d:\test 的目录

找不到文件

--//真不知道这个/D参数什么用.

d:\temp>rmdir d:\test

d:\temp>mklink /D e:\test d:\temp\test
为 e:\test <<===>> d:\temp\test 创建的符号链接

d:\temp>dir e: | grep test
2017/12/31  20:20    <SYMLINKD>     test [d:\temp\test]

d:\temp>dir e:\test\
 驱动器 E 中的卷没有标签。
 卷的序列号是 000C-24BB

 e:\test 的目录

2017/12/31  20:11    <DIR>          .
2017/12/31  20:11    <DIR>          ..
2017/12/31  20:11                18 d.txt
               1 个文件             18 字节
               2 个目录 41,630,515,200 可用字节

--//只有这样才正常使用,相对路径如何用.只有中括号的里面目录存在才是ok的.
d:\temp>rmdir e:\test

d:\temp>mklink /D d:\temp\aaaa test
为 d:\temp\aaaa <<===>> test 创建的符号链接

d:\temp>dir
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-A37E

 d:\temp 的目录

2017/12/31  20:23    <DIR>          .
2017/12/31  20:23    <DIR>          ..
2017/12/31  20:23    <SYMLINKD>     aaaa [test]
2017/11/24  22:01    <DIR>          app
2017/12/31  20:11    <DIR>          test
               0 个文件              0 字节
               5 个目录 41,630,515,200 可用字节

d:\temp>dir aaaa
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-A37E

 d:\temp\aaaa 的目录

2017/12/31  20:11    <DIR>          .
2017/12/31  20:11    <DIR>          ..
2017/12/31  20:11                18 d.txt
               1 个文件             18 字节
               2 个目录 41,630,515,200 可用字节

--//真不知道ms为什么要创建这个参数,意义不大.到这里我才明白/D参数的含义.

d:\temp>mklink /D e:\ttt toad
为 e:\ttt <<===>> toad 创建的符号链接
--//最后的参数实际上不一定在本地目录,ms的相对是针对前面的Link.我自己理解错误.

d:\temp>dir e: | egrep  "toad|ttt"
2013/07/16  22:30    <DIR>          toad
2017/12/31  20:29    <SYMLINKD>     ttt [toad]

d:\temp>dir e:\ttt
 驱动器 E 中的卷没有标签。
 卷的序列号是 000C-24BB

 e:\ttt 的目录

2013/07/16  22:30    <DIR>          .
2013/07/16  22:30    <DIR>          ..
2011/10/10  09:52       145,096,704 Toad .dat
2013/07/16  22:32    <DIR>          Toad for Oracle 11
2011/10/10  09:52            52,469 Toad for Oracle 11.exe
               3 个文件    145,149,209 字节
               3 个目录 35,444,133,888 可用字节

--//实际上这个就是windows的快捷方式,只不过使用命令行实现罢了.

目录
相关文章
|
6月前
|
Windows
Windows的mklink使用方法
【5月更文挑战第20天】Windows的mklink使用方法
285 0
|
Windows
Windows命令之mklink基础
Windows命令之mklink基础
649 0
|
26天前
|
边缘计算 安全 网络安全
|
19天前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019
|
22天前
|
网络协议 Windows
Windows Server 2019 DHCP服务器搭建
Windows Server 2019 DHCP服务器搭建
|
22天前
|
网络协议 定位技术 Windows
Windows Server 2019 DNS服务器搭建
Windows Server 2019 DNS服务器搭建
|
19天前
|
安全 网络协议 数据安全/隐私保护
Windows Server 2019 搭建并加入域
Windows Server 2019 搭建并加入域
|
22天前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
|
22天前
|
网络协议 Windows
Windows Server 2019 Web服务器搭建
Windows Server 2019 Web服务器搭建
|
2月前
|
网络安全 虚拟化 Windows
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题