现在的位置: 首页 > 综合 > 正文

NTFS 新特性:Junction 应用详解【转】

2014年02月26日 ⁄ 综合 ⁄ 共 1657字 ⁄ 字号 评论关闭

  前些时无意发 现 Vista 的 C:/Documents and Settings 目录和 C:/Users 目录内容完全一样(可能需要调整权限你才能浏 览),而且你在这两个目录中对任意一个目录内容做改变,另一个也会做相应的改变,很是“神奇”,后来经过一番探索+搜索,终于有了结果,好东西不敢独享, 拿出来给大家分享!

开始还以为是 Vista 的什么新功能,慢慢才发现原来是 NTFS 的 Junction 目录功 能,Windows 似乎没有提供任何 Junction 相关工具,后来终于在 Sysinternals 发现了 junction.exe 这个小 工具,下面就演示 junction.exe 来介绍 junction.exe 工具。

junction.exe 是 Sysinternals 出品的命令行工具。下面开始演示其主要功能!

创建 junction 目录:
我们先用 dir 查看当前 D:/ 目录结构:

接着运行 junction D:/LINK D:/WINDOWS ,命令的意思是创建一个名为 D:/LINK 的 junction 目录,指 向  D:/WINDOWS ,该命令瞬间执行完成。接着在执行 dir 命令查看目录结构,发现多了一个名字为 LINK ,类型 为 JUNCTION 的目录。

我们去资源管理器查看一下,可以看到 D:/LINK 和 D:/WINDOWS 文件夹内容一模一 样,如果你对其中任意一个文件夹里面的内容做修改,另一个也会相应的改变,呵呵,我们也建立出了这种“神奇”的目录。而且磁盘空间使用量没有改变哦,因为 只是实现连接罢了,并不是将原文件复制以及同步。

使用连接目录时就像使用原目录一样,就像实实在在有这个目录一样,程序不会发现连接目录与普通目录有何不同。而一般的文件夹快捷方式是不行的。

下面谈谈删除:
如果你不想要这个连接目录,以及目录中的所有内容,直接按 Shift + Delete 删除好了。
如果你只是想删除这个连接目录,但是保留原目录中的内容,则应该使用 junction 的 -d 参数进行删除。例如:junction -d D:/LINK

应用举例:
假设 C: 盘空间不够,C:/Program Files 中有些软件已经找不到安装,我们可以将 C:/Program Files /???????? 中的一些软件移动到 E:/???????? 某个目录(移动时要保证这个软件没有文件处于正在使用的锁定状态),在做一个到 C: /Program Files/???????? 的 JUNCTION 目录连接,问题就圆满解决了。:)
更多应用还等待大家慢慢发掘。

其它:
junction.exe 工具只是在 NTFS 驱动器中创建和删除 junction 目录,自身并不会驻留内存占用系统资源,执行完毕会立即退出。
junction 目录是 NTFS 文件系统的一个特性,所以 junction 目录并不是 Sysinternals “发明”的,而是微软。

junction 下载地址:
http://download.sysinternals.com/Files/Junction.zip
适用于使用 NTFS 的 NT 系列系统

顺 便说下 Vista 中 C:/Users 是原目录,C:/Documents and Settings 是连接到 C:/Users 上的,也许微 软觉得 C:/Documents and Settings 太长太难记了所以在 Vista 中改 C:/Users 了,又怕部分老软件有兼容问题 所以还留个 C:/Documents and Settings 连接目录 :)

//这个教程算是简单易懂的啦。本人在学习中主要的使用流程是:

  一,mvn  clean package   编译后生成的 classes 和 lib文件夹   juction 到web项目的 WEB-INF文件夹下供调用。

 二, junction 整个web项目到tomcat 的webapps 文件夹下。

 

 

抱歉!评论已关闭.