【经验交流】说说Vista根目录下的Documents and Settings - Wi...

来源:百度文库 编辑:神马文学网 时间:2024/04/27 02:48:09




Documents and Settings被锁定无法打开,为什么系统会拒绝我们访问呢?如果您查看这些连接的安全属性,会注意到连接的拥有者只有system账户,出于安全性的考虑,Vista阻止了GUI方式访问。大家不要试图通过夺取拥有者的办法,以查看符号连接的内容,这可能破坏该连接,导致连接的中断。

那么如何了解这些符号连接连接到了哪些目录呢?您可以打开cmd,默认状态下,当前目录应该是用户配置文件目录,也即 c:\user\username,此诗您输入 dir /al,就可以看到众多的“假目录”,也就是符号连接。当老的应用程序试图写入这些目录的时候,就被导向到了其它目录,这个过程对应用程序是透明的。

例如应用程序尝试写入 c:\documents and settings\username ,但最终文件被写入到了 c:\user\username。这个设计理念,其实也充分体现了vista是如何保持向下兼容性,以及产品的平滑过渡的。这里列出一些使用了符号连接:
Application Data [C:\Users\All Users\AppData\Roaming]
Cookies [C:\Users\All Users\AppData\Roaming\Microsoft\Windows\Cookies]
Local Settings [C:\Users\All Users\AppData\Local]
My Documents [C:\Users\All Users\Documents]
NetHood [C:\Users\All Users\AppData\Roaming\Microsoft\Windows\Network Shortcuts]
PrintHood [C:\Users\All Users\AppData\Roaming\Microsoft\Windows\Printer Shortcuts]
Recent [C:\Users\All Users\AppData\Roaming\Microsoft\Windows\Recent]
SendTo [C:\Users\All Users\AppData\Roaming\Microsoft\Windows\SendTo]
Templates [C:\Users\All Users\AppData\Roaming\Microsoft\Windows\Templates]
「开始」菜单 [C:\Users\All Users\AppData\Roaming\Microsoft\Windows\Start Menu]

一般来说,不建议删除这些假目录,一旦删除,一些老的应用程序可能无法正常工作。说到这里,大家可能还是心有不甘,ok,大家可以通过下面的实验,来体会符号连接的魅力。
环境配置:在根目录下建立一个测试目录,例如 d:\test1,然后在里面建立一个文本文件,例如 d:\test1\test1.txt。我们使用vista中的一个命令行工具 mklink来完成符号连接的建立,mklink的命令行格式如下:
MKLINK [[/D] | [/H] | [/J]] Link Target
        /D      创建目录符号链接。黙认为文件符号链接。
        /H      创建硬链接,而不是符号链接。
       /J      创建目录联接。
        Link    指定新的符号链接名称。
        Target 指定新链接引用的路径 (相对或绝对)。

实验1:创建文件类型的符号连接
输入:mklink d:\test d:\test1
回车,系统提示“ 为 d:\test <<===>> d:\test1 创建的符号链接” ,您在资源管理器中看到根目录建立了一个文件“快捷方式”的图标。
实验2:创建目录类型的符号连接
输入:mklink /d d:\test d:\test1
回车,系统提示 “为 d:\test <<===>> d:\test1 创建的符号链接”,您在资源管理器中看到根目录建立了一个目录“快捷方式”的图标,双击它,会看到和d:\test1目录中相同的内容。
尝试编辑这个目录中的test1.txt,那么d:\test1\test1.txt也会发生同样的变化,反之亦然。那么删除d:\test,d:\test1会被删除吗?不会,因为vista都一些常用命令作出了修正,使之能够理解符号连接。除非使用了 /h创建硬连接,原有对象不会被删除,但出于某些原因,/h参数即便在管理员模式下也会提示拒绝访问。