Board logo

标题: [推荐]NTFS符号链接创建工具Junction [虚拟目录][方便] [打印本页]

作者: airosp     时间: 2007-4-13 09:01    标题: [推荐]NTFS符号链接创建工具Junction [虚拟目录][方便]

四处寻到的Sysinternals旧版junction.exe,未被微软收购前的版本,很经典~
http://zhenlove.com.cn/cndos/fil ... 04_sysinternals.zip

用法:
Junction v1.04 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2005 Mark Russinovich
Systems Internals - http://www.sysinternals.com

The first usage is for displaying reparse point information, and the
second usage is for creating or deleting a NTFS junction point:

usage: Junction [-s] [-q] <file or directory>
       -q     Don't print error messages (quiet)

       -s     Recurse subdirectories

usage: Junction [-d] <junction directory> [<junction target>]
       -d     Delete the specified junction
       example: junction d:\link c:\winnt
[ Last edited by airosp on 2007-4-12 at 08:35 PM ]
作者: airosp     时间: 2007-4-13 09:06
算是个新鲜东西,解释一下:
符号链接是为了方便文件/目录操作。简单的说就像窗玻璃,完全透明,软件透过它来访问真实目录。

详尽的解说请看这里:
http://www.rainux.org/2004/12/22/18
http://windows-vista.highdiy.com/index.php/symbolic-link/
(保证都是最初发布点)

=========================
我们来举个实际应用的例子:
Firefox官方版只能把配置放到%AppData%\Mozilla下,万一系统盘被毁就惨了~

注意,FAT文件系统不支持符号链接。

1.首先把%AppData%\Mozilla的东西整体挪窝到目的地,如D:\Browser\Firefox\settings。

2.删除目录%AppData%\Mozilla

3.命令行下junction创建一个符号链接:

  Quote:
C:\>junction "%AppData%\Mozilla" "D:\Browser\Firefox\settings"

Junction v1.04 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2005 Mark Russinovich
Systems Internals - http://www.sysinternals.com

Created: C:\Documents and Settings\Administrator\Application Data\Mozilla
Targetted at: D:\Browser\Firefox\settings

4.完成了。现在看看%AppData%\Mozilla的内容,
是不是和D:\Browser\Firefox\settings里一模一样?^_^
=========================

为什么要找Sysinternals旧版?
微软的所谓新版本首次使用要人同意许可协议+乱写注册表:
http://www.microsoft.com/technet ... dDisk/Junction.mspx

%AppData%是什么?一个环境变量,指代你的应用程序目录。例如:
"%AppData%" = "C:\Documents and Settings\Administrator\Application Data"

[ Last edited by airosp on 2007-4-12 at 08:27 PM ]
作者: 0451lym     时间: 2007-4-13 09:23
什么概念?DOS下的快捷键?或者换个说法是:虚拟目录?
什么地方能用到那?

[ Last edited by 0451lym on 2007-4-13 at 09:25 AM ]
作者: airosp     时间: 2007-4-13 09:25


  Quote:
Originally posted by 0451lym at 2007-4-12 20:23:
什么概念?DOS下的快捷键?
什么地方能用到那?

为了方便文件夹操作创造的虚拟目录。

符号链接在软件看来就是真正的文件夹,其实是个指向真实文件夹的壳。微软从Linux、Unix文件系统学来的~

据微软说只有Vista支持对文件创建符号链接。

[ Last edited by airosp on 2007-4-12 at 08:34 PM ]
作者: 0451lym     时间: 2007-4-13 09:26
哦,谢谢分享!
作者: airosp     时间: 2007-4-13 09:37
名词对译:
hard link        硬链接
symbolic link        符号链接
symlink                符号链接
作者: Climbing     时间: 2007-4-13 21:49
很早以前就接触过这些东西了,类似于Unix下的ln命令,Unix全面支持各种链接方式,不过经楼主提醒,发现微软的很多顽固目录确实可以通过这种方式指定到其它分区,但可惜,我不喜欢使用ntfs文件系统,如果能够支持FAT分区就更完美了。
作者: Climbing     时间: 2007-4-13 22:06
在XP的CMD下发现一个
fsutil hardlink create ln.exe junction.exe

跟junction命令类似,不过发现junction.exe不能管理上面这个命令创建的硬链接。

而fsutil hardlink只能创建文件的硬链接。对了,硬链接跟符号链接到底有什么不同,还请楼主释疑。
作者: airosp     时间: 2007-4-13 23:56
·Vista前未支持目录的硬链接
·硬链接不能跨分区
硬链接是同一内容的多个文件名,与原先的文件名几乎无任何区别。
硬链接直接写入文件表,比符号链接低层,所以无法跨分区。

·Vista前未支持文件的符号链接
·符号链接可以跨分区
注意:Vista之前微软explorer对符号链接的操作有大Bug,删符号链接会连被链接对像一起删掉。explorer对硬链接没有这个Bug。

在Linux上符号链接可以跨出本机。

[ Last edited by airosp on 2007-4-13 at 11:34 AM ]
作者: airosp     时间: 2007-4-19 04:52
晕,这个真的那么小众吗……