[20160911]windows下建立硬链接.txt
--大家知道linux ln命令可以建立硬连接或者软连接.参考:
http://blog.itpub.net/267265/viewspace-1812272/
--实际上windows下也有类似ln命令,只不过许多人很少在命令行使用windows,对于里面的命令行命令知道的更少.
--通过例子说明,使用fsutil就可以建立硬连接.补充一点建立这种硬连接仅仅支持NTFS文件系统,不要指望支持FAT32.
--实际上这个测试,主要有用户需求修改schema,链接http://blog.itpub.net/267265/viewspace-2124787/
--里面提到操作要drop tablespac,这样通过建立硬连接可以一定程度减少错误。
G:\>echo aaa > a.txt
G:\>dir a.txt
驱动器 G 中的卷是 test
卷的序列号是 E0CD-FBA5
G:\ 的目录
2016-09-11 16:52 6 a.txt
1 个文件 6 字节
0 个目录 154,017,792 可用字节
G:\>fsutil
---- 支持的命令 ----
behavior 控制文件系统行为
dirty 管理卷的被损坏的位数
file 文件特定命令
fsinfo 文件系统信息
hardlink 硬链接管理
objectid 对象 ID 管理
quota 配额管理
reparsepoint 重分析点管理
sparse 稀疏文件控制
usn USN 管理
volume 卷管理
G:\>fsutil hardlink create
用法 : fsutil hardlink create <新文件名> <现有文件名>
例如 : fsutil hardlink create c:\foo.txt c:\bar.txt
G:\>fsutil hardlink create g:\a.txt g:\other\b.txt
错误: 系统找不到指定的文件。
--//微软真够变态,新文件名要放在前面..
G:\>fsutil hardlink create g:\other\b.txt g:\a.txt
为 g:\other\b.txt <<===>> g:\a.txt 创建了硬链接
G:\>echo bbb>> g:\other\b.txt
G:\>cat a.txt
aaa
bbb
G:\>cat \other\b.txt
aaa
bbb
--可以发现我修改了g:\other\b.txt而a.txt的内容也跟着变化.
--至于如何知道这2个文件存在链接关系,在windows下从那里看,我还真不知道,那位知道告诉我。
--我google看了一下:
Vista、Windows 7
在Vista和Win7下面,命令简化了,是mklink,功能比XP中的fsutil强了很多。
D:\tools\rlwrap>mklink
mklink
创建符号链接。
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件
符号链接。
/H 创建硬链接,而不是符号链接。
/J 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径
(相对或绝对)。
D:\tools\rlwrap>mklink c.sql a.sql
mklink c.sql a.sql
为 c.sql <<===>> a.sql 创建的符号链接
D:\tools\rlwrap>dir ?.sql /l
dir ?.sql /l
驱动器 D 中的卷没有标签。
卷的序列号是 0006-A37E
D:\tools\rlwrap 的目录
2015/03/14 22:23 4,926 a.sql
2016/09/11 20:52
c.sql [a.sql]
3 个文件 4,980 字节
0 个目录 97,416,499,200 可用字节
D:\tools\rlwrap>mklink /h d.sql a.sql
mklink /h d.sql a.sql
为 d.sql <<===>> a.sql 创建了硬链接
D:\tools\rlwrap>dir ?.sql /l
dir ?.sql /l
驱动器 D 中的卷没有标签。
卷的序列号是 0006-A37E
D:\tools\rlwrap 的目录
2015/03/14 22:23 4,926 a.sql
2016/09/11 20:52 c.sql [a.sql]
2015/03/14 22:23 4,926 d.sql
3 个文件 9,852 字节
0 个目录 97,416,499,200 可用字节
--软连接可以发现,但是如何确定硬连接还是不知道。
https://technet.microsoft.com/en-us/library/cc788097(WS.10).aspx
D:\tools\rlwrap>fsutil hardlink list d.sql
\tools\rlwrap\a.sql
\tools\rlwrap\d.sql
D:\tools\rlwrap>fsutil hardlink
---- 支持的 HARDLINK 命令 ----
create 创建硬链接
list 枚举文件上的硬链接
--另外一台XP的机器没有list这个命令的说明,不知道是否是版本的问题。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2124812/,如需转载,请注明出处,否则将追究法律责任。